Avatar billede rickie Juniormester
05. oktober 2005 - 12:25 Der er 8 kommentarer og
1 løsning

Fejl i kode! (Private sub)

Hej,

Jeg har fået hjælp til følgende kode som i Access henter frem en kunde fra en SQL database ved indtastning af kundenr.

Når jeg afprøver siger den at der er fejl i linje:        CurrentDb.Execute (SQL)

Jeg tror at det har noget at gøre med at den ikke forstår at den skal bruge SQL og ikke "current".
Er der nogen der kan hjælpe :-)

!!!KODE!!!!
Private Sub cmdTilføj_Click()
    Dim SQL As String
    If Not IsNull(DLookup("No_", "dbo_vw_THORN_NORGE_AS$Customer", "No_=txtKundenr")) Then
        SQL = "INSERT INTO Labels ([Kundenr], [Navn], [Adresse], [By])" & vbCrLf & _
            "SELECT [No_], [Name], [Address], [City]" & vbCrLf & _
            "FROM dbo_vw_THORN_NORGE_AS$Customer WHERE No_ = " & txtKundenr.Value
        CurrentDb.Execute (SQL)
        Me.Requery
    Else
        MsgBox "Kundenr. " & txtKundenr & " kendes ikke", vbExclamation
    End If
    txtKundenr = ""
    txtKundenr.SetFocus
End Sub
Avatar billede mugs Novice
05. oktober 2005 - 13:18 #1
Prøv denne:


Dim SQL As String
If Not IsNull(DLookup("No_", "dbo_vw_THORN_NORGE_AS$Customer", "No_=txtKundenr")) Then
docmd.runsql = "INSERT INTO Labels ([Kundenr], [Navn], [Adresse], [By])" & vbCrLf & _
            "SELECT [No_], [Name], [Address], [City]" & vbCrLf & _
            "FROM dbo_vw_THORN_NORGE_AS$Customer WHERE No_ = " & txtKundenr.Value
            Me.Requery
    Else
        MsgBox "Kundenr. " & txtKundenr & " kendes ikke", vbExclamation
    End If
    txtKundenr = ""
    txtKundenr.SetFocus
Avatar billede rickie Juniormester
05. oktober 2005 - 13:38 #2
Det virker ikke! Den fejler på: docmd.runsql
Avatar billede terry Ekspert
05. oktober 2005 - 18:33 #3
rickie> Try puting the SQL into the string (SQL) then copy this into query designer to see whats happening

Dim sSQL As String

sSQL = "INSERT INTO Labels ([Kundenr], [Navn], [Adresse], [By])" & vbCrLf & _
            "SELECT [No_], [Name], [Address], [City]" & vbCrLf & _
            "FROM dbo_vw_THORN_NORGE_AS$Customer WHERE No_ = " & txtKundenr.Value


you can copy the contents from sSQL in the debug window (CTRL+G)
then write

?sSQL

Then copy/paste to query designer (SQL view)
Avatar billede rickie Juniormester
06. oktober 2005 - 08:19 #4
I´ve tried your suggestion but it does´nt work.. This is what i´ve tested.
the thing is that now i don´t get a error message but nothing is written to the table Labels. If i try to enter a number that i know is not i the table it will say that the number does not exist.....so the connection to the database is okay. Now the only problem is to save it in the table Labels :-)

The code:
Private Sub cmdTilføj_Click()
Dim sSQL As String
If Not IsNull(DLookup("No_", "dbo_vw_THORN_NORGE_AS$Customer", "No_=txtKundenr")) Then
sSQL = "INSERT INTO Labels ([Kundenr], [Navn])" & vbCrLf & _
            "SELECT [No_], [Name]" & vbCrLf & _
            "FROM dbo_vw_THORN_NORGE_AS$Customer WHERE No_ = " & txtKundenr.Value
            Me.Requery
    Else
        MsgBox "Kundenr. " & txtKundenr & " kendes ikke", vbExclamation
    End If
    txtKundenr = ""
    txtKundenr.SetFocus
End Sub
Avatar billede kabbak Professor
06. oktober 2005 - 08:31 #5
"INSERT INTO Labels ([Kundenr], [Navn])"  _
" SELECT [No_], [Name]"  _
" FROM (dbo_vw_THORN_NORGE_AS$Customer) WHERE No_ = " & txtKundenr.Value

Jeg tror ikke den er glad fot $ tegnet
Avatar billede rickie Juniormester
06. oktober 2005 - 10:05 #6
Det vil stadig ikke virke! :-)
Avatar billede terry Ekspert
06. oktober 2005 - 19:08 #7
I can take a look if you want?
eksperten@NOSPAMsanthell.dk

remove NOSPAM
Avatar billede terry Ekspert
10. oktober 2005 - 09:13 #8
It does help if we look at the code youi place :o)

06/10-2005 08:19:17
You dont do any thing with the SQL!


Docmd.runsql sSQL
Avatar billede terry Ekspert
12. oktober 2005 - 16:31 #9
Thnaks, drop a line if you still need help when you get your view running
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