18. oktober 2004 - 14:14Der er
27 kommentarer og 1 løsning
Tjek om medarbejder ID eksistere -
MedarbejderId - jeg har en formular med med arbejder informationer. Når man indtaster et medarbejderid som er den primærenøgle i tabeellen skal den undersøge om dette allerede ekssistere - hvis det gør det skal der komme en meddelse - er dette muligt??
Hej Maria, hvis medarbejderID er den primær nøgle tillades dubletter jo ikke, vil access ikke give en fejl automatisk når du forlader feltet medarbejderID, hvis du har indtastet et medarbejderid der allerede findes?
If MedarbejderId.Value = DLookup("[MedarbejderId]", "Medarbejder") Then MsgBox ("Medarbejderid kan anvendes") Else MsgBox ("Medarbejder eksistere allerede") End If
Hvis du benytter den løsning jeg har skitseret, kan du efterfølgende indsætte værdien i tabellen i de tilfælde hvor medarbejderId ikke findes i forvejen :
Private Sub IndtastFelt_AfterUpdate()
If IndtastFelt.Value = DLookup("[MedarbejderId]", "Medarbejder") Then MsgBox ("Medarbejderid kan anvendes") MedarbejderId.Value = IndtastFelt.Value Else MsgBox ("Medarbejder eksistere allerede") End If
Denne kontrollerer, at en ny post ikke oprettes med eksisterende id:
Dim VARa As Long If Me.NewRecord Then VARa = Me.medarbejderid If DCount("*", "medarbejder", "[medarbejderid] =" & VARa) > 0 Then MsgBox "Der er allerede poster med denne værdi." Me.Undo Exit Sub End If End If
Og hvis det ikke er en ny post:
Dim VARa As Long VARa = Me.medarbejderid If DCount("*", "medarbejder", "[medarbejderid] =" & VARa) > 0 Then MsgBox "Der er allerede poster med denne værdi." Me.Undo Exit Sub End If
Kun den ene afhængig om det er en ny post som jeg skriver. Indledningsvis sæt den ind på en kommandoknap for atr se om den fungerer. Senere kan du flytte den til feltet medarbejderid i BeforeUpdate.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.