Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

abhängige Felder

Begonnen von krümelchen, August 23, 2010, 14:59:54

⏪ vorheriges - nächstes ⏩

krümelchen

Hallo,

ich habe ein Formular mit 3 Kombifeldern (cbo_Tag, cbo_Monat, cbo_Jahr).
Ich will, dass in mindestens einem der 3 ein Wert ausgewählt werden muss, dass aber auch immer 2 leer bleiben können. Diese Werte werden dann als Abfragekriterien verwendet und ein best. Bericht wird geöffnet.
Wie macht man das am besten?

Habs mal so versucht, was aber nicht klappt. Wo liegt der Fehler?

    If Len(cbo_Tag) = 0 Or IsNull(cbo_Tag) = True Then
        DoCmd.OpenReport ReportName, acViewPreview, , "[Monat_P]=" & Me!cbo_Monat & "And[Jahr_P]=" & Me!cbo_Jahr
    ElseIf ((Len(cbo_Tag) = 0 Or IsNull(cbo_Tag)) And (Len(cbo_Monat) = 0 Or IsNull(cbo_Monat))) = True Then
        DoCmd.OpenReport ReportName, acViewPreview, , "[Jahr_P]=" & Me!cbo_Jahr
    Else
        DoCmd.OpenReport ReportName, acViewPreview, , "[Tag_P]=" & Me!cbo_Tag & "And[Monat_P]=" & Me!cbo_Monat & "And[Jahr_P]=" & Me!cbo_Jahr
    End If



Kiui

Servus Krümelchen,

du könntest es mit einer Prüffunktion in der Art versuchen:

Function Check_Pflichtfelder() As Integer
    Check_Pflichtfelder = 0
    If Not IsNull(Me.cbo_Tag) = True Then Check_Pflichtfelder = Check_Pflichtfelder + 1
    If Not IsNull(Me.cbo_Monat) = True Then Check_Pflichtfelder = Check_Pflichtfelder + 1
    If Not IsNull(Me.cbo_Jahr) = True Then Check_Pflichtfelder = Check_Pflichtfelder + 1
End Function


Wie auch immer Du dann die Prüfung, ob eines der Pflichtfelder einen Wert hat, dann vornimmst (z.B. mittels Button o.ä.) müsste in dieser Prozedur dann mind. ein Schnipsel wie folgt stehen:

If Check_Pflichtfelder = 0 then Msgbox "Bitte Wert in Pflichtfeld auswählen!!!"

Zu Deinem Code würde ich Dir mal das Debuggen empfehlen; augenscheinlich hast Du für Deine Kombifelder teilweise den Formularbezug vergessen; Bsp.:

If Len(Me.cbo_Tag) = 0 Or IsNull(Me.cbo_Tag) = True Then ...




Hoffe, es hilft...
P.
verwendete Access-Versionen: zumeist Access 2007 (gezwungenermaßen)

Kenntnisse VBA: passabel (find ich zumindest)
Kenntnisse SQL: naja...geht so

krümelchen

Sorry, das kapiere ich nicht. Kenne micht in Access (VBA) nicht so gut aus.
Wo schreibe ich diese Funktion hin???

Kiui

Servus, Krümel

ZitatSorry, das kapiere ich nicht. Kenne micht in Access (VBA) nicht so gut aus.
...kann ich bei dem von Dir eingangs genannten Code zwar nicht ganz nachvollziehen (es sei denn, da war doch ein Anderer am Werk), aber sei's drum...

ZitatWo schreibe ich diese Funktion hin???

So Du die von mir genannte Funktion meinst: wahlweise in das entsprechende Formular oder in ein separates Modul. Wie gesagt, wie Du die Pflichtfeldprüfung dann auslöst, bleibt Dir überlassen (darüber hast Du nämlich bisher nicht gesprochen)...

Gruß
P.
verwendete Access-Versionen: zumeist Access 2007 (gezwungenermaßen)

Kenntnisse VBA: passabel (find ich zumindest)
Kenntnisse SQL: naja...geht so