Access 97 - keine doppelten Werte eingeben

Hi,
ich habe folgendes Problem: In einem Access Formular soll in einem Feld Me![RNr] ein Wert eingegeben werden, diesen Wert darf es aber nur einmal geben. Der eingegebene Wert setzt sich aus Buchstaben, Trennzeichen und Zahlen zusammen. Wenn ich folgende Procedure verwende

Private Sub RNr_BeforeUpdate(Cancel As Integer)
If DCount("*", „Rechnungen“, „RNr=’“ & Me!RNr & „’“) > 0 Then
MsgBox „Nr gibt es schon“
Cancel = True
Me.Undo
End If
End Sub

funktioniert es, wenn aber einen Wert eingeben lassen will, welcher automatisch erzeugt wird

z.B. so

d = Date
d = Format(Date, „yyyymm“)
i = Me![ID]
Me![RNr] = „R“ & d & „-“ & i
If DCount("*", „Rechnungen“, „RNr=’“ & Me!RNr & „’“) > 0 Then
MsgBox „Nr gibt es schon“
Cancel = True
Me.Undo
End If

funktioniert es nicht. Ich erhalte immer die Meldung „Nr gibt es schon“.
Ich habe auch versucht die Eigenschaft des Feldes auf indiziert ohne Duplikate zu stellen was, aber nicht geht obwohl es keine Duplikate gibt.
Hat einer eine Idee wie ich das evtl. lösen kann.

Gruß Ortwin09

Hallo,

in welcher Ereignisprozedur steht der Code?

versuch:

Dim strRNR as String
Dim d as String 'so deklarieren

d = Date 'falsch

strRNR =„R“ & Format(Date, „yyyymm“) & „-“ & Me![ID]

If DCount("*", „Rechnungen“, „RNr=’“ & strRNR & „’“) > 0 Then
MsgBox „Nr gibt es schon“
else
Me![RNr] = strRNR
End If
.
.
.

funktioniert es nicht. Ich erhalte immer die Meldung „Nr gibt
es schon“.
Ich habe auch versucht die Eigenschaft des Feldes auf
indiziert ohne Duplikate zu stellen was, aber nicht geht
obwohl es keine Duplikate gibt.

Dann hast Du vermutlich NULL-Werte in der Tabelle…

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Super und nochmals Dank, Franz weiß immer Rat! Der Mann ist genial!
Ich habe noch ein Exit Sub eingefügt, dass ein Abbruch erfolgt.
Es funktioniert jetzt alles perfekt.

MfG Ortwin09