Microsoft sql Server'dan Microsoft Excel'e veri alma hakkında

Makale çevirileri Makale çevirileri
Makale numarası: 306125 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım kılavuzda, Pubs veritabanından, Microsoft sql Server ile birlikte gelen örnek veritabanı, Microsoft Excel'e veri alma açıklar.

ActiveX Data Objects (ado) her tür veri kaynağına erişim sağlar. Birkaç nesne içeren düz nesne modeli var. ado nesne modelindeki başlıca nesneler şunlardır:
   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.
				
ado kullanarak bir kayıt kümesi döndürmek için birçok yöntem olsa da, bu makalede bağlantı ve Recordset nesnelerini concentrates.

Gereksinimleri

Microsoft sql Server çalıştıran ve Pubs veritabanı bulunan yerel bir sunucu olması gerekir.

Microsoft, aşağıdaki bilgisine sahip önerir:
  • Visual Basic for Applications yordamları Office programlarında oluşturuluyor.
  • Nesne değişkenleriyle çalışma.
  • Excel nesneleriyle çalışma.
  • İlişkisel veritabanı yönetim sistemi (rdbms) kavramları.
  • Yapılandırılmış Sorgu Dili (sql) select deyimleri.

ado nesne kitaplığına başvurma

  1. Excel'i başlatın. Yeni bir çalışma kitabı açın ve SQLExtract.xls adıyla kaydedin.
  2. Visual Basic Düzenleyicisi'ni başlatın ve vba projenizi seçin.
  3. Üzerinde Araçlar menüsünü tıklatın Başvurular.
  4. En son sürümünü seçmek için tıklatın Microsoft ActiveX Data Objects kitaplığı onay kutusunu seçin.

Bağlantı oluşturma

  1. Projeye yeni bir modül ekleyin.
  2. DataExtract adlı yeni bir alt yordam oluşturun.
  3. Aşağıdaki kodu yapıştırın veya yazın:
    ' 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
    					

Verileri ayıklama

Kayıtlarınızı ayıklamak için aşağıdaki kodu yapıştırın veya yazın:
' 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
				

Kodun çalışıp çalışmadığını doğrulama

  1. Kod çalıştırabilir.
  2. Excel'e geçmek ve verileri görüntülemek için çalışma kitabında Sayfa1'e bakın.

Sorun giderme

Kodunuz askıda görünüyor ve bir çalışma zamanı hatası alıyorsunuz, veritabanı sunucunuz çalışmıyor olabilir. ConnectionTimeout özelliği, çalışma zamanı hata dönüş süresini denetlemek için kullanabilirsiniz. Bu özelliği sıfırdan büyük bir değere ayarlayın. Değer sıfır olarak ayarlarsanız, bağlantı asla zaman aşımına uğramaz. Varsayılan değer 15 saniyedir.

Referanslar

Ek örnek kodu, aşağıdaki Microsoft Web sitesinde arama yaparak bulabilirsiniz:
http://msdn.microsoft.com/

Özellikler

Makale numarası: 306125 - Last Review: 19 Nisan 2012 Perşembe - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
Anahtar Kelimeler: 
kbhowtomaster kbmt KB306125 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:306125

Geri Bildirim Ver

 

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