beaniebear
Programmer
I have a report based on the following query :-
SELECT Employee.EmpFirstName, Employee.EmpSurname, EmployeeReportsTo.EmployeeID, EmployeeReportsTo.ReportsToID
FROM Employee INNER JOIN EmployeeReportsTo ON Employee.EmpID = EmployeeReportsTo.EmployeeID
WHERE (((EmployeeReportsTo.ReportsToID)in (SELECT EmployeeReportsTo.EmployeeID
FROM Employee INNER JOIN EmployeeReportsTo ON Employee.EmpID = EmployeeReportsTo.EmployeeID
WHERE (((EmployeeReportsTo.ReportsToID)=[managerid]));
)));
UNION SELECT Employee.EmpFirstName, Employee.EmpSurname, EmployeeReportsTo.EmployeeID, EmployeeReportsTo.ReportsToID
FROM Employee INNER JOIN EmployeeReportsTo ON Employee.EmpID = EmployeeReportsTo.EmployeeID
WHERE EmployeeReportsTo.ReportsToID =[managerid];
using a access 2003 form I want to loop through a list of manager id's pass it to the report and print them out
Dim rec
Set rec = New ADODB.Recordset
strSQL = "SELECT Employee.EmpID, Employee.EmpManager FROM Employee WHERE (((Employee.EmpManager)=Yes));"
With rec
.ActiveConnection = CurrentProject.Connection
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adOpenDynamic
.Source = strSQL
.Open
.MoveFirst
Do Until .EOF
DoCmd.OpenReport "reportstoquery", , "[managerid] ='" & .Fields(0) & "'"
.MoveNext
Loop
End With
Can anyone tell me what I am doing wrong as the manager id is not being passed to the report and the message box is popping up for me to enter the managerid manually?
Any help would be much appreciated.
SELECT Employee.EmpFirstName, Employee.EmpSurname, EmployeeReportsTo.EmployeeID, EmployeeReportsTo.ReportsToID
FROM Employee INNER JOIN EmployeeReportsTo ON Employee.EmpID = EmployeeReportsTo.EmployeeID
WHERE (((EmployeeReportsTo.ReportsToID)in (SELECT EmployeeReportsTo.EmployeeID
FROM Employee INNER JOIN EmployeeReportsTo ON Employee.EmpID = EmployeeReportsTo.EmployeeID
WHERE (((EmployeeReportsTo.ReportsToID)=[managerid]));
)));
UNION SELECT Employee.EmpFirstName, Employee.EmpSurname, EmployeeReportsTo.EmployeeID, EmployeeReportsTo.ReportsToID
FROM Employee INNER JOIN EmployeeReportsTo ON Employee.EmpID = EmployeeReportsTo.EmployeeID
WHERE EmployeeReportsTo.ReportsToID =[managerid];
using a access 2003 form I want to loop through a list of manager id's pass it to the report and print them out
Dim rec
Set rec = New ADODB.Recordset
strSQL = "SELECT Employee.EmpID, Employee.EmpManager FROM Employee WHERE (((Employee.EmpManager)=Yes));"
With rec
.ActiveConnection = CurrentProject.Connection
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adOpenDynamic
.Source = strSQL
.Open
.MoveFirst
Do Until .EOF
DoCmd.OpenReport "reportstoquery", , "[managerid] ='" & .Fields(0) & "'"
.MoveNext
Loop
End With
Can anyone tell me what I am doing wrong as the manager id is not being passed to the report and the message box is popping up for me to enter the managerid manually?
Any help would be much appreciated.