Avatar billede stig3 Mester
08. august 2001 - 14:01 Der er 2 kommentarer og
1 løsning

Problemer med at udfylde sqlDB

Jeg har en telefonbog, som jeg gerne vil fylde ud med nogle data fra en AccessDB. Koden forløber fint, men når den er færdig er SQL databasen ikke udfyldt.

Private Sub Udfyld_Click()
    \'Dim ws As Workspaces
    Dim dbtil, dbfra As Database
    Dim rs As Recordset
    Dim antal As Integer
    Dim sql, values, samlSQL As String
       
    Set ws = Workspaces(0)
    Set dbtil = ws.OpenDatabase(\"\", dbDriverComplete, False, \"ODBC;DATABASE=telefonbog;UID=sa;PWD=;DSN=telefonbog_sql\")
           
    Set dbfra = ws.OpenDatabase(\"F:\\DATABASE\\Office2000dk\\Intranetdatabaser\\Telefonbog\\TelefonBog.mdb\")
    Set rs = dbfra.OpenRecordset(\"TelefonData\")
   
    antal = 0
    sql = \"Insert into Person (Navn, Initialer, Afdeling, Stillingbetegn, lokal, Email) Values \"
    While Not (rs.EOF)
        \'Navn
        values = \"(\'\" & rs(\"fornavn\")
        If Not (rs(\"mellemnavn\") = \" \") Then
            values = values & \" \" & rs(\"mellemnavn\")
        End If
        values = values & \" \" & rs(\"efternavn\") & \"\', \"
       
        \'Initialer
        values = values & \"\'\" & rs(\"Initialer\") & \"\', \"
       
        \'Afdeling
        values = values & \"\'\" & rs(\"kontor\") & \"\', \"
       
        \'Stillingsbetegn
        values = values & \"\'\" & rs(\"Titel\") & \"\', \"
               
        \'Lokal
        values = values & \"\'\" & rs(\"telefon_nummer\") & \"\', \"
               
        \'Email
        values = values & \"\'\" & rs(\"Initialer\") & \"@arf.dk\')\"
               
        samlSQL = sql & values
        \'MsgBox samlSQL
        dbtil.Execute (samlSQL)
       
        antal = antal + 1
        rs.MoveNext
    Wend
   
    \'Direktørerne skal med
    \'Her tages afdelingsnavnet i stedet for kontornavnet(da det ikke eksisterer)
    Set rs = dbfra.OpenRecordset(\"TelefonDataCF\")
    While Not (rs.EOF)
        \'Navn
        values = \"(\'\" & rs(\"fornavn\")
        If Not (rs(\"mellemnavn\") = \" \") Then
            values = values & \" \" & rs(\"mellemnavn\")
        End If
        values = values & \" \" & rs(\"efternavn\") & \"\', \"
       
        \'Initialer
        values = values & \"\'\" & rs(\"Initialer\") & \"\', \"
       
        \'Afdeling
        values = values & \"\'\" & rs(\"afdelinger\") & \"\', \"
       
        \'Stillingsbetegn
        values = values & \"\'\" & rs(\"Titel\") & \"\', \"
               
        \'Lokal
        values = values & \"\'\" & rs(\"telefon_nummer\") & \"\', \"
               
        \'Email
        values = values & \"\'\" & rs(\"Initialer\") & \"@arf.dk\')\"
               
        samlSQL = sql & values
        dbtil.Execute (samlSQL)
       
        antal = antal + 1
        rs.MoveNext
    Wend
   
    MsgBox (antal & \" - \" & samlSQL)
End Sub
Avatar billede stig3 Mester
08. august 2001 - 14:14 #1
Det her lidt forenklede eksempel giver heller intet resultat:
Private Sub Command1_Click()
    Dim dbtil, dbfra As Database
    Dim rs As Recordset
    Dim antal As Integer
    Dim sql, values, samlSQL As String
       
    Set dbtil = OpenDatabase(\"F:\\DATABASE\\Office2000dk\\Intranetdatabaser\\Telefonbog\\Person.mdb\")
    sql = \"Insert into dbo_Person (Navn, Initialer, Afdeling, Stillingbetegn, lokal, Email) Values (\'1\',\'2\',\'3\',\'4\',\'5\',\'6\')\"
    MsgBox sql
    dbtil.Execute (sql)

End Sub
Avatar billede stig3 Mester
08. august 2001 - 14:15 #2
Person.mdb er en AccessDB, der har en \"sammenkædet\" tabel til sqldatabasen.
Avatar billede stig3 Mester
10. august 2001 - 08:28 #3
Der var ikke den store respons......... lukker
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