Kombinationsfeld mit eigenen Werten füllen

Hallo ihr Lieben,

also vermutlich ist mein Problem leichter als ich es im Moment empfinde. Aber dummerweise finde ich nicht die richtigen Worte um danach zu googlen :frowning:
Also uffjepasst:
Ich hab eine Datenbank in welcher ich Unternehmen mit Verträgen habe.
Es gibt vier verschiedene Arten von Verträgen. Nun möchte ich einen Filter bauen um zu guggen wann Vertrag 1 nicht vorhanden ist / Vertrag 2 nicht usw usw.
Also nach Unternehmensnamen / Bezirk etc filtern funktioniert schon ganz gut. Jetzt ist das Problem das in der Tabelle die Verträge nicht einfach mit „ja“ „nein“ hinterlegt sind sondern mit dem kompletten Pfad wo der Vertrag liegt.

Ich möchte aber im Filter nur „vorhanden“ „nicht vorhanden“ auswählen und dann alle Ergebnisse dafür bekommen.
also z.b.
Vertrag2

vorhanden, nicht vorhanden [x]

-> ich bekomme alle Datensätze bei denen Vertrag 2 leer ist!

Wie schaff ich es jetzt das die Kombobox assoziiert: „Aha, die hat vorhanden angeklickt jetzt will ich ihr mal alle geben wo die Zeile „Vertrag“ nicht leer ist“

Ich hoffe ich konnte euch erklären was ich meine :confused: Es ist immer schwer eigene Worte für sowas zu finden - irgendwie passt meine Beschreibung immer noch nicht so exakt oder?

Hoffe es kann mir jemand helfen
Viele Grüße
Julia

Hallo meine Liebe,

Deine Beschreibung ist schon etwas eigenwillig… :wink:

Wenn also im Kombifeld („Kombi1“)
„vorhanden“
und
„nicht vorhanden“

auswählbar ist, dann könnte der „Filter“ so aussehen:

Sub Kombi1_Afterupdate()
If Me!Kombi1= „vorhanden“ Then
Me.Filter=„Vertrag is not null“
Else
Me.Filter=„Vertrag is null“
End If
Me.FilterOn=true
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo Franz, und Rest! :wink:

ja ich weiß, nen Buch sollte ich glaube ich nicht schreiben :wink:
Also hab deine Version mal versucht (wobei ich zugeben muss das ichs vorher schon ähnlich probiert hatte aber es nich geklappt hat) aber leider funktioniert es nicht. Trotzdem vielen lieben Dank!!

If Me!Kombi1= "vorhanden" Then
Me.Filter="Vertrag is not null"
Else
Me.Filter="Vertrag is null"
End If
Me.FilterOn=true

der Gesamte Ausdruck hinter „Kombi1“ dürfte doch gar nicht in Anführungszeichen stehen oder? Steht er in Anführungszeichen macht mein Filter gar nix, ohne bringt er mir allerdings auch nur eine Fehlermeldung :wink:

Ich zeig dir einfach mal wie ichs bisher gelöst habe:

Function filter\_setzen()

Dim s As String

s = ""

If Len(Me.cbHafNam) \> 0 Then
 s = "KName = '" & Me.cbKName & "'" // KName = Feld in
 //Datenblattansicht , cbKName = Kombobox
End If

If Len(Me.cbBezirk) \> 0 Then
 If Len(s) \> 0 Then
 s = s & " AND "
 End If
 s = s & "BezirkName = '" & Me.cbBezirk & "'"
End If

If Len(Me.cbUnternehmen) \> 0 Then
 If Len(s) \> 0 Then
 s = s & " AND "
 End If
 s = s & "UnternehmenName = '" & Me.cbUnternehmen & "'"
End If
Me.subfrmFilter.Form.Filter = s
Me.subfrmFilter.Form.FilterOn = True
Me.Refresh

End Function

subfrmFilter --> Subformular in welcher die Datensätze angezeigt werden

Naja und genau da müsste ich eben noch die combobox für die Verträge unterbringen *seufz*

Vielleicht hab ich mich jetzt deutlicher ausgedrückt?
Hoffe ich bin nicht zu begriffsstutzig :wink:
LG
Julia

Hallo Julia,

ja ich weiß, nen Buch sollte ich glaube ich nicht schreiben :wink:

manchmal ist es notwendig :smile:

Ich vermute, es handelt sich schlicht und einfach um eine Verwechselung:
Überschrift = Kombinationsfeld
Text = Combo-Box

Was du da hast, ist eine Optionsgruppe!? Diese liefert entsprechend deiner Einstellungen 1,2,3, usw. also Zahlenwerte.

also wäre dieser Code richtig:

If Me!Kombi1= 1 Then
Me.Filter=„Vertrag is not null“
Else
Me.Filter=„Vertrag is null“
End If

oder kürzer:

Me.Filter = IIf(Me!Kombi1= 1,"[Vertrag] is not null";"[Vertrag] is null")

--------------------------------ein wenig optimiert :smile:
Function filter_setzen()

Dim s As String

s = „“

If Len(Me.cbHafNam) > 0 Then
s = „KName = '“ & Me.cbKName & „’“ // KName = Feld in
//Datenblattansicht , cbKName = Kombobox

hier meinst du wieder ein Kombinationsfeld!?

End If

If Len(Me.cbBezirk) > 0 Then
If Len(s) > 0 Then s = s & " AND "
s = s & „BezirkName = '“ & Me.cbBezirk & „’“
End If

If Len(Me.cbUnternehmen) > 0 Then
If Len(s) > 0 Then s = s & " AND "
s = s & „UnternehmenName = '“ & Me.cbUnternehmen & „’“
End If
Me.subfrmFilter.Form.Filter = s
Me.subfrmFilter.Form.FilterOn = True
Me.Refresh

End Function

Naja und genau da müsste ich eben noch die combobox für die
Verträge unterbringen *seufz*

Wenn ich dich richtig verstanden habe, meinst du eine Optionsgruppe?

Vielleicht hab ich mich jetzt deutlicher ausgedrückt?

nein :smile:

Hoffe ich bin nicht zu begriffsstutzig :wink:

nö, war ja vermutlich nur eine Verwechselung der Begriffe?
Die richtigen Access-Bezeichnungen sind halt notwendig, damit wir alle von den selben Dingen reden.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

doch :frowning: *schäm*
Hallo Wolfgang!

zu meinem entsetzen muss ich feststellen das ich des Englischen nicht mächtig bin. Ich meinte schon Kombinationsfeld - ich glaube mein Lehrer hat mal von combobox in diesem Zusammenhang geredet und ich habe das einfach als Tatsache aufgegriffen und beibehalten, es aber nie in Frage gestellt.
Das eine Box ja eigentlich eine Box ist daran habe ich nicht gedacht :frowning:

Also ich meine schon Kombinationsfeld wobei ich bei 2 Optionen das auch mit Boxen lösen könnte und es tatsächlich sogar schicker aussähe ^^ Ich versuche es einfach mal

LG
Julia