MsSql Server ADO Bağlantı Örneği - alpeki99 - 07/12/2016
@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.
Cvp: MsSql Server ADO Bağlantı Örneği - ozguryasin - 07/12/2016
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.
Cvp: MsSql Server ADO Bağlantı Örneği - ozguryasin - 07/12/2016
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
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
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
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
RE: MsSql Server ADO Bağlantı Örneği - accessman - 14/04/2020
Teşekkürler
RE: MsSql Server ADO Bağlantı Örneği - accessman - 14/04/2020
Güncel
|