Avatar billede lanthernen Nybegynder
26. september 2012 - 13:29 Der er 3 kommentarer og
1 løsning

Hente data fra MS SQL til Excel

Hej,

Jeg vil gerne hente data fra MS SQL 2008 og ind i Excel.

Jeg vil gerne have en knap i Excel og når jeg trykker på knappen henter den data fra MS SQL ud fra den forespørgsel som jeg allerede har.

Nogen der kan hjælpe?
Avatar billede supertekst Ekspert
26. september 2012 - 23:00 #1
Avatar billede lanthernen Nybegynder
29. september 2012 - 22:51 #2
Jo tak, har set den.

Det er lykkedes mig at nå så langt at jeg har knappen oprettet og når jeg klikker på denne henter den data frem fra min database så det er dejligt!

Men jeg kan kun lave en simpel forespørgsel, f.eks. select * from MyTable - jeg har brug for at ændre den så min forespørgsel fylder mere end en linje og når jeg gør det fejler det hele og forespørgslen bliver rød... SÅ hvordan laver jeg en forespørgsel der fylder flere linier?

Her er hvad jeg har indtil videre og som virker...

Private Sub CommandButton1_Click()

    'This was set up using Microsoft ActiveX Data Components version 2.8
   
    Dim cnt As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim stSQL As String
    Dim wbBook As Workbook
    Dim wsSheet As Worksheet
    Dim rnStart As Range
   
   
    Const stADO As String = "Provider=SQLOLEDB.1;Integrated Security=SSPI;" & _
    "Persist Security Info=False;" & _
    "Initial Catalog=X1;" & _
    "Data Source=X2"
    'where X1 is SQL Database & X2 is SQL Server
   
    Set wbBook = ActiveWorkbook
    Set wsSheet = wbBook.Worksheets(1)
   
    With wsSheet
        Set rnStart = .Range("A10")
    End With
   
    stSQL = "SELECT * FROM MyTable"
   
    Set cnt = New ADODB.Connection
   
    With cnt
        .CursorLocation = adUseClient
        .Open stADO
        .CommandTimeout = 0
        Set rst = .Execute(stSQL)
    End With
   
    'Here we add the Recordset to the sheet from A10
    rnStart.CopyFromRecordset rst
   
    'Cleaning up.
    rst.Close
    cnt.Close
    Set rst = Nothing
    Set cnt = Nothing

End Sub
Avatar billede lanthernen Nybegynder
02. oktober 2012 - 22:26 #3
Jeg har løst det - bruger en stored procedure. Smid er svar og du får point ;-)
Avatar billede supertekst Ekspert
02. oktober 2012 - 23:13 #4
Ok - et svar og tak..
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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