Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:14 Der 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??
Avatar billede -anders- Juniormester
18. oktober 2004 - 14:20 #1
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?
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:21 #2
Nej da back end er My SQL
Avatar billede -anders- Juniormester
18. oktober 2004 - 14:23 #3
Okay, ved ikke så meget om My SQL som backend, mon ikke der dukker et mere klogt hoved op senere :)
Avatar billede jensen363 Forsker
18. oktober 2004 - 14:26 #4
Private Sub IndtastFelt_AfterUpdate()
   
    If IndtastFelt.Value = DLookup("[MedarbejderID]", "tblMedarbejderregister") Then
      MsgBox ("Match")
    Else
      MsgBox ("No Match")
    End If
   
End Sub
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:36 #5
Den giver en fejl der hedder object reguries
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:37 #6
Tabellen hedder medarbejder id´et hedder MedarbejderId -
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:41 #7
No match har jeg sagt medarbejder eksistere allerde - og det siger den selvom medarbejderid er der eller ej!!
Avatar billede jensen363 Forsker
18. oktober 2004 - 14:43 #8
Benytter du et ubundet felt ( IndtastFelt ) til at kontrollere ?

Private Sub IndtastFelt_AfterUpdate()
   
    If IndtastFelt.Value = DLookup("[MedarbejderId]", "Medarbejder") Then
      MsgBox ("Match")
    Else
      MsgBox ("No Match")
    End If
   
End Sub
Avatar billede jensen363 Forsker
18. oktober 2004 - 14:45 #9
IndtastFelt og MedarbedderId skal begge være enten nummerisk eller alfanummerisk
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:45 #10
min felter hedder medarbejderid som er = Indtastfelt
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:45 #11
de er nummeriske
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:47 #12
Private Sub MedarbejderId_AfterUpdate()
   
    If MedarbejderId.Value = DLookup("[MedarbejderId]", "Medarbejder") Then
      MsgBox ("Medarbejderid kan anvendes")
    Else
      MsgBox ("Medarbejder eksistere allerede")
    End If
   
End Sub
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:48 #13
Den skriver selvom jeg ved at medarbejderenr ikke eksistere så skriver det gør!!
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:52 #14
Else
      MsgBox ("Medarbejder eksistere allerede")
    End If


DEnne meddelse får jeg uanset hvad!!
Avatar billede jensen363 Forsker
18. oktober 2004 - 14:53 #15
Mit forslag forudsætter, at IndtastFelt er et ubundet felt
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:54 #16
Hmm har du ikke en kode hvr det er et bundet felt??
Avatar billede jensen363 Forsker
18. oktober 2004 - 14:56 #17
Som AAndersen nævner, giver den automatisk fejlmeddelelse, hvis du forsøger at indtaste den samme værdi direkte i tabellen
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 14:58 #18
jamen det gør det ikke når det er my sql
Avatar billede jensen363 Forsker
18. oktober 2004 - 15:11 #19
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
   
End Sub
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 15:35 #20
Okay men det skal stadig være ubundet ik´
Avatar billede jensen363 Forsker
18. oktober 2004 - 15:37 #21
Ja ... den skal være ubundet
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 17:15 #22
Så kan jeg ikke bruge den desværre
Avatar billede mugs Novice
18. oktober 2004 - 19:35 #23
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
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 19:45 #24
mugs skal jeg sætte begge ind og hvor
Avatar billede mugs Novice
18. oktober 2004 - 19:49 #25
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.
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 20:02 #26
perfekt mugs
Avatar billede maria.cand Nybegynder
18. oktober 2004 - 20:02 #27
jeg takker
Avatar billede mugs Novice
18. oktober 2004 - 20:03 #28
Selv tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester