Hi, I am new to Access 2003 VBA, new to programming and born BC (Before Computers). I would appreciate if anybody can tell me why the Requery in this code works fine for the "ELSE" part but not for the "IF" part. The query (My_Query) is updated in both cases and if I open the form "sfrmOpenItemDatasheet" manually after the query was run then it works OK.
Any help will be appreciated.
Dave
Private Sub cboMeetingType_Click()
Dim strMeetingType As String
Dim sqltext As String
Dim qdfNew As DAO.QueryDef
strMeetingType = Me![cboMeetingType].Value & ""
If ([strMeetingType] = "") Then
sqltext = "SELECT [Open Item].Nr, [Open Item Type].Nr, [Open Item Type].[Code 1], [Open Item].Type, [Open Item].Responsible, " & _
"[Open Item].[Due Date], [Open Item].[Date Done], [Open Item].Title, Employees.Nr, Employees.Initials, [Open Item].SNr," & _
"[Open Item].[Open Item] & '-' & [Open Item].[Ref Nr] AS OpenItemFull " & _
"FROM [Open Item Type] RIGHT JOIN (Employees RIGHT JOIN [Open Item]" & _
"ON Employees.Nr = [Open Item].Responsible) ON [Open Item Type].Nr = [Open Item].Type " & _
"ORDER BY [Open Item].Nr;"
With CurrentDb
'is run for the first time it would be better to check to see if the querydef exists and then delete it
.QueryDefs.Delete ("My_Query")
' createquerydef command line follows
Set qdfNew = .CreateQueryDef("My_Query"
, sqltext)
'the recordsource of the report is called My_Query.
[Forms]![frmOpenItemMain].
[Form]![sf
rmOpenItem
Datasheet]
.Requery
.Close
End With
Else
sqltext = "SELECT [Open Item].Nr, [Open Item Type].[Code 1], [Open Item].[Due Date], [Open Item].[Date Done]," & _
"[Open Item].Title , Employees.Initials, [Open Item].SNr, [Open Item].[Open Item] & '-' & [Open Item].[Ref Nr]" & _
"AS OpenItemFull " & _
"FROM [Meeting Type] RIGHT JOIN ([Open Item Type] RIGHT JOIN (Employees RIGHT JOIN [Open Item]" & _
"ON Employees.Nr=[Open Item].Responsible) ON [Open Item Type].Nr=[Open Item].Type)" & _
"ON [Meeting Type].Nr=[Open Item].[Meeting Type]" & _
"WHERE ((([Meeting Type].Description) = Forms!frmOpenItemMain!sfrm
OpenItemFi
lter.Form!
[cboMeetin
gType]))" & _
"ORDER BY [Open Item].Nr;"
With CurrentDb
' is run for the first timeit would be better to check to see if the querydef exists and then delete it
.QueryDefs.Delete ("My_Query")
' createquerydef command line follows
Set qdfNew = .CreateQueryDef("My_Query"
, sqltext)
'the recordsource of the report is called My_Query.
[Forms]![frmOpenItemMain].
[Form]![sf
rmOpenItem
Datasheet]
.Requery
.Close
End With
End If
End Sub
Start Free Trial