Neuigkeiten:

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

Mobiles Hauptmenü

Auswahlformular über Kontrollkästchen für Bericht

Begonnen von georg5, September 10, 2012, 18:09:39

⏪ vorheriges - nächstes ⏩

georg5

liebe Profis.........

ersuche Unterstützung für nachfolgendes Problem (access 2007-2010)

In einer Tabelle befinden sich zahlreiche Datenzeilen die entsprechend durch Kontrollkästchen zB frei Strecke, zyklischer Vortrieb markiert wurden. Anhand dieser Kontrollkästchen möchte ich auf Grundlage eines Suchformulares die entsprechende Daten für einen Bericht "Abfrage bescheid) erstellen. Das Suchformular enthält alle Kontrollkästchen der Tabelle.
Ich habe bereits einen sehr ähnlichen Bericht im Formum entdeckt jedoch komme ich jetzt nicht mehr weiter. Irgend entwas stimmt da nicht.   
Bekomme immer die Fehlermeldung: syntaxfehler (fehlender operator)........


Private Sub Befehl5_Click()
If Not IsNull(Me!KKfreieStrecke) Then strKrit = strKrit & " And frei Strecke = " & Me!KKfreieStrecke
If Not IsNull(Me!KKzyklischerVortrieb) Then strKrit = strKrit & " And zyklischer Vortrieb = " & Me!KKzyklischerVortrieb

"hier kommen noch einige Kriterien dazu!

If Len(strKrit) > 0 Then
strKrit = Mid(strKrit, 6)
End If
DoCmd.OpenReport "Abfrage bescheid", acPreview, , strKrit
End Sub

Danke für eure hilfe

bahasu

Zitat von: georg5 am September 10, 2012, 18:09:39
If Not IsNull(Me!KKfreieStrecke) Then strKrit = strKrit & " And frei Strecke = " & Me!KKfreieStrecke
If Not IsNull(Me!KKzyklischerVortrieb) Then strKrit = strKrit & " And zyklischer Vortrieb = " & Me!

Hi,
Deine Namen sind wohl der Verursacher:
frei Strecke besser [frei Strecke] oder frei_Strecke
zyklischer Vortrieb  besser [zyklischer Vortrieb] oder zyklischer_Vortrieb 

Harald
Servus

MzKlMu

Hallo,
wobei auch das Datenmodell zweifelhaft ist. Ja/Nein Felder zur Auswahl von Eigenschaften/Atributen sind nicht zu empfehlen.
Gruß Klaus

georg5

DANKE es funkt.......




Private Sub Befehl5_Click()
If Not IsNull(Me!KKfreieStrecke) Then strKrit = strKrit & " And frei_Strecke = " & Me!KKfreieStrecke
If Not IsNull(Me!KKzyklischerVortrieb) Then strKrit = strKrit & " And zyklischer_VT = " & Me!KKzyklischerVortrieb
If Not IsNull(Me!KKkont_VT) Then strKrit = strKrit & " And kont_VT = " & Me!KKkont_VT
If Not IsNull(Me!KKDeponie) Then strKrit = strKrit & " And Deponie = " & Me!KKDeponie
If Not IsNull(Me!KKSicherheit) Then strKrit = strKrit & " And Sicherheit = " & Me!KKSicherheit
If Not IsNull(Me!KKBE) Then strKrit = strKrit & " And BE = " & Me!KKBE
If Not IsNull(Me!KKAnrainer) Then strKrit = strKrit & " And Anrainer = " & Me!KKAnrainer
If Len(strKrit) > 0 Then
strKrit = Mid(strKrit, 6)
End If
DoCmd.OpenReport "Abfrage bescheid", acPreview, , strKrit
End Sub

georg5

jetzt bin ich doch noch auf einen Fehler draufgekommen:

Jede datenzeile hat in der Tabelle die jeweiliegen markierungen wie "frei_Strecke, zyklischer_Vortrieb........... Es kommt jedoch auch vor dass eine Datenzeile mehrfach markiert werden muss, eben zB frei_Strecke und zyklischer_Vortrieb.
Bei der jetztigen Auswahl werden diese aber nur angezeigt wenn ich im Suchformular auch beide markiert werden. Ich möchte jedoch dass bei der Auswahl zb. nur "frei_Strecke" im Suchformular auch diese Datenzeilen die Mehrfachmarkierungen haben angezeigt werden.
Gibts da eine Lösung
nochmals Danke

MzKlMu

Hallo,
die beste Lösung wäre hier eine klassische n:m Beziehung mit einer Zwischentabelle aufzubauen und auf die Ja/Nein Felder zu verzichten.
Hierzu ist auch für die Atribute (frei Strecke, zyklischer Vortrieb) eine eigene Tabelle anzulegen, die die Atribute als Feldinhalte und nicht als Feldname verwendet. frei Strecke zyklischer Vortrieb usw. als jeweils ein Datensatz.
In der Zwischentabelle werden die zutreffenden Atribute (bzw. deren Primärschlüssel) als jeweils ein Datensatz gespeichert. Auswahl erfolgt mit einem Kombifeld in einem Hauptformular mit Unterformular.

Diese wäre der korrekte Aufbau für eine Datenbank. Ja/Nein Felder sind ungeeignet. Siehe Link:

Microsoft Access Tips for Casual Users
Gruß Klaus

bahasu

Hi,

das Kontrollkästchen kann die Zustände "ja" (bzw. true), "nein" (bzw. false), "null" haben.
Wie setzt Du das auf "Null"?

Vielleicht hilft es, Deine Bedingung umzuformulieren:
If Nz (Me!KKSicherheit) = true then ...

Harald
Servus

georg5

Danke harald es funktioniert jetzt !
Danke  MzKlMu werde deinen Vorschlag zur eleganteren Ausführung bei zeiten berücksichtigen.....jedoch kann ich mit sicherheit ausschließen dass noch zusätzliche Kriterien hinzukommen oder wegfallen...aber deshalb wäre deine lösung trotzdem besser denn nix is fix.

DANKE