DetailPage-MSS-KB

Knowledge Base

Artikel ID: 306125 - Laatste beoordeling: donderdag 19 april 2012 - Wijziging: 1.0

 

Op deze pagina

Samenvatting

Deze stapsgewijze handleiding wordt beschreven hoe gegevens in Microsoft Excel importeren uit de database Pubs, een voorbeelddatabase die wordt geleverd bij Microsoft SQL Server.

ActiveX Data Objects (ADO) bieden toegang tot elk type gegevensbron. Het is een ' flat ' objectmodel met weinig objecten. Er zijn de hoofdobjecten in het ADO-objectmodel:
   Object          Description
   -----------------------------------------------------------------------
   Connection      Refers to the connection to the data source.
   Recordset       Refers to the data extracted.
   Command         Refers to a stored procedure or SQL statements that 
                   need to be executed.
				
Er zijn vele manieren om een Recordset retourneren met behulp van ADO, is dit artikel concentreert zich op de verbinding en de Recordset-objecten.

Vereisten

U moet een lokale server, Microsoft SQL Server wordt uitgevoerd en waarop de database Pubs.

Microsoft raadt dat u kennis hebt van de volgende:
  • Visual Basic maken for Applications-procedures in de Office-programma's.
  • Werken met objectvariabelen.
  • Werken met Excel-objecten.
  • Relationeel Database Management systemen (RDBMS) concepten.
  • Structured Query Language (SQL) SELECT-instructies.

Verwijzen naar de ADO-objectbibliotheek

  1. Excel start. Open een nieuwe werkmap en sla deze op als SQLExtract.xls.
  2. Start de Visual Basic Editor en selecteer het VBA-project.
  3. Op de Hulpprogramma 's menu, klikt u op Verwijzingen.
  4. Selecteer de meest recente versie van de Microsoft ActiveX Data Objects Library het selectievakje.

De verbinding maken

  1. Voeg een nieuwe module in het project.
  2. Naam een nieuwe Sub DataExtract maken.
  3. Typ of plak de volgende code:
    ' Create a connection object.
    Dim cnPubs As ADODB.Connection
    Set 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
    					

De gegevens uitpakken

Typ of plak de volgende code in uw records ophalen:
' Create a recordset object.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset

With 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
	.Close
End With

cnPubs.Close
Set rsPubs = Nothing
Set cnPubs = Nothing
				

Controleren of de code werkt

  1. De code wordt uitgevoerd.
  2. Ga naar Excel en kijk op Sheet1 in de werkmap die de gegevens wilt weergeven.

Problemen oplossen

Als uw code verschijnt vastlopen en een runtime-fout, kan uw databaseserver niet actief. De eigenschap ConnectionTimeout kunt u bepalen hoe lang het duurt om een runtime fout. Stel deze eigenschap een waarde groter dan nul. Als u de waarde instelt op nul, wordt de verbinding nooit time-out. De standaardwaarde is 15 seconden.

Referenties

U kunt aanvullende voorbeeldcode vinden door te zoeken op de volgende Microsoft-website:
http://msdn.Microsoft.com/ (http://msdn.microsoft.com/)

De informatie in dit artikel is van toepassing op:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
Trefwoorden: 
kbhowtomaster kbmt KB306125 KbMtnl
Machine-translated ArticleMachine-translated Article
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:306125  (http://support.microsoft.com/kb/306125/en-us/ )
Delen
Extra ondersteuningsopties
Microsoft Community Support-forums
Neem rechtstreeks contact met ons op
Een door Microsoft gecertificeerde partner zoeken
Microsoft Store