Avatar billede kov Nybegynder
07. april 2005 - 20:16 Der er 1 kommentar og
1 løsning

SQL access fra Excel

Hej Eksperter!

Jeg har brug for at læse og skrive i en SQL database fra Excel via VBA. Jeg har lavet lidt kode som egentlig fungere udemærket, men den er temmelig langsom og virker noget klodset. Princippet i min kode er vist nedenfor:

with ActiveSheet.QueryTables.Add(Connection:="ODBC;DRIVER=SQL Server;SERVER=SERVER\DATABASEPATH;UID=user;PWD=password;APP=Microsoft Office 2003;WSID=clientID;DATABASE=database", Destination:=ActiveSheet.Range("A1"))
for i = 0 to 10
    sqlString = "INSERT INTO ""dbo"".""table"" (col1,col2,col3) VALUES (" & ActiveSheet.Cells(i, 1).Value & ",value,value)"
        .CommandText = Array(sqlString)
        .Refresh
next i
end with 

Er der nogen der kan komme med et bud på en mere "rigtig" eller i det mindste mere elegant og hurtigere løsning??

På forhånd tak
Kasper
Avatar billede kov Nybegynder
08. april 2005 - 14:32 #1
Jeg skulle måske nævne der er tre spcefikke ting der får mig til at tro at QueryTables ikke er den rigtige måde:

-Hastigheden -det går virkeligt langsomt...
-Det faktum at man skal definere en destination range -jeg ønker ikke at hente data ind i et område.
-Den omstændighed at .Refresh kaldet ikke afsluttet inden eksikveringen fortsætter. -det betyder at jeg bliver nødt til at overvåge .Refreshing parametren for at finde ud af hvornår næste kommando kan køres.
Avatar billede kov Nybegynder
28. april 2005 - 18:59 #2
Vi 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
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