Nasıl yapılır: tablo, Access'ten DAO kullanarak Excel'e Al

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

Özet

Microsoft Excel'in yukarıda listelenen sürümlerde, veri erişim nesneleri (DAO) Visual Basic for Applications, Microsoft Access'ten bir tabloya almak için kullanabilirsiniz.

Microsoft Access'ten bir tabloya almak için DAO nasıl kullanabileceğinize bir örnek için <a0></a0>, bu makalede açıklanan makro sevk Northwind veritabanındaki hem Windows 95 için Microsoft Office Professional sürüm 7.0 ve Microsoft Office 97 Professional için Windows ile birlikte kullanır. Microsoft Office Professional için Windows 95, sürüm 7.0, yüklendiğinde, varsayılan seçeneklerini seçtiyseniz, veritabanı bulunur:
   \MSOffice\Access\Samples\Northwind.mdb
				
Office 97 Professional için Windows yüklendiğinde varsayılan seçeneği seçilirse, veritabanına bulunur:
   \Program Files\Microsoft Office\Office\Samples\Northwind.mdb
				
bilgisayarınızdaki farklı bir klasörde bulunan Northwind veritabanını, yeniden çalıştırmadan önce aşağıda verilen kodu düzenlemeniz gerekir.

Makronuz DAO kullanmak için <a0></a0>, Microsoft DAO nesne kitaplığı başvurusu veya "kullanıcı tanımlı türü tanımlı değil" hatası alabilirsiniz. Microsoft Excel sürüm 7.0 kitaplıkta başvurmak için <a0></a0>, bir modül sayfasına etkinleştirmek, başvurular, Araçlar menüsünden Seçenekler'ı tıklatın ve "Microsoft DAO 3.0 Nesne Kitaplığı" seçeneğini seçin. Microsoft Excel sürüm 97'de bu kitaplığı başvurmak için <a0></a0>, Visual Basic Düzenleyicisi'nde Araçlar menüsünden başvurular'ı tıklatın ve "Microsoft DAO 3.5 nesne kitaplığı" denetleyin.

Daha fazla bilgi

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler. Microsoft Access'ten bir tabloya almak için <a0></a0>, aşağıdaki adımları izleyin:

  1. Bir veritabanı nesnesi oluşturur.
  2. Bir Recordset nesnesi oluşturun.
  3. (Isterseniz), üstbilgileri almak.
  4. Veri tablosundan alır.
Verileri aldıktan sonra .Close komutları yayımlayarak açtığınız tüm nesnelerini kapatmalısınız.

Tablo Microsoft Access'ten programsal olarak almak için <a0></a0>, aşağıdaki Visual Basic for Applications kodunu kullanın:
Sub GetTable()
'This sub will retrieve all the data in the "Customers" table in
'Northwind

   'Declare variables
   Dim Db As Database
   Dim Rs As Recordset
   Dim Ws As Object
   Dim i As Integer
   Dim Path as String

   'This line will define the Object "Ws" as Sheets("Sheet1")
   'The purpose of this is to save typing Sheets("Sheet1")
   'over and over again
   Set Ws = Sheets("Sheet1")

   'Set the Path to the database. This line is useful because
   'if your database is in another location, you just need to change
   'it here and the Path Variable will be used throughout the code
   Path = "c:\msoffice\access\samples\northwind.mdb"

   'This set of code will activate Sheet1 and clear any existing data
   'After clearing the data it will select cell A1
   Ws.Activate
   Range("A1").Activate
   Selection.CurrentRegion.Select
   Selection.ClearContents
   Range("A1").Select

   'Set the Database, and RecordSet  This Table exists in the database
   Set Db = Workspaces(0).OpenDatabase(Path, ReadOnly:=True)

   'This will set the RecordSet to all records in the Customers table
   Set Rs = Db.OpenRecordset("Customers")

   'You could instead set the RecordSet to, for example, the records
   'where the Country Code is "UK", without quotes. To do this, replace
   'the line above: Set Rs = Db.OpenRecordset("Customers") with the
   'following:
   '
   'Set Rs = _
   'Db.OpenRecordset("SELECT * FROM Customers WHERE Country = 'UK';")


   'This loop will collect the field names and place them in the first
   'row starting at "A1"
   For i = 0 To Rs.Fields.Count - 1
      Ws.Cells(1, i + 1).Value = Rs.Fields(i).Name
   Next I

   'The next line simply formats the headers to bold font
   Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, Rs.Fields.Count)).Font.Bold=True

   'The next line will get the data from the recordset and copy it
   'into the Worksheet (Sheet1).
   Ws.Range("A2").CopyFromRecordset Rs

   'This next code set will just select the data region and
   'auto-fit the columns
   Sheets("Sheet1").Select
   Range("A1").Select
   Selection.CurrentRegion.Select
   Selection.Columns.AutoFit
   Range("A1").Select

   Rs.Close
   Db.Close
End Sub
				

Referanslar

Veri erişimi hakkında daha fazla bilgi için Microsoft Excel Yardımı'nda <a2>Dizin</a2> sekmesini tıklatın, aşağıdaki metni yazın.
veri erişim DAO
ve sonra da "Erişim dış veritabanları ile DAO" konuya dönmek için seçili metni çift tıklatın.

Özellikler

Makale numarası: 146406 - Last Review: 11 Ekim 2006 Çarşamba - Gözden geçirme: 2.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 95 Standard Edition
Anahtar Kelimeler: 
kbmt kbdtacode kbhowto kbinterop kbprogramming KB146406 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:146406
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

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