Avatar billede dennispc Nybegynder
30. oktober 2004 - 21:15 Der er 7 kommentarer

Tilføje nye kunder til tabel

Jeg har en kunde tabel, hvor kunder nr. er primærnøgle og autogenereret. Jeg har en anden tabel (ordre) hvor jeg vil hente 3 felter (Fornavn,Efternavn, email) og oprette nye kunder i Kunde tabellen, hvis IKKE kombinationen af disse 3 felter allerede finde i Kunde tabellen.( dvs. en ny kunde der ikke er i tabellen).

Jeg er kommet frem til følgende:
Oprettet en Tilføjelsesforespørgsel hvor de 3 felter udvælges og indsættes i kunde tabellen.

SQL visning:
INSERT INTO Kunder ( Fornavn, Efternavn, Email )
SELECT spc.F12, spc.F13, spc.F1
FROM Kunder, spc;
Avatar billede mugs Novice
30. oktober 2004 - 21:22 #1
Skal det være SQL eller må det være VBA?
Avatar billede dennispc Nybegynder
30. oktober 2004 - 21:32 #2
jeg prøver at lave den vha Access designvisning.....
Avatar billede mugs Novice
30. oktober 2004 - 21:39 #3
Dim a As String, b As String, c As String
a = Me.fornavn
b = Me.Efternavn
c = Me.email
If DCount("*", "KUNDETABEL", "[Fornavn] ='a'") > 0 And DCount("*", "KUNDETABEL", "[Efternavn] ='b'") > 0 And DCount("*", "KUNDETABEL", "[email] ='c'") > 0 Then
MsgBox "Der er allerede poster med denne værdi."
Else
DoCmd.RunSQL "Din SQL sætning"
End If
Avatar billede jkrons Professor
31. oktober 2004 - 00:40 #4
En anden mulighed kunen vel være at lave et unikt indeks på de tre felter i kundetabellen. Så slipper du for at kode en kontrol af, om kunden findes i forvejen.
Avatar billede mugs Novice
31. oktober 2004 - 06:36 #5
jkrons > Det tænkte jeg også på. Der er jo et kundenr som er PK. I teorien kan vi jo godt have 2 kunder med det samme navn, vi kan vel også have 2 kunder med samme e-mail, og så er det jo et spørgsmål om tid og sandsynlighed inden vi rammer 2 kunder med samme navn og e-mail. Så databasen er er ikke "holdbar" i længden uyanset om vi vælger den ene eller dan anden løsning.
Avatar billede jkrons Professor
31. oktober 2004 - 09:19 #6
mugs-> Jeg tror ikke at det er sandsynligt at to forskellige mennesker har nøjagtigt samme e-mail adresse. Det ville være ensbetydende med at de havde deres e-mail hos samme udbyder, og at denne udbyder, havde givet samme adresse til to forskellige kunder, hvilket ville give ret store problemer, for de, som skulle skrive til den ene :-)

En anden ting er, at ingenb af løsningerne giver 100% sikkerhed for, at en kunde ikke oprettes flere gange i systemet. Fx vil W#illiam W. Wallace blve opfatter som forskellig fra William Wallace, og har kunden ved første henvendelse opgivet sit navn som William W, og glemmer initialet anden gang, vil systemet opfatte den anden henvendelse som en ny kunde.

Desuden er e-mail adresser ofte meget lidt varige. Så når William W. Wallce, www@mail.dk henvender sig, vil han bliver opfattet som en ny kunde, hvis han allerede står som William W. Wallace, www@post.dk

Så nogen 100% sikkerhed, kan man ikke kode sig ud af.
Avatar billede mugs Novice
31. oktober 2004 - 20:01 #7
jkrons > Jeg ser din pointe.
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