2017-07-20 2 views
-1

So könnte dies eine dumme Frage sein, aber ich konnte nicht genug Material darüber finden, oder ich verstehe es einfach nicht.Verwenden Sie SQL in Access VBA

Was ich versuche zu tun ist, verwenden Sie SQL-Anweisungen in meinem VBA-Code. Ich weiß, man kann: DoCmd.runSQL, aber das scheint nur nicht für mich arbeiten, es spuckt immer Fehlermeldungen aus.

Zum Beispiel habe ich versucht:

Set StringArray() = DoCmd.RunSQL("Select column from table") 

oder

If (DoCmd.RunSQL(Select sum(column) from table where coulmn = '" + Me.txtField + '") > 0) Then 

aber es wirft immer so etwas wie: Kompilieren Fehler. Funktion oder Variable erwartet.

Ich weiß nicht, ob ich gerade etwas falsch verstanden habe, aber ich dachte, Sie können normale SQL-Anweisungen mit DoCmd.runSQL verwenden.

+2

Ich denke, Sie brauchen einen Zeiger auf was in der Dokumentation suchen, anstatt explizite Antworten. Suchen Sie nach CurrentDb.OpenRecordset und CurrentDb.Execute – Sam

+1

Hier ist eine Einführung: http://p2p.wrox.com/access-vba/472-using-docmd-runsql-return-values.html – Andre

Antwort

1

Verwenden GetRows mit diesem Skelett:

Dim rs As DAO.Recordset 

Set rs = CurrentDb.Openrecordset("Select column from table") 

StringArray = rs.GetRows()  
rs.Close 

Set rs = Nothing 

die Dokumentation für GetRows für die ganze Geschichte nachschlagen.

+0

möchte ich auch ansprechen Sam, Andre und Vitayata, die mir nützliche Hinweise gaben. – Lukas