Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: baggageboy am Juni 21, 2011, 10:53:31

Titel: Duplikatsüberprüfung nur in bestimmten Fällen
Beitrag von: baggageboy am Juni 21, 2011, 10:53:31
Hallo,

ich bin über die Suchfunktion nicht viel weitergekommen.

Für eine Veranstaltung mit einer Ticketausgabe muss ich bestimmten Plätzen/Sitzen Personen zuordnen.
Bei der Eingabe der Plätze soll es aber nicht zu Duplikaten kommen.

Ich habe ein Tabelle mit folgendem Aufbau:

Primärschlüssel ID:Autowert
Block:Text z.B. ("A". "B" oder aber auch "Stehplatz")
Reihe:Zahl
Platz:Zahl

Über ein Formular kann man neue Plätze eingeben. Es gibt aber auch die Möglichkeit im Block "Stehplatz" einzugeben, wo es natürlich keine Reihe und keinen Platz gibt.
Bei Eingabe von Block, Reihe und Platz soll überprüft werden, ob es diese Kombination bereits gibt (Bsp: Block "A", Reihe "1", Platz "2" wurde doppelt eingegeben).
Bei Eingabe von "Stehplatz" in Block ist diese Überprüfung nicht notwendig.

Ich möchte eigentlich keine Extra-Abfrag ob Steh- oder Sitzplatz, sondern gerne im Block dann einfach "Stehplatz" eintragen. Geht das überhaupt?
Titel: Re: Duplikatsüberprüfung nur in bestimmten Fällen
Beitrag von: DF6GL am Juni 21, 2011, 12:06:38
Hallo,

zuerst muß der "Block" eingegeben werden, nach dessen Wert richtet sich der weitere Vorgang. 




Sub Block_Beforeupdate(Cancel As Integer)
If not  Me!Block ="Stehplatz" Then
   If Dcount ("*","tblTAbelle", "Block='" & Me!Block & "' and Reihe=" & nz(Me!Reihe,0) & " and Platz=" & nz(Me!Platz,0)  )  > 0 Then
    Msgbox "Sitz belegt"
    Me.Undo
    Cancel=true
   End if
End If
End Sub
Titel: Re: Duplikatsüberprüfung nur in bestimmten Fällen
Beitrag von: baggageboy am Juni 22, 2011, 11:13:01
Vielen Dank für die Lösung