Wie kann ich eine Schleife durch eine MS-Access mit VBA und recordset zuweisen von Variablen auf die Ergebnisse?
Mein VBA ist ziemlich rostig und ich scheinen zu sein keine Ahnung. Ich bin mit MS Access 2010 wenn es darauf ankommt.
Habe ich die Ergebnisse einer Abfrage, die zwei Felder (Feld1 text und Feld2 Doppel) und fünf Datensätze und ich möchte zuweisen Feld2 Werte zu fünf verschiedenen Variablen basierend auf dem, was ist in Feld1. Für mich ist das eine Art case-Anweisung - wie würde ich dies in VBA über recordset ?
Private Sub test()
Dim myRS As DAO.Recordset
Dim db As Database
Dim strSQL As String
Dim v1, v2, v3, v4, v5 As Double
' Pretend strSQL is a different query that gives five records
Set dbs = CurrentDb
strSQL = "SELECT Field1, BigNumber FROM tmp1"
Set myRS = dbs.OpenRecordset(strSQL)
Do While Not myRS.EOF
v1 = ? ' I want v1 = Field2 when Field1="A"
v2 = ? ' I want v2 = Field2 when Field1="B"
v3 = ? ' I want v3 = Field2 when Field1="C"
v4 = ? ' I want v4 = Field2 when Field1="D"
v5 = ? ' I want v5 = Field2 when Field1="E"
Loop
End Sub
Vielen Dank !
Was machst du mit den Variablen v1-v5? Ich denke ich habe eine bessere Lösung als Schleife durch das dataset, aber ich hätte wissen müssen, was das Ende des Spiels ist, zu wissen, für sicher.
InformationsquelleAutor user918967 | 2013-02-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe Aktualisiert, der code. Jetzt versuchen.
Ich habe zu entfernen ! aus dem code ist das ein problem ? Es gibt mir immer noch den gleichen Fehler.
Versuchen Sie Es Jetzt
InformationsquelleAutor
Ich denke, Sie sind fehlt
MoveNext
:InformationsquelleAutor gunslingor
In diesem Fall können Sie genauso gut mit DlookUp und vergessen Sie die recordset:
Wenn Ihre sql komplizierter ist, sollte es möglich sein zu bauen, um zurückzukehren, 5 Spalten, oder, um die Daten zurückzugeben, die in eindeutiger Weise. Fast alles ist besser als zu Fuß ein recordset.
Wenn ich zurückkehre, fünf Spalten, dann brauche ich noch zuordnen, um die Ergebnisse zu fünf Variablen, oder ich mache nur 5 Abfragen und zuordnen der Ergebnisse zu den Variablen - es ist viel mehr Tippen, das ist sicher.
Wenn Sie wieder 5 Spalten, die Sie nicht zu Fuß ein recordset, v1=col1, v2=col2, die viel weniger eingeben.
InformationsquelleAutor Fionnuala