Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Wert aus einer Abfrage auslesen

Begonnen von PeterW, Januar 04, 2012, 13:06:59

⏪ vorheriges - nächstes ⏩

PeterW

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?
Viele Grüße aus Berlin
Peter

MzKlMu

Hallo,
die Abfrage ist überflüssig. Du kannst die Anzahl direkt in einem Formualrfeld anzeigen:

=DomAnzahl("*";"tblRDMitgl";"Austr Is Null")
Als Steuerelementinhalt.
Gruß Klaus

PeterW

Danke, DCount  ist natürlich viel einfacher.

Aber müßte ich nicht doch den Wert aus meiner Abfrage irgendwie auslesen können?
Viele Grüße aus Berlin
Peter

MzKlMu

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.
Gruß Klaus

andlman

Guten morgen!

VBA seitig könnte eine Lösung so aussehen: 

MsgBox CurrentDb.OpenRecordset(strSQL)!AnzahlGes

Vielleicht hilft das weiter...

lG andlman

PeterW

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
Viele Grüße aus Berlin
Peter