VBA'ya yeni geliyorum ve bir Excel dosyasından bir SQL Server veritabanına bağlantı açan bir komut dosyası yazarken birkaç işaretçiye ihtiyacım var. VBA dil başvurusuna https://msdn.microsoft.com/en-us/library/office/gg264383.aspx numaralı telefondan bakıyorum ve bunun nasıl yapıldığına dair bilgi bulamıyorum. Aşağıdaki ben etrafında yüzen bulunan bir makro etkin excel dosyasından kazımak başarmış şudur:DB Bağlantısı için Excel VBA Komut Dosyası
Sub CopyData()
Dim sSQL As String
Dim rs As ADODB.Recordset
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Server Name];Initial Catalog=[Catalog];"
End With
End Sub
Senaryoyu çalıştırdığınızda bir hata 'tanımlanmamış Kullanıcı tanımlı türü' verilecektir. Ve Dim rs AS ADODB.Recordset
satırı vurgulanır. Bu yüzden benim anlayışım ADODB.Recordset'in henüz bir sınıf olarak tanımlanmadığı ... ama bunun yerleşik bir sınıf olduğunu düşündüm. Ve bunun yerleşik bir sınıf olmadığını varsayarak, bu sınıfın tanımlanacağı kaynak kodunda herhangi bir yeri bulamıyorum. Son hedefim, excel dosyasına girdiye dayalı bir SQL sorgusu çalıştırmak ve sorgunun sonuçlarını bitişik sütunlara çıkarmaktır. Sorularım:
1) Veri tabanı bağlantı nesnelerinde Microsoft belgelerini nerede bulabilirim? 2) Belki bir SQL sorusu daha, ama bağlantı dizesini nasıl biçimlendirmeliyim?
Microsoft ActiveX Data Objects kitaplığı 2.8 ekleyin. "Microsoft" ile başlayanlardan biri olmalıdır .. – PKatona
https://msdn.microsoft.com/en-us/library/ms677497(v=vs.85).aspx –
Evet, Tim doğru bağlantıya sahip. – PKatona