Kod İle DataBase Yönetimi
Programın kodlanmasında önce “Microsoft Dao 2.5/3.5 Compatibility Library” referansı Visual Basic mönüsünden Project > Referances ile referanslar arasına eklenmelidir.
(General)(Declaration)
Dim veri_tabani As Database
Dim veri_tablo As Recordset
Private Sub veri_set() ‘ TextBox’ların alanlarının belirlenmesi
Text1(0).Text = veri_tablo.Fields("adi")
Text1(1).Text = veri_tablo.Fields("soyadi")
Text1(2).Text = veri_tablo.Fields("sicilno")
Text1(3).Text = veri_tablo.Fields("adres")
End Sub
Private Sub Form_Load()
Form1.Caption = "Kod ile DataBase Yönetimi"
Set veri_tabani = OpenDatabase(App.Path & "\personel.mdb") ‘ Veri tabanı
Set veri_tablo = veri_tabani.OpenTable("kisiler") ‘ Tablo
veri_tablo.Index = "AdArama" ‘ Index
Call veri_set
End Sub
Private Sub ilk_Click() ‘ İlk kayıt
veri_tablo.MoveFirst
Call veri_set
End Sub
Private Sub Onceki_Click() ‘ Önceki kayıt
On Error GoTo Hata1
veri_tablo.MovePrevious
Call veri_set
Exit Sub
Hata1:
veri_tablo.MoveFirst
End Sub
Private Sub Sonraki_Click() ‘ Sonraki kayıt
On Error GoTo Hata2
veri_tablo.MoveNext
Call veri_set
Exit Sub
Hata2:
veri_tablo.MoveLast
End Sub
Private Sub Son_Click() ‘ Son kayıt
veri_tablo.MoveLast
Call veri_set
End Sub
Private Sub Yeni_Click() ‘ Yeni kayıt
If yeni.Caption = "&Yeni Kayıt" Then
Text1(0).Text = ""
Text1(1).Text = ""
Text1(2).Text = ""
Text1(3).Text = ""
Text1(0).SetFocus
veri_tablo.MoveLast
yeni.Caption = "&Ekle"
Else
veri_tablo.AddNew
veri_tablo.Fields("adi") = Text1(0).Text
veri_tablo.Fields("soyadi") = Text1(1).Text
veri_tablo.Fields("sicilno") = Text1(2).Text
veri_tablo.Fields("adres") = Text1(3).Text
veri_tablo.Update
veri_tablo.MoveLast
yeni.Caption = "&Yeni Kayıt"
End If
End Sub
Private Sub Degistir_Click() ‘ Kayıt değiştir
veri_tablo.Edit
veri_tablo.Fields("adi") = Text1(0).Text
veri_tablo.Fields("soyadi") = Text1(1).Text
veri_tablo.Fields("sicilno") = Text1(2).Text
veri_tablo.Fields("adres") = Text1(3).Text
veri_tablo.Update
End Sub
Private Sub Sil_Click() ‘ Kayıt sil
veri_tablo.Delete
veri_tabani.Recordsets.Refresh
ilk_Click
End Sub
Private Sub Ara_Click() ‘ Kayıt ara
AdAra = InputBox("Aradığınız Kişinin Adını Giriniz :", "Ad ile Arama")
veri_tablo.Seek "=", AdAra
If veri_tablo.NoMatch = 0 Then
veri_set
Else
MsgBox "Aranan kayıt Bulunamadı", , "Arama Mesajı"
End If
End Sub
Private Sub Kapa_Click() ‘ Programı kapat
veri_tabani.Close
End
End Sub
DataBase‘i Şifrelemek
Private Sub Form_Load()
With Data1 ‘ Veri tabanı tanımları
.DatabaseName = "referans.mdb"
.RecordSource = "full"
.Connect = ";Pwd=eski"
.Refresh
End With
End Sub
Private Sub Command1_Click() ‘ Şifre değiştir
Data1.Database.NewPassword "eski", "yeni"
End Sub
Kod ile Veri Tabanı Oluşturma
Table (Tablo) : Kullanılan veritabanı üzerindeki bir tabloyu belirtir.
Dynaset : Kullanılan veritabanı üzerinde yerel olarak var olan veya bu veritabanına bağlı olan tablolar ile bir sorgu sonucunda oluşturulan tabloları da temsil edebilir.
Snapshot : Yaratıldığı anda ilişkilendirildiği verilerin sabit bir kopyasını barındırır. Jet veritabanı motoru tarafından kullanılan snapshot yapısında değişiklik yapılamaz.
Forward-only : Forward-scrolling snapshot veya forward-only snapshot olarak adlandırıldığı da olur. Snapshot yapısının sağladığı olanakların bir alt kümesini sunar.
Dynamic : Bir veya birden fazla tabloyu içeren bir sorgu sonucunu tutmak için kullanılır. Bu yapıda ekleme, silme değiştirme gibi özellikler de sağlanır.
Microsoft Dao 2.5/3.5 Compatibility Library referanslara eklenir.
Dim Yeni_Dosya As Database ‘ Tanımlamalar
Dim Yeni_Tablo As New TableDef
Dim Yeni_Index As New Index
Dim Yeni_alan1 As New Field
Dim Yeni_alan2 As New Field
Dim Yeni_alan3 As New Field
Dim Yeni_alan4 As New Field
‘ Veri tabanı oluşturuluyor
Set Yeni_Dosya = CreateDatabase("Personel", dbLangGeneral)
‘ Tablo oluşturmak
Set Yeni_Tablo = Yeni_Dosya.CreateTableDef("Kisiler")
‘ Tablo alanları oluşturuyor
Set Yeni_alan1 = Yeni_Tablo.CreateField("Adi", dbText, 20)
Yeni_Tablo.Fields.Append Yeni_alan1 ‘ Alan tabloya ekleniyor
Set Yeni_alan2 = Yeni_Tablo.CreateField("Soyadi", dbText, 20)
Yeni_Tablo.Fields.Append Yeni_alan2
Set Yeni_alan3 = Yeni_Tablo.CreateField("SicilNo", dbInteger)
Yeni_Tablo.Fields.Append Yeni_alan3
Set Yeni_alan4 = Yeni_Tablo.CreateField("Adres", dbText, 100)
Yeni_Tablo.Fields.Append Yeni_alan4
‘ Index oluşturuluyor
Yeni_Index.Name = "SicilAra"
Yeni_Index.Unique = True
Yeni_Index.Primary = True
Yeni_Index.Fields = "Sicilno"
Yeni_Tablo.Indexes.Append Yeni_Index ‘ Index tabloya ekleniyor
Yeni_Dosya.TableDefs.Append Yeni_Tablo ‘ Tablo veri tabanına ekleniyor
Programın kodlanmasında önce “Microsoft Dao 2.5/3.5 Compatibility Library” referansı Visual Basic mönüsünden Project > Referances ile referanslar arasına eklenmelidir.
(General)(Declaration)
Dim veri_tabani As Database
Dim veri_tablo As Recordset
Private Sub veri_set() ‘ TextBox’ların alanlarının belirlenmesi
Text1(0).Text = veri_tablo.Fields("adi")
Text1(1).Text = veri_tablo.Fields("soyadi")
Text1(2).Text = veri_tablo.Fields("sicilno")
Text1(3).Text = veri_tablo.Fields("adres")
End Sub
Private Sub Form_Load()
Form1.Caption = "Kod ile DataBase Yönetimi"
Set veri_tabani = OpenDatabase(App.Path & "\personel.mdb") ‘ Veri tabanı
Set veri_tablo = veri_tabani.OpenTable("kisiler") ‘ Tablo
veri_tablo.Index = "AdArama" ‘ Index
Call veri_set
End Sub
Private Sub ilk_Click() ‘ İlk kayıt
veri_tablo.MoveFirst
Call veri_set
End Sub
Private Sub Onceki_Click() ‘ Önceki kayıt
On Error GoTo Hata1
veri_tablo.MovePrevious
Call veri_set
Exit Sub
Hata1:
veri_tablo.MoveFirst
End Sub
Private Sub Sonraki_Click() ‘ Sonraki kayıt
On Error GoTo Hata2
veri_tablo.MoveNext
Call veri_set
Exit Sub
Hata2:
veri_tablo.MoveLast
End Sub
Private Sub Son_Click() ‘ Son kayıt
veri_tablo.MoveLast
Call veri_set
End Sub
Private Sub Yeni_Click() ‘ Yeni kayıt
If yeni.Caption = "&Yeni Kayıt" Then
Text1(0).Text = ""
Text1(1).Text = ""
Text1(2).Text = ""
Text1(3).Text = ""
Text1(0).SetFocus
veri_tablo.MoveLast
yeni.Caption = "&Ekle"
Else
veri_tablo.AddNew
veri_tablo.Fields("adi") = Text1(0).Text
veri_tablo.Fields("soyadi") = Text1(1).Text
veri_tablo.Fields("sicilno") = Text1(2).Text
veri_tablo.Fields("adres") = Text1(3).Text
veri_tablo.Update
veri_tablo.MoveLast
yeni.Caption = "&Yeni Kayıt"
End If
End Sub
Private Sub Degistir_Click() ‘ Kayıt değiştir
veri_tablo.Edit
veri_tablo.Fields("adi") = Text1(0).Text
veri_tablo.Fields("soyadi") = Text1(1).Text
veri_tablo.Fields("sicilno") = Text1(2).Text
veri_tablo.Fields("adres") = Text1(3).Text
veri_tablo.Update
End Sub
Private Sub Sil_Click() ‘ Kayıt sil
veri_tablo.Delete
veri_tabani.Recordsets.Refresh
ilk_Click
End Sub
Private Sub Ara_Click() ‘ Kayıt ara
AdAra = InputBox("Aradığınız Kişinin Adını Giriniz :", "Ad ile Arama")
veri_tablo.Seek "=", AdAra
If veri_tablo.NoMatch = 0 Then
veri_set
Else
MsgBox "Aranan kayıt Bulunamadı", , "Arama Mesajı"
End If
End Sub
Private Sub Kapa_Click() ‘ Programı kapat
veri_tabani.Close
End
End Sub
DataBase‘i Şifrelemek
Private Sub Form_Load()
With Data1 ‘ Veri tabanı tanımları
.DatabaseName = "referans.mdb"
.RecordSource = "full"
.Connect = ";Pwd=eski"
.Refresh
End With
End Sub
Private Sub Command1_Click() ‘ Şifre değiştir
Data1.Database.NewPassword "eski", "yeni"
End Sub
Kod ile Veri Tabanı Oluşturma
Table (Tablo) : Kullanılan veritabanı üzerindeki bir tabloyu belirtir.
Dynaset : Kullanılan veritabanı üzerinde yerel olarak var olan veya bu veritabanına bağlı olan tablolar ile bir sorgu sonucunda oluşturulan tabloları da temsil edebilir.
Snapshot : Yaratıldığı anda ilişkilendirildiği verilerin sabit bir kopyasını barındırır. Jet veritabanı motoru tarafından kullanılan snapshot yapısında değişiklik yapılamaz.
Forward-only : Forward-scrolling snapshot veya forward-only snapshot olarak adlandırıldığı da olur. Snapshot yapısının sağladığı olanakların bir alt kümesini sunar.
Dynamic : Bir veya birden fazla tabloyu içeren bir sorgu sonucunu tutmak için kullanılır. Bu yapıda ekleme, silme değiştirme gibi özellikler de sağlanır.
Microsoft Dao 2.5/3.5 Compatibility Library referanslara eklenir.
Dim Yeni_Dosya As Database ‘ Tanımlamalar
Dim Yeni_Tablo As New TableDef
Dim Yeni_Index As New Index
Dim Yeni_alan1 As New Field
Dim Yeni_alan2 As New Field
Dim Yeni_alan3 As New Field
Dim Yeni_alan4 As New Field
‘ Veri tabanı oluşturuluyor
Set Yeni_Dosya = CreateDatabase("Personel", dbLangGeneral)
‘ Tablo oluşturmak
Set Yeni_Tablo = Yeni_Dosya.CreateTableDef("Kisiler")
‘ Tablo alanları oluşturuyor
Set Yeni_alan1 = Yeni_Tablo.CreateField("Adi", dbText, 20)
Yeni_Tablo.Fields.Append Yeni_alan1 ‘ Alan tabloya ekleniyor
Set Yeni_alan2 = Yeni_Tablo.CreateField("Soyadi", dbText, 20)
Yeni_Tablo.Fields.Append Yeni_alan2
Set Yeni_alan3 = Yeni_Tablo.CreateField("SicilNo", dbInteger)
Yeni_Tablo.Fields.Append Yeni_alan3
Set Yeni_alan4 = Yeni_Tablo.CreateField("Adres", dbText, 100)
Yeni_Tablo.Fields.Append Yeni_alan4
‘ Index oluşturuluyor
Yeni_Index.Name = "SicilAra"
Yeni_Index.Unique = True
Yeni_Index.Primary = True
Yeni_Index.Fields = "Sicilno"
Yeni_Tablo.Indexes.Append Yeni_Index ‘ Index tabloya ekleniyor
Yeni_Dosya.TableDefs.Append Yeni_Tablo ‘ Tablo veri tabanına ekleniyor
