sql adodb bağlantısı nasıl yapılır?

Katılım
17 Mayıs 2005
Mesajlar
117
Excel Vers. ve Dili
2013 TR
2013 EN
Aşağıdaki kodlarla sqlden veri çekmeye çalışıyorum sql database bağlantısı kuramıyo Dim conn As New ADODB.Connection satırında hata veriyor.

Sub Module1
Public Sub banka()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim SqlText As String
With conn
.Provider = "sqloledb"
.CommandTimeout = 120
.ConnectionString = "Data Source=" & Sheet1.Cells(4, 5).Value & ";USER ID=" & Sheet1.Cells(8, 5).Value & ";PASSW=" & Sheet1.Cells(10, 5).Value & ";AUTO TRANSLATE=FALSE"
.Open
.DefaultDatabase = "" & Sheet1.Cells(6, 5).Value & ""
End With
SqlText = "SELECT A.KSMAS_KOD,B.KSMAS_NAME,"
SqlText = SqlText + " SUM((CASE WHEN A.IO='G' THEN A.TUTAR ELSE 0 END)-(CASE WHEN A.IO='C' THEN A.TUTAR ELSE 0 END))+SUM(B.KSSONDEV_T)"
SqlText = SqlText + " FROM TBLKASA A JOIN TBLKASAMAS B ON (A.KSMAS_KOD=B.KSMAS_KOD)"
SqlText = SqlText + " WHERE A.TARIH BETWEEN '" & Sheet9.Cells(5, 2).Value & "' AND '" & Sheet9.Cells(6, 2).Value & "' "
SqlText = SqlText + " GROUP BY A.KSMAS_KOD,B.KSMAS_NAME "
SqlText = SqlText + " ORDER BY A.KSMAS_KOD ASC"
rs.Open SqlText, conn, adOpenStatic, adLockReadOnly
Sheet9.Range("D4:F8").ClearContents
Sheet9.Activate
i = 4
Do While Not rs.EOF
Sheet9.Cells(i, 4).Value = rs(0)
Sheet9.Cells(i, 5).Value = rs(1)
Sheet9.Cells(i, 6).Value = rs(2)
rs.MoveNext
i = i + 1
Loop
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub

End Sub
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Su Module1
....
....
End Sub

Bu belirtilen satırları silin. Public Sub Banka(), End Sub 'la birlikte bunların arasındakiler kalsın.
 
Katılım
17 Mayıs 2005
Mesajlar
117
Excel Vers. ve Dili
2013 TR
2013 EN
İlginiz için teşekkür ederim ancak bahsettiğiniz şekildede uygulama aynı bölümde hata vermekte, Dim conn As New ADODB.Connection satırını makro çalıştıramamakta,

üzerinde çalışılan dosya ektedir. ilgineceklere teşekkürler.
 
Son düzenleme:
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Bak şimdi çözdük olayı :) Referans eksikliği ...

Şöyle yapalım. VBE'de "Reference" menüsüne gir. Burada karşına çıkan listeden, "Microsoft ADO Ext.2.x for DLL & Security"i işaretle

ve makroyu tekrar çalıştır. Muhtemelen sorun düzelecektir.
 
Katılım
17 Mayıs 2005
Mesajlar
117
Excel Vers. ve Dili
2013 TR
2013 EN
İlginize tekrar tekrar teşekkür ederim dediğiniz referansıda ekledim ama makrıolar yine Dim conn As New ADODB.Connection satırını geçemiyor makronun ilk satırı olduğu için haliylede çalışmıyor :) acaba kodlarda mı bir eksiklik var ?
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Peki, çıkan hata mesajı nedir?

sizin dosyayı bende açtım. İlk karşıma çıkan hata sizin ki gibi ADO referansından kaynaaklanıyordu. Ama sonra, ADO'yu ekleyince bu satırdaki hata aşıldı.

Şimdi bende geçersiz baglantiyla ilgili bir hata veriyor.

Sorun connection string'inden kaynaklanıyor olabilir.

OLEDB yerine ODBC ile bağlanmaya çalışın isterseniz. Bunun için aşağıdaki stringi kullanabilirsiniz.

HTML:
 Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
 
Katılım
17 Mayıs 2005
Mesajlar
117
Excel Vers. ve Dili
2013 TR
2013 EN
rica etsem sizdeki çalışan halini bana göndermeniz mümkünmüdür ? ben bir türlü çalıştıramadım
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Bende bağlantıdan dolayı çıkan hata sonrası test edebilmem çok mümkün olmadı tabi. (ip, pass gibi parametrelerden)

Ekte dosyanız yeralmakta.
 
Katılım
17 Mayıs 2005
Mesajlar
117
Excel Vers. ve Dili
2013 TR
2013 EN
teşekkür ederim bu çalışıyor :)
 
Üst