Skip to main content

AccessTr.neT


MsSql Server ADO Bağlantı Örneği

MsSql Server ADO Bağlantı Örneği

#1
@ozguryasin tarafından yapılan MySql örneğini ufak düzenlemeler ile MsSql Server için uyarladım.

VBA penceresinde yer alan SqlServerConnStr modülündeki SqlServerConnStringGetir isimli fonksiyon bize MsSql Server'a bağlantı için gereken SqlServer Connection String (SqlServer'a Bağlantı Cümlesi) geri döndürür.

MsSql'e bağlantı için iki tür yöntem vardır:

1- Windows Authentication ile kendi bilgisayarınızda herhangi bir kullanıcı adı ve şifre gerektirmeden MsSql Server'a bağlanabilirsiniz. Bizim örneğimizde varsayılan olarak bu şekilde çalışmaktadır.
2- Eğer uzak bir makinede yer alan MsSql Server'a bağlanmak isterseniz ya da kendi sunucunuzda bile olsa Kullanıcı Adı ve Şifre ile bağlanmak istiyorsanız bu yöntemi kullanırsınız.

Eğer 2. yöntemi kullanacaksanız yapmanız gereken iki şey var:
1- BaglantiTuru değişkeninin içindeki değeri yani Windows Auth silin.
2- UserName ve Password değişkenlerinin değerini sunucunuza göre değiştirin.

Örnek kendi bilgisayarınızda çalışmayacaktır çünkü veritabanı bilgisayarınızda yok. Ne yapmanız gerek?

1- ServerName değişkenini kendi sunucunuza göre değiştirin.
2- DatabaseName değişkenine veritabanınızın adını yazın.
.rar SqlServerAdoÖrnek.rar (Dosya Boyutu: 25,62 KB | İndirme Sayısı: 109)
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#2
Img-grin  boş zamanımda yapmayı düşünüyırdum ama fırsat bulamamıştım. Eve gidince uzak serverden veri tabanı oluşturup databaee adı,  kuklaniciafive şifresini yorumda belirteyim. Uzaktan kullanılabilir hale gelsin Mysql gibi.
POWER 'un Çekirgesi :=)
ozguryasin, 23-09-2009 tarihinden beri AccessTr.neT AİLESİ üyesidir.
Access'i Profesyonel Şekilde Öğrenmek İçin https://www.accesstr.net Ailesi Yeter. alkis


Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
Cevapla
#3
Evvela yeni bir mssql veri tabanı açtım. buda aktif oldu.

ekte düzenlenmiş halini yayınladım.  Olcay hocamda ilk mesajda düzeltebilirse memnun kalırım. Ayrıca aşağıda form form kodları da ayrıca yayınlıyorum. Faydalı olması dileğiyle.


accesstr_net  Formu

Visual Basic Code
Option Compare Database
Option Explicit

Private Sub Form_Load()

    ' Form ilk yüklendiğinde kayıt listesini getirir
    Call ListeyiGetir

End Sub

Private Sub sil_Click()

    If MsgBox("Kayıt Silinsin Mi?", 36, "Siliniyor... www.accesstr.net") = vbYes Then
        
        Dim rs As New ADODB.Recordset
        rs.Open "SELECT * FROM accesstr", SqlServerConnStringGetir, adOpenKeyset, adLockOptimistic
        rs.Find "[id]=" & Me.id
        rs.Delete
        rs.Close: Set rs = Nothing
        MsgBox "Silinme Gerçekleşmiştir.", , "www.accesstr.net"
        Call ListeyiGetir
        
    Else
        
        MsgBox "Silme İşleminden Vaz Geçtiniz.", 48, "www.accesstr.net"
        
    End If
    
    Me.ad.Locked = True
    Me.soyad.Locked = True
    Me.odak.SetFocus
    Me.sil.Visible = False
    Me.duzenle.Visible = False
    
End Sub

Private Sub duzenle_Click()

    If MsgBox("Değişiklikler Güncellensin Mi?", 36, "Güncelleniyor... www.accesstr.net") = vbYes Then
        
        Dim rs As New ADODB.Recordset
        rs.Open "SELECT * FROM accesstr", SqlServerConnStringGetir, adOpenKeyset, adLockOptimistic
        rs.Find "[id]=" & Me.id
        rs.Fields("ad") = Me.ad
        rs.Fields("soyad") = Me.soyad
         rs.Fields("tarih") = Date
         rs.Fields("saat") = Time()
        rs.Update
        rs.Close: Set rs = Nothing
        MsgBox "Güncelleme Gerçekleşmiştir.", , "www.accesstr.net"
        Call ListeyiGetir
        
    Else
        
        MsgBox "Güncelleme İşleminden Vaz Geçtiniz.", 48, "www.accesstr.net"
        
    End If
    
    Me.ad.Locked = True
    Me.soyad.Locked = True

End Sub

