Ich habe Zugang Frontend, die von SQL Server in Backend mit Strom versorgt wird.Pass Through-Abfrage mit userinput in Form Zugang
habe ich eine Form, die eine Benutzereingabe erfordert, basierend auf dem Eingang es einen Durchlauf durch Abfrage ausführen soll und im Unterformular führt anzuzeigen. Ich habe im Internet gelesen, dass dies nicht durch SQL-Befehl getan werden kann und es erfordert SQL-Codierung in VBA-Codierung verpackt werden.
Ich habe einen Code, um dies wie folgt aus:
Private Sub id_AfterUpdate()
Dim MyDb As Database, MyQry As QueryDef
Set MyDb = CurrentDb()
Set MyQry = MyDb.CreateQueryDef("")
MyQry.Connect = "ODBC;DSN=mikecollections;UID=***;PWD=****;DATABASE=mikecollections;"
MyQry.SQL = "select currency.tb_coins.id,documenttype,documentsubtype,documentname" & _
"from currency.tb_coins" & _
"inner join collectibles.tb_documents on tb_coins.id=collectibles.tb_documents.prodid" & _
"where currency.tb_coins.id=[forms]![test_form]![id]"
End Sub
Dieser Code sollte feuern, nachdem ich Wert im ID-Feld in das Formular ein, aber nichts passiert. Ich weiß nicht, wie ich diesen Code zum Laufen bringen kann. Ich bin neu in SQL und VBA, bitte helfen!
Ich habe die Zeile hinzugefügt und F5 gedrückt, es öffnet sich mit Makro-Box, ich sehe keine MsgBox. – Mike
Sie haben Recht, änderte ich den Namen von „id“ auf „Benutzereingabe“, jetzt, wenn ich das Feld aktualisieren, ich ein Popup-Fenster mit dem „wählen currency.tb_coins.id erhalten, Dokumente des, documentsubtype, Document & _ aus currency.tb_coins & _ Exklusionsverknüpfung collectibles.tb_documents auf tb_coins.id = collectibles.tb_documents.prodid & _ wo currency.tb_coins.id = [Formen]! [test_form]! [id], das ist im Grunde die Abfrage ohne Anführungszeichen – Mike
Vielen Dank, Zugriff/VBA konvertiert "[forms]! [Test_form]! [Userinput]" nicht in einen Wert, sondern übergibt den gesamten Code an sql server. Was sollte ein besserer Code in VBA sein, der Eingaben annehmen kann? bilden? – Mike