Select anweisung

hallo,

ich möchte mit einem filter im bericht den familienstand abfragen. die tabelle heisst mitarbeiter, die spalte familienstand. da ich noch mehr spalten aus dieser tabelle filtern muss, möchte ich nicht für jede spalte eine neue tabelle und abfrage anlegen.
was ist an diesem code falsch?

Code:
Set rst = New ADODB.Recordset
rst.Open „SELECT Mitarbeiter.Id, Mitarbeiter.Familienstand FROM Mitarbeiter INNER JOIN Familienstand ON Mitarbeiter.Familienstand = Mitarbeiter.Id“, _
conn, adOpenStatic, adLockReadOnly

rst.Filter = „Familienstand = ‚alleinlebend‘“
If rst.BOF And rst.EOF Then
alleintext = „0“
Else
rst.MoveLast
alleintext = CStr(rst.RecordCount)
End If

rst.Filter = „Familienstand = 'geschieden“
If rst.BOF And rst.EOF Then
geschiedentext = „0“
Else
rst.MoveLast
geschiedentext = CStr(rst.RecordCount)
End If

irgendwas ist in der select-anweisung nicht richtig… wer kann mir da weiterhelfen?

Hi,

Mitarbeiter.Familienstand = Mitarbeiter.Id", 

das sieht mir sehr verdächtig aus.

wie müsste es richtig lauten? beziehe ich mich zu oft auf die tabelle? brauche ich dafür eine inner join anweisung?

Hallo,

wie müsste es richtig lauten? beziehe ich mich zu oft auf die
tabelle? brauche ich dafür eine inner join anweisung?

eigenlich müßtest Du die Felder, bzw. Feldnamen am besten kennen…

Vermutlich:

SELECT Mitarbeiter.Id, Mitarbeiter.Familienstand FROM Mitarbeiter INNER JOIN Familienstand ON Familienstand.ID = Mitarbeiter.Familienstand

weiterhin fehlt hier ein Hochkomma:

rst.Filter = "Familienstand = 'geschieden' " 
 ^

und insgesamt ist (mir) nicht klar, was

„mit einem filter im bericht den familienstand abfragen“

passieren soll.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

ich wollte ausgeben, wie viele mitarbeiter verheiratet, ledig o.ä. sind

da ich keine familienstand.id habe, wird die inner join anweisung auch nicht funktionieren… :frowning:

Entweder fragen wir unsere Kristallkugel oder du gibst uns mal deine Tabellenstruktur …

mitarbeiter.id, name, vorname, blabla…, familienstand, geburtsdatum.

Moin, jmarple,

die Anweisung

 SELECT Familienstand, count(Familienstand) AS Anzahl
 FROM Mitarbeiter
 GROUP BY Familienstand;

liefert die Familienstände und dazu die jeweilige Anzahl.

Gruß Ralf

cool - blabla ist auch drin
ich gebe es auf und damit klinke ich mich aus diesem Thread aus …