Public kullanımı

Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
Merhabalar ben bir exel belgemde sql'e ado ile bağlanıyorum ancak bağlantı stringini her makroda yeniden kullanmak yerine public ile hepsinde kullanacağım hale getirmek istiyorum. Aynı zamanda bu bağlantı string'inde genel adlı sayfada hücrelere bağlantı veriyorum. Şimdi bunu nasıl public ile kullanabilirim.
Normalde bağlantı aşağıdaki şekilde şekilde yardımcı olacaklara şimdiden teşekkürler...
Kod:
strConn = "PROVIDER=SQLOLEDB;"
strConn = strConn & "DATA SOURCE='" + Sheets("Genel").Range("c1") + "';DATABASE=" + Sheets("Genel").Range("A2") + ";Auto Translate=False;"
strConn = strConn & "user id=" + Sheets("Genel").Range("d1") + ";password='" + Sheets("Genel").Range("e1") + "';trusted_connection=False"
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Değişkeni aşağıdaki gibi tüm prosedürlerin üstünde tanımlayın.

Kod:
public strConn as string
 
Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
Cevabınız için teşekkürler.
Ama aşağıdaki gibi birşey mi nasıl birşekilde yazacağım. Onu bilmiyorum.
hücreler olmayıp direkt değerleri yazacak olsam "public const strConn = " ile yazsam oluyor ama hücre bağlantıları olunca hata veriyor.
Kod:
Public strConn As String
Public Const strConn = "PROVIDER=SQLOLEDB;DATA SOURCE='" + Sheets("Genel").Range("c1") + "';DATABASE=" + Sheets("Genel").Range("A2") + ";Auto Translate=False;user id=" + Sheets("Genel").Range("d1") + ";password='" + Sheets("Genel").Range("e1") + "';trusted_connection=False"
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sadece aşağıdaki gibi yazmanız yeterlidir. Eğer sonuç alamazsanız dosyanızı ekleyin.

Kod:
Public strConn As String
 
Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
Sayın Leventm,
şimdi başka bir belgemde aşağıdaki bağlantı stringini yazdıktan sonra aşağıdaki yazdım bütün makrolarda sadece cnt.Open strConn demem yeterli oluyor.
Kod:
Public Const strConn = "PROVIDER=SQLOLEDB;DATA SOURCE='SUNUCU';DATABASE=REF2007;Auto Translate=False;user id=sa;password='';trusted_connection=False"
ancak buradaki <SUNUCU> Genel sayfasının C1 hücresinde, <REF2007> Genel sayfasının A2 hücresinde, <sa> Genel sayfasının D1 hücresinde, şifrenin de Genel sayfasının E1 hücresine atıf verdiğimizde yukarıdaki gibi Public const
Kod:
Public Const strConn = "PROVIDER=SQLOLEDB;DATA SOURCE='" + Sheets("Genel").Range("c1") + "';DATABASE=" + Sheets("Genel").Range("A2") + ";Auto Translate=False;user id=" + Sheets("Genel").Range("d1") + ";password='" + Sheets("Genel").Range("e1") + "';trusted_connection=False"
yazınca Range'de
Kod:
Compile Error
constant expression required
diye hata veriyor.
sorunum bu tam olarak anlatabilmişimdir inşaallah yardımlarınızı bekliyorum.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,605
Excel Vers. ve Dili
Pro Plus 2021
Const ' tu belirttiğiniz gibi dinamik olarak tanımlayamazsınız.

Levent beyin dedeği gibi

Public strConn As String olarak tanımlayın

değişkenin değerini de Auto_Open da atayın, böylece bütün çalışmanızda kullanabilirsiniz.
 
Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
Çok teşekkürler ama tam olarak ne yazmam gerektiğini yazabilir misiniz? Bilgi eksikliği olunca binlerce deneme yanılma ile uğraşıyorum ama bir sonuca varamadım lütfen...
 
Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
Çok teşekkür ediyorum. En sonunda oldu..
 
Üst