Avatar billede nca Juniormester
05. august 2002 - 14:43 Der er 6 kommentarer og
2 løsninger

Ungå dubletter

Hvorledes undgår jeg, at den samme post indtastes 2 gange. Der er 4 felter, der skal være ens, før man kan afgøre om det er den samme post.
1) Navn
2) Adresse
3) Postnummer
4) Kundetype

Jeg forestiller mig at man kan lave en søgning i basen FØR indsættelsen. Ud fra antal poster i søgningen kan man så finde ud af om posten findes i forvejen.
Er der én der kan skrue et eksempel sammen?
Avatar billede proaccess Nybegynder
05. august 2002 - 14:50 #1
Du kan lave et UNIKT index på de fire felter i tabellen, derefter håndterer Access selv om der sker et regelbrud.

Dette gøres i tabel-design...
Avatar billede hossein Nybegynder
05. august 2002 - 14:57 #2
i tabeldesign vælg: Indekseret-> Ja ingen dubletter
Avatar billede psyclown Nybegynder
05. august 2002 - 15:01 #3
prøv at kig på linket nedenunden, det kan være du kan bruge det:

http://www.planet-source-code.com/vb/default.asp?lngCId=7722&lngWId=4
Avatar billede nca Juniormester
05. august 2002 - 15:06 #4
proaccess og hossein>>>
Betyder det ikke at jeg fx. ikke kan ha' 2 poster hvor "navn" er ens medens de øvrige felter er forskellige?
Avatar billede psyclown Nybegynder
05. august 2002 - 15:22 #5
jo
Avatar billede hossein Nybegynder
05. august 2002 - 15:27 #6
jo
Avatar billede nca Juniormester
05. august 2002 - 16:01 #7
Efter at ha' fulgt hjælpen til punkt og prikke samt fjernet den primære nøgle fra det unikke index fungerer programmet som det skal. Kun hvis alle 4 oplysninger er ens kommer der en fejlmeddelelse.
Jeg mangler nu bare at kunne erstatte standardmeddelelsen med min egen ("Kunden eksisterer allerede") og så skal man kunne stoppe eller rette indtastningen.
Avatar billede sjap Praktikant
05. august 2002 - 17:06 #8
I formularen skal du oprette en hændelsesprocedure til hændelsen "Ved fejl" som f.eks.:

Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const conDuplicateKey = 3022 '3022 er duplicate indeks
Dim strMsg As String

If DataErr = conDuplicateKey Then
    Response = acDataErrContinue
    strMsg = "Kunden eksisterer allerede"
    MsgBox strMsg
End If

End Sub
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