select anweisung

Von: , Frage gestellt am Di, 15. Sep 2009

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?

8 Antworten zu dieser Frage

  1. Antwort von nach 14 Minuten 0 hilfreich
    Re: select anweisung

    Hi,

    Mitarbeiter.Familienstand = Mitarbeiter.Id", 
    

    das sieht mir sehr verdächtig aus.

    • Antwort von nach 25 Minuten 0 hilfreich
      Re^2: select anweisung

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

      • Antwort von nach einer Stunde 0 hilfreich
        Re^3: select 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!

        • Antwort von nach 4 Stunden 0 hilfreich
          Re^4: select anweisung

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

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

          • Antwort von nach 4 Stunden 0 hilfreich
            Re^5: select anweisung

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

            • Antwort von nach 7 Stunden 0 hilfreich
              Re^6: select anweisung

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

            • Antwort von nach einem Tag 0 hilfreich
              cool - blabla ist auch drin

              ich gebe es auf und damit klinke ich mich aus diesem Thread aus ...

  2. Antwort von nach 17 Stunden 0 hilfreich
    Re: select anweisung

    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

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!