Ein gesundes neues Jahr für alle Access-Indianer
Ich habe ein kleines Problem:
Ich definiere eine Abfrage um aus einer Tabelle mit Mitgliedern die Anzahl der aktiven Mitglieder zu ermitteln.
strSQL = "SELECT Count(tblRDMitgl.MGID) AS AnzahlGes " & _
"FROM tblRDMitgl INNER JOIN tblAdressen ON tblRDMitgl.AdrID = tblAdressen.AdrID " & _
"GROUP BY tblRDMitgl.Austr HAVING (((tblRDMitgl.Austr) Is Null));"
CurrentDb.QueryDefs("qryTemp").SQL = strSQL
Das funktioniert einwandfrei und wenn ich die Abfrage anzeige mit:
DoCmd.OpenQuery "qrytemp"
dann sehe ich auch das korrekte Ergebnis.
Wenn ich nun dieses Ergebnis auslesen will z.B. mit:
MsgBox [qryTemp].[AnzahlGes]
Bekommen ich die Fehlermeldung:
Laufzeitfehler 424
Objekt erforderlich
Wo ist mein Fehler?
Hallo,
die Abfrage ist überflüssig. Du kannst die Anzahl direkt in einem Formualrfeld anzeigen:
=DomAnzahl("*";"tblRDMitgl";"Austr Is Null")
Als Steuerelementinhalt.
Danke, DCount ist natürlich viel einfacher.
Aber müßte ich nicht doch den Wert aus meiner Abfrage irgendwie auslesen können?
Hallo,
an einen Abfragewert kommst Du mit DLookup (DomWert). Syntax ähnlich. Die Abfrage muss aber als gespeicherte Abfrage vorliegen.
Mit dem gezeigten SQL Text/VBA Code weis ich keine Lösung.
Guten morgen!
VBA seitig könnte eine Lösung so aussehen:
MsgBox CurrentDb.OpenRecordset(strSQL)!AnzahlGes
Vielleicht hilft das weiter...
lG andlman
Das funktioniert einwandfrei.
Danke für die Hilfe
In meiner Anwendung habe ich aber die Variante mit dem Domainwert angewendet, Danke auch für diese Hilfe