Wie richte ich ein Abfrageergebnis gleich eine Variable in VBA?
-
22-07-2019 - |
Frage
Ich habe eine Tabelle mit dem Titel MIUInfo
. Darin gibt es drei Spalten; MIUID
, Latitude
und Longitude
.
Darin Ich renne die folgende Abfrage, die die Anzahl von MIUID
s im Bereich Kriterien wird.
SELECT Count(MIUInfo.MIUID)
From MIUInfo
WHERE ((MIUInfo.Latitude Between " & minLat & " And " & maxLat & ")
AND (MIUInfo.Longitude Between " & minLong & " And " & maxLong & "))
Ich brauche das Ergebnis dieser Abfrage gleich eine Variable in VBA zu setzen, so dass ich es als Bedingung für eine Schleife verwenden kann. Ich kann nicht herausfinden, wie dies zu tun.
Auch wenn ich versuche, den DoCmd.RunSQL
Befehl zu verwenden, erhalte ich eine Fehlermeldung:
Laufzeitfehler ‚2342‘: Eine RunSQL Aktion erfordert ein Argument einer SQL-Anweisung.
Der einzige Unterschied zwischen dieser Abfrage und andere, die ich mit dem DoCmd.RunSQL
renne ist, dass alle anderen Auswahlabfragen eine neue Tabelle erzeugen.
Lösung
In Access ist der einfachste Weg, dies zu tun ist mit dem DCount Funktion:
Total = DCount("MIUInfo.MIUID", "MIUInfo", "(MIUInfo.Latitude Between " & minLat & " And " & maxLat & ") AND (MIUInfo.Longitude Between " & minLong & " And " & maxLong & ")")
Andere Tipps
Verwenden Sie DBANZAHL