Du er frakoblet, venter på at Internett skal koble til igjen

Importere data fra Microsoft SQL Server til Microsoft Excel

Kundestøtte for Office 2003 er avsluttet

Microsoft avsluttet kundestøtte for Office 2003 den 8. april 2014. Denne endringen har påvirket programvareoppdateringene og sikkerhetsalternativene dine. Finn ut hvordan dette påvirker deg og hvordan du forblir beskyttet.

Sammendrag
Denne trinnvise instruksjonen beskriver hvordan du importerer data til Microsoft Excel fra Pub-databasen, en eksempeldatabase som er inkludert i Microsoft SQL Server.

ActiveX Data Objects (ADO) gir tilgang til alle typer datakilder. Det er en falt objektmodell med få objekter. Hovedobjektene i ADO-objektmodellen er:
   Objekt          Beskrivelse   -----------------------------------------------------------------------   Tilkobling      Refererer til koblingen til datakilden.   Postsett        Refererer til data som er trukket ut.   Kommando        Refererer til en lagret prosedyre eller SQL-setninger som                    må utføres.				
Det er mange måter å returnere et postsett med ADO på, men denne artikkelen tar for seg objektene Tilkobling og Postsett.

Krav

Du må ha en lokal server som kjører Microsoft SQL Server og inneholder Pub-databasen.

Microsoft anbefaler at du har kunnskap om følgende:
  • Opprette VBA-prosedyrer i Office-programmer.
  • Jobbe med objektvariabler.
  • Jobbe med Excel-objekter.
  • Konsepter for RDBMS (Relational Database Management Systems)
  • SELECT-setninger for SQL (Structured Query Language).

Referanser til ADO-objektbiblioteket

  1. Start Excel. Åpne en ny arbeidsbok, og lagre den som SQLExtract.xls.
  2. Start Visual Basic Editor og velg VBA-prosjektet.
  3. Klikk ReferanserVerktøy-menyen.
  4. Klikk for å velge den nyeste versjonen av avmerkingsboksen Microsoft ActiveX Data Objects Library.

Opprette tilkoblingen

  1. Sett inn en ny modul i prosjektet.
  2. Opprett en ny delprosedyre kalt DataExtract.
  3. Skriv eller lim inn følgende kode:
    ' Create a connection object.Dim cnPubs As ADODB.ConnectionSet cnPubs = New ADODB.Connection' Provide the connection string.Dim strConn As String'Use the SQL Server OLE DB Provider.strConn = "PROVIDER=SQLOLEDB;"'Connect to the Pubs database on the local server.strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"'Use an integrated login.strConn = strConn & " INTEGRATED SECURITY=sspi;"'Now open the connection.cnPubs.Open strConn					

Trekk ut data

Skriv eller lim inn følgende kode for å trekke ut postene:
' Create a recordset object.Dim rsPubs As ADODB.RecordsetSet rsPubs = New ADODB.RecordsetWith rsPubs	' Assign the Connection object.	.ActiveConnection = cnPubs	' Extract the required records.	.Open "SELECT * FROM Authors"	' Copy the records into cell A1 on Sheet1.	Sheet1.Range("A1").CopyFromRecordset rsPubs		' Tidy up	.CloseEnd WithcnPubs.CloseSet rsPubs = NothingSet cnPubs = Nothing				

Kontroller at koden virker

  1. Kjør koden.
  2. Bytt til Excel og se på Ark1 i arbeidsboken for å vise dataen.

Feilsøking

Hvis koden henger og du får en kjøretidsfeil, kan databaseserveren være nede. Du kan bruke egenskapen ConnectionTimeout til å kontrollere hvor lang tid det tar å gi en kjøretidsfeil. Angi en verdi som er større enn null, for denne egenskapen. Hvis du angir verdien til null, blir tilkoblingen aldri tidsavbrutt. Standardverdien er 15 sekunder.
Referanser
Du kan finne flere eksempelkoder ved å søke på følgende webområde for Microsoft:
acc2002 xl2002 XL2003 XL2007
Egenskaper

Artikkel-ID: 306125 – Forrige gjennomgang: 02/08/2008 11:14:00 – Revisjon: 4.0

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition

  • kbhowtomaster KB306125
Tilbakemelding
/html>>