Avatar billede mite Nybegynder
20. juni 2005 - 21:58 Der er 14 kommentarer og
1 løsning

On error resume next - virker ikke

Hej

Jeg forsøger at skrive til database. Et af felterne må ikke indeholde dubletter og vil derfor fange fejlen med on error resume next, men kan overhovedet ikke få den til at virke. Kan I evt. se hvad der er galt?

            SQL1 = "INSERT INTO PULJE (puljeNavn,puljeEjer,puljebeskriv,pulje_aaben) VALUES ('" & puljenavn & "','" & rs("ejernavn") & "','" & puljebeskriv & "','" & puljejanej & "')"
            set rs1 = conn.Execute(SQL1)
            On Error Resume Next

            If Err.Number <> 0 then
                    oplys = "<b>Du har skrevet et puljenavn som allerede eksistere - du må skrive et nyt - benyt tilbageknappen.</b><br>"
            end if
Avatar billede nielle Nybegynder
20. juni 2005 - 22:00 #1
Flyt din:

On Error Resume Next

- op før at du udføre din SQL.
Avatar billede mite Nybegynder
20. juni 2005 - 22:06 #2
Det har ingen betydning hvor On Error Resume Next står. Det har vel ikke noget at gør med hvilken version af access jeg bruger?
Avatar billede nielle Nybegynder
20. juni 2005 - 22:11 #3
Det har helt bestemt en betydning hvor on-error står henne. Derimod burde versionen af din database derimod ikke betyde noget.
Avatar billede mite Nybegynder
20. juni 2005 - 22:12 #4
Det jeg mener med det er at uanset hvor on error står henne så virker det ikke.
Avatar billede nielle Nybegynder
20. juni 2005 - 22:19 #5
Fjern .Number efter din Err:

If Err <> 0 Then
    oplys = "<b>Du har skrevet et puljenavn som allerede eksistere - du må skrive et nyt - benyt tilbageknappen.</b><br>"
end if
Avatar billede mite Nybegynder
20. juni 2005 - 22:23 #6
Fejlen er der stadig...den reagere stadig ikke på on error. Koden er nu:

SQL1 = "INSERT INTO PULJE (puljeNavn,puljeEjer,puljebeskriv,pulje_aaben) VALUES ('" & puljenavn & "','" & rs("ejernavn") & "','" & puljebeskriv & "','" & puljejanej & "')"
On Error Resume Next
set rs1 = conn.Execute(SQL1)

If Err <> 0 then
    oplys = "<b>Du har skrevet et puljenavn som allerede eksistere - du må skrive et nyt - benyt tilbageknappen.</b><br>"
end if

Fejlen er denne:
Microsoft JET Database Engine (0x80004005)
De ønskede ændringer af tabellen blev ikke gennemført, fordi de ville give dublerede værdier i indekset, den primære nøgle eller relationen. Rediger dataene i det eller de felter, der indeholder dublerede data, fjern indekset, eller omdefiner indekset, så dublerede indtastninger tillades, og forsøg igen.
Avatar billede softspot Forsker
20. juni 2005 - 22:36 #7
Er du sikker på at der er noget i rs("ejernavn"), som du bruger til at opbygge dit SQL-statement med?
Avatar billede mite Nybegynder
20. juni 2005 - 22:39 #8
Yeps...jeg får et ejernavn hvis jeg opretter en pulje med andet puljenavn som ikke er i databasen.
Avatar billede busschou Praktikant
20. juni 2005 - 22:40 #9
er spørgsmålet ikke snarer om der er et "puljenavn" ? , for det er vel det som skal give fejlen
Avatar billede nielle Nybegynder
20. juni 2005 - 22:40 #10
Mystikken breder sig. Nu ser koden i hvert fald rigtig ud. :^|

Jeg ville nok råde dig til at gøre det på den rigtige måde; Tjek først om der ville være tale om en dublet og reager på en passende måde hvis det er tilfældet. Det er ikke særligt pænt at basere sin kode på at der bliver smidt en fejl.
Avatar billede busschou Praktikant
20. juni 2005 - 22:42 #11
jeg synes det ser rigtig nok ud...så jeg ville nok tro at der ikke sker en fejl, men ok er måske tjekket i hoved og "bib" allerede ;o)
Men ellers så udskriv din sql sætning og sikre dig om den er ok eller ej
Avatar billede submann Nybegynder
20. juni 2005 - 22:49 #12
Hvad med sådan her ?

SQL1 = "INSERT INTO PULJE (puljeNavn,puljeEjer,puljebeskriv,pulje_aaben) VALUES ('" & puljenavn & "','" & rs("ejernavn") & "','" & puljebeskriv & "','" & puljejanej & "')"
On Error Resume Next
set rs1 = conn.Execute(SQL1)

If Err Then
    oplys = "<b>Du har skrevet et puljenavn som allerede eksistere - du må skrive et nyt - benyt tilbageknappen.</b><br>"
end if
Avatar billede mite Nybegynder
20. juni 2005 - 22:58 #13
Jeg har nu fået den til at virke...jeg havde kludret lidt i en variabel...sengen kalder vist.
Takker for hjælpen...svar lige så point kan blive omdelt.
Avatar billede nielle Nybegynder
20. juni 2005 - 23:01 #14
Svar :^)
Avatar billede submann Nybegynder
20. juni 2005 - 23:02 #15
Ingen point til mig...
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
Kurser inden for grundlæggende programmering

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