Private Sub ListeyiGetir()

Dim cagribaglantisi As ADODB.Connection
Dim rs As New ADODB.Recordset
Set cagribaglantisi = New ADODB.Connection
                
    cagribaglantisi.ConnectionString = SqlServerConnStringGetir
    
    cagribaglantisi.Open
    
    If cagribaglantisi.State = adStateOpen Then
        
        rs.CursorLocation = adUseClient
        rs.Open "SELECT * FROM accesstr", cagribaglantisi, adOpenKeyset, adLockOptimistic
        Set Form_accesstr_net_alt.Recordset = rs
        
    Else
    
        MsgBox ("Bağlantı Kurulamıyor!!")
    
    End If
    
    rs.Close
    cagribaglantisi.Close
    Set rs = Nothing
    Set cagribaglantisi = Nothing
    
End Sub

Private Sub kaydet_Click()
    
    If MsgBox("Kayıt Gerçekleştirilsin Mi?", 36, "Kaydediliyor... www.accesstr.net") = vbYes Then
        
        Dim rs As New ADODB.Recordset
        Dim rst As New ADODB.Recordset
        
        rs.Open "SELECT * FROM accesstr", SqlServerConnStringGetir, adOpenKeyset, adLockOptimistic
        rs.AddNew
        rs.Fields("ad") = Me.ad
        rs.Fields("soyad") = Me.soyad
        rs.Fields("tarih") = Date
        rs.Fields("saat") = Time()
        rs.Update
        rs.Close
        Set rs = Nothing
        
        Call ListeyiGetir
        
        MsgBox "Kayıt İşlemi Gerçekleşmiştir.", , "www.accesstr.net"
        Me.odak.SetFocus
        Me.kaydet.Visible = False
        Me.yeni.Visible = True
        
    Else
    
        MsgBox "GKayıt İşleminden Vaz Geçtiniz.", 48, "www.accesstr.net"
        
    End If
    
    Me.ad.Locked = True
    Me.soyad.Locked = True
    
End Sub
 
Private Sub yeni_Click()

    Me.id = ""
    Me.ad = ""
    Me.soyad = ""
    Me.ad.Locked = False
    Me.soyad.Locked = False
    Me.kaydet.Visible = True
    Me.odak.SetFocus
    Me.yeni.Visible = False
    Me.duzenle.Visible = False
    Me.sil.Visible = False
    Me.ad.SetFocus
    
End Sub

accesstr_net_alt formu

Visual Basic Code
Option Compare Database
Option Explicit

Private Sub ad_DblClick(Cancel As Integer)
 
 Call esitle
 
End Sub
 
Private Sub id_DblClick(Cancel As Integer)
 
 Call esitle
 
End Sub

Private Sub saat_DblClick(Cancel As Integer)
 
 Call esitle

End Sub

Private Sub soyad_DblClick(Cancel As Integer)
 
 Call esitle
 
End Sub

Private Sub esitle()
 
 With Form_accesstr_net

    .id = Me.id
    .ad = Me.ad
    .soyad = Me.soyad
    .ad.Locked = False
    .soyad.Locked = False
    .kaydet.Visible = False
    .yeni.Visible = True
    .duzenle.Visible = True
    .sil.Visible = True
 
 End With
 
End Sub

Private Sub tarih_DblClick(Cancel As Integer)
 
 Call esitle

End Sub


SqlServerConnStr  Modül

Visual Basic Code
Option Compare Database

Public Function SqlServerConnStringGetir() As String
                
Dim BaglantiTuru As String
Dim ServerName As String:       ServerName = "185.149.100.60\mssqlserver2012"
Dim DatabaseName As String:     DatabaseName = "Accesstr"
Dim UserName As String:         UserName = "accesstr"
Dim Password As String:         Password = "accesstr"

'    BaglantiTuru = "Windows Auth"
'
'    If (BaglantiTuru = "Windows Auth") Then
        
'        SqlServerConnStringGetir = "DRIVER={SQL Server};SERVER=" & ServerName & ";DATABASE=" & DatabaseName & ";Trusted_Connection=Yes"
'
'    Else
    
        SqlServerConnStringGetir = "DRIVER={SQL Server};SERVER=" & ServerName & ";DATABASE=" & DatabaseName & ";UID=" & UserName & ";PWD=" & Password
        
'    End If
                
End Function



 
.rar SqlServerAdoÖrnek.rar (Dosya Boyutu: 25,62 KB | İndirme Sayısı: 48)
POWER 'un Çekirgesi :=)
ozguryasin, 23-09-2009 tarihinden beri AccessTr.neT AİLESİ üyesidir.
Access'i Profesyonel Şekilde Öğrenmek İçin https://www.accesstr.net Ailesi Yeter. alkis


Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
Cevapla
#4
Teşekkürler
@benbendedeilem
Cevapla
#5
Güncel
@benbendedeilem
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da