• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Public kullanımı

  • Konbuyu başlatan Konbuyu başlatan bezl
  • Başlangıç tarihi Başlangıç tarihi
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"
 
Değişkeni aşağıdaki gibi tüm prosedürlerin üstünde tanımlayın.

Kod:
public strConn as string
 
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"
 
Sadece aşağıdaki gibi yazmanız yeterlidir. Eğer sonuç alamazsanız dosyanızı ekleyin.

Kod:
Public strConn As String
 
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.
 
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.
 
Ç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...
 
Çok teşekkür ediyorum. En sonunda oldu..
 
Geri
Üst