Tietojen tuominen Microsoft SQL Serveristä Microsoft Exceliin

Artikkeleiden käännökset Artikkeleiden käännökset
Artikkelin tunnus: 306125 - Näytä tuotteet, joita tämä artikkeli koskee.
Laajenna kaikki | Kutista kaikki

Tällä sivulla

Yhteenveto

Tässä vaiheittaiset ohjeet sisältävässä oppaassa kuvataan, miten tietoja tuodaan Microsoft Exceliin Microsoft SQL Serveriin sisältyvästä Pubs-mallitietokannasta.

ActiveX Data Object (ADO) -objektit mahdollistavat minkä tahansa tietolähdetyypin käyttämisen. Se on apuobjektimalli, jossa on vain vähän objekteja. ADO-objektimallin pääobjektit ovat seuraavat:
   Objekti          Kuvaus
   -----------------------------------------------------------------------
   Connection      Viittaa yhteyteen tietolähteeseen.
   Recordset       Viittaa poimittuihin tietoihin.
   Command         Viittaa tallennettuun toimintosarjaan tai SQL-lausekkeisiin, 
                   joka tai jotka on suoritettava.
				
Vaikka Recordset-objektin palauttamiseen ADO-objektien avulla on useita tapoja, tämä artikkeli keskittyy Connection- ja Recordset-objekteihin.

Edellytykset

Käytössä on oltava paikallinen Microsoft SQL Server -palvelin, joka sisältää Pubs-tietokannan.

Microsoft suosittelee, että tunnet seuraavat:
  • Visual Basic for Applications -toimintosarjojen luominen Office-ohjelmissa
  • objektimuuttujien käsitteleminen
  • Excel-objektien käsitteleminen
  • Relational Database Management Systems (RDBMS) -käsitteet
  • SQL (Structured Query Language) SELECT -lausekkeet

ADO-objektikirjastoon viittaaminen

  1. Käynnistä Excel. Avaa uusi työkirja ja tallenna se nimellä SQLExtract.xls.
  2. Käynnistä Visual Basic Editor ja valitse VBA-projektisi.
  3. Valitse Työkalut-valikosta Viittaukset.
  4. Valitse Microsoft ActiveX Data Objects Library -kirjaston uusimman version valintaruutu.

Yhteyden muodostaminen

  1. Lisää uusi moduuli projektiin.
  2. Luo uusi Sub-toimintosarja nimeltä DataExtract.
  3. Kirjoita tai liitä seuraava koodi:
    ' Luo Connection-objekti.
    Dim cnPubs As ADODB.Connection
    Set cnPubs = New ADODB.Connection
    
    ' Anna yhteysmerkkijono.
    Dim strConn As String
    
    'Käytä SQL Server OLE DB Provider -palvelua.
    strConn = "PROVIDER=SQLOLEDB;"
    
    'Yhdistä paikallisen palvelimen Pubs-tietokantaan.
    strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"
    
    'Käytä integroitua kirjautumista.
    strConn = strConn & " INTEGRATED SECURITY=sspi;"
    
    'Avaa nyt yhteys.
    cnPubs.Open strConn
    					

Tietojen poimiminen

Kirjoita tai liitä seuraava koodi tietueiden poimimista varten:
' Luo Recordset-objekti.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset

With rsPubs
	' Määritä Connection-objekti.
	.ActiveConnection = cnPubs
	' Poimi tarvittavat tietueet.
	.Open "SELECT * FROM Authors"
	' Kopioi tietueet Taulukon1 soluun A1.
	Sheet1.Range("A1").CopyFromRecordset rsPubs
	
	' Siivoa
	.Close
End With

cnPubs.Close
Set rsPubs = Nothing
Set cnPubs = Nothing
				

Koodin toimimisen tarkistaminen

  1. Suorita koodi.
  2. Vaihda Exceliin ja tarkastele tietoja laskentataulukon taulukossa Taulukko1.

Vianmääritys

Jos koodi vaikuttaa jumittuvan ja näyttöön tulee suorituksenaikainen virhe, tietokantapalvelin ei ehkä ole käytettävissä. ConnectionTimeout-ominaisuuden avulla voit määrittää ajan, jonka suorituksenaikaisen virheen palauttaminen kestää. Määritä tälle ominaisuudelle arvo, joka on suurempi kuin nolla. Jos määrität arvoksi nolla, yhteyttä ei aikakatkaista koskaan. Oletusarvo on 15 sekuntia.

Suositukset

Lisää mallikoodia löydät seuraavasta Microsoftin verkkosivustosta:
http://www.msdn.microsoft.com/

Ominaisuudet

Artikkelin tunnus: 306125 - Viimeisin tarkistus: 8. helmikuuta 2008 - Versio: 4.0
Artikkelin tiedot koskevat seuraavia tuotteita:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
Hakusanat: 
kbhowtomaster KB306125

Anna palautetta

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com