Mal wieder eine Abfrage Access 2003

DiddiGSB

Mitglied
Hi,

ich mal wieder mit meinen Abfragen. ;-(

Hier ein Teil der Abfrage:


SELECT tblDaten.BM, tblDaten.AZ, tblDaten.Lieferdatum, tblDaten.Rechnungsdatum

from tblDaten



Ich habe mir im Formular "frmBerichtsauswahlBMs" 3 Kontrollkästchen (OhneAZ, OhneLieferdatum, OhneRechnungsdatum) angelegt, mit den ich jede einzelne Position abfragen will. Also wenn ich das Kontrollköstchen OhneAZ anklicke, soll er mir alle Datensätze ohne AZ anzeigen, wenn nicht angeklickt, alle Datensätze.

Das selbe soll mit den Kontrollkästchen OhneLieferdatum und OhneRechnungsdatum geschehen.

Dies soll auch in Kombination funktionieren.

Also OhneAZ und OhneLieferdatum usw.


Ich hoffe einer kann mir bei der Lösung helfen

Danke im vorraus.


Gruß Dieter
 
Hi Dieter,

diese Abfrage müsstest du dann noch an den jeweiligen Datentyp in deiner Datenbank anpassen. Ansonsten müsste es so klappen:

Code:
Private Sub Befehl7_Click()

sql$ = "Select * From tblDaten"

If chkAZ.Value Or chkLD.Value Or chkRD.Value Then
    sql$ = sql$ & " Where"
End If

If chkAZ.Value Then
    sql$ = sql$ & " az = 0"
    check% = 1
End If

If chkLD.Value Then
    If check% = 1 Then
        sql$ = sql$ & " AND lieferdatum = '' OR lieferdatum = Null"
    Else
        sql$ = sql$ & " lieferdatum = '' OR lieferdatum = Null"
    End If
    check% = 1
End If

If chkRD.Value Then
    If check% = 1 Then
        sql$ = sql$ & " AND rechnungsdatum = '' OR rechnungsdatum = Null"
    Else
        sql$ = sql$ & " rechnungsdatum = '' OR rechnungsdatum = Null"
    End If
End If

Form.RecordSource = sql$

End Sub
 
Hi Dieter,

diese Abfrage müsstest du dann noch an den jeweiligen Datentyp in deiner Datenbank anpassen. Ansonsten müsste es so klappen:

Code:
Private Sub Befehl7_Click()

sql$ = "Select * From tblDaten"

If chkAZ.Value Or chkLD.Value Or chkRD.Value Then
    sql$ = sql$ & " Where"
End If

If chkAZ.Value Then
    sql$ = sql$ & " az = 0"
    check% = 1
End If

If chkLD.Value Then
    If check% = 1 Then
        sql$ = sql$ & " AND lieferdatum = '' OR lieferdatum = Null"
    Else
        sql$ = sql$ & " lieferdatum = '' OR lieferdatum = Null"
    End If
    check% = 1
End If

If chkRD.Value Then
    If check% = 1 Then
        sql$ = sql$ & " AND rechnungsdatum = '' OR rechnungsdatum = Null"
    Else
        sql$ = sql$ & " rechnungsdatum = '' OR rechnungsdatum = Null"
    End If
End If

Form.RecordSource = sql$

End Sub

Hi Tombe

danke für deine Antwort, aber leider kann ich damit nichts anfangen. Deine Antwort verstehe ich total nicht. :confused:

Ich hatte mit einer Antwort gerechnet, so in der Form wie mein Teil der geposteten Abfrage.
 
Ok, dann anders.

Da wo du jetzt die "falsche" Abfrage stehen hast löscht du das.
Dafür machst du auf deine Form einen weiteren Button dem du den Namen "Suchen" oder was auch immer gibst. In der Klick-Prozedur dieses Button fügst du dann den obigen Code ein.

Klickst du dann auf diesen Button, wird je nachdem was du angekreuzt hast die entsprechende SQL Anweisung gebildet und auch gleich ausgeführt.

Was du im Code anpassen musst, sind die Namen der Checkboxen (bei mir fagen sie alle mit "chk" an).

Gruß Thomas
 

Neue Beiträge

Zurück