2016-07-11 16 views
1

Ich habe ein Formular, ziehen Daten aus einer SQL Server-Tabelle. Das Formular enthält zwei ungebundene Kombinationsfelder. Benutzer wählen zuerst aus dem Kombinationsnamen, dann ComboDate, dann wird das Formular den mit den Werten verbundenen Datensatz abrufen.DoCmd.SearchForRecord mit mehreren Kriterien in Access 2013

'comboDate AfterUpdate VBA macro 
DoCmd.SearchForRecord , "", acFirst, "[Name] = " & "'" & comboName.Value & "'" & _ 
" and [Date] = " & "'" & Format(comboDate, "yyyy-mm-dd") & "'" 

Wenn ich Name = comboName.Value allein verwenden wird es den ersten Datensatz für diesen Namen abzurufen, aber wenn ich die Date Kriterien hinzufügen, oder verwenden Sie die Date Kriterien ohne Name, wird die Combobox nicht mehr den Datensatz abzurufen. Es bleibt nur auf dem aktuellen. Ich habe das Access-Datumsformat bereits an den SQL Server angepasst. Was muss noch getan werden?

+0

Das Hinzufügen von 'Form.Refresh' hat ebenfalls keine Auswirkungen. – jjjjjjjjjjj

+0

funktioniert dieser Filter als Where-Klausel in einer regulären Abfrage? – Brad

+0

@Brad Es ist nicht, ich weiß, dass es wegen des Datumsformats ist, aber irgendetwas anderes, das ich versuche, gibt mir einen Datentyp, der nicht übereinstimmt. – jjjjjjjjjjj

Antwort

0

Zugriff benötigt # Symbole für es als ein Datum zu erkennen. Es funktioniert, wenn ich die Abfrage zu diesem ändern.

'comboDate AfterUpdate VBA macro 
DoCmd.SearchForRecord , "", acFirst, "[Name] = " & "'" & comboName.Value & "'" & _ 
" and [Date] = " & "#" & Format(comboDate, "yyyy-mm-dd") & "#"