Avatar billede soeren_soelv Novice
02. juli 2008 - 22:26 Der er 1 løsning

Indsætte data i MS SQL database

Hej...

Jeg er ved at lave en makro der eksporterer data fra et excel ark til en MS SQL database:

Jeg har fikset nedenstående VB kode, men den giver lidt problemer. Jeg har en ide om at jeg ikke kan køre en løkke på min indsætData sub. Jeg får en fejl det hedder "Denne handling kan ikke udføres, fordi dataene bliver opdateret i baggrunden" - har prøvet at sætte ".Refresh BackgroundQuery" til False, hvilket forårsager yderigere problemer. Jeg kan fint eksporterer en række ved at benytte min indsætData sub, men jeg skulle gerne eksporterer samtlige rækker i Ark1. Er den nogen det kan hjælpe mig med en løsning????


Sub exportData()
Dim var, ræk
   
    ActiveWorkbook.Sheets("Ark1").Activate
    antalræk = ActiveCell.SpecialCells(xlLastCell).Row

    For ræk = 1 To antalræk
        datoC = Cells(ræk, 1)
        If datoC = "" Then
            Exit For
        End If
       
        indsætData (ræk)

    Next ræk

End Sub


Sub indsætData(ræk)
        With Selection.QueryTable
        .Connection = _
        "ODBC;DSN=XXX;UID=XXX;PWD=XXXX;APP=Microsoft Office 2003;WSID=DKSBKL152;DATABASE=XXX"
        .CommandText = Array( _
        "INSERT INTO Sølvdata.Søren.Polaris (Polaris.Felt1, Polaris.Felt2, Polaris.Felt3, Polaris.Felt4) VALUES ('" & Cells(ræk, 3) & "','" & Cells(ræk, 4) & "' , '" & Cells(ræk, 2) & "', '" & Cells(ræk, 1) & "')" _
        )
        .Refresh BackgroundQuery:=True
    End With
End Sub
Avatar billede soeren_soelv Novice
08. juli 2008 - 22:03 #1
Lukket. Benyttede ADODB.Connection.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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