Vb De Access Db Bağlanma
-
uzun süredir vb6 uğraşıyorum öss hazırlığı saymasak.Db lere yeni geçtim şöyle basit bi sözlük gibi bişey yapayım dedim.ufak bi örnek hazırlarsanız çok memnun olurum.Mesela text1 e yazdığımızın access db deki karşılığı text2 de çıkacak gibi...Ertan kardeş umudum sensin sanırım başkası uğraşmaz...Uğraşan olursa tabi çok memnun olurum...
-
Konu vb bolumune ait...
kodlar sadece örnektir çalısmayabilir...
İlk önce form üzerine bir Toolbar nesnesi,Toolbar üzerindeki komut düğmelerinin resimlendirilmesi için bir ImageList,Timer,iki tane Label,iki tane TextBox,MsFlexGrid,Data ve StatusBar nesnelerini çiziniz.
Şimdi form üzerine eklediğimiz nesnelerin özelliklerini biraz değiştirelim. İngilizce kelimenin Türkçe karşılığını gireceğiniz Textbox ın genişliğini arttırın ve MultiLine özelliğini True atayın.Timer kontrolünün Interval özelliğini 100 girin.Data nesnesini Sozluk adlı Access veritabanı ile ilişkilendirin.MsFlexGrid nesnesinin DataSource özelliği ile data nesnesini ilişkilendirin. Programın kodlarında görüldüğü gibi veritabanının yolunu "C:\Belgelerim\Sozluk" olarak belirtiğim için Sozluk veritabanını kendi bilgisayarınızda C:\Belgelerim" dizinine kopyalayınız.
Private Sub Form_Load()
Dim dosya As Database
Dim kayit As Recordset
Dim i, cevap
Set dosya = OpenDatabase("c:\Belgelerim\Sozluk")
Set kayit = dosya.OpenRecordset("Kelimeler")
StatusBar1.Panels(3).Text = kayit.RecordCount
MSFlexGrid1.Col = 1
MSFlexGrid1.ColWidth(0) = 2000
MSFlexGrid1.ColWidth(1) = 5000
End Sub
Private Sub Text1_Change()
If Text1 = "" Then
Toolbar1.Buttons(3).Enabled = False
Toolbar1.Buttons(2).Enabled = False
Toolbar1.Buttons(4).Enabled = False
Toolbar1.Buttons(5).Enabled = False
Else
Toolbar1.Buttons(3).Enabled = True
Toolbar1.Buttons(2).Enabled = True
Toolbar1.Buttons(4).Enabled = True
Toolbar1.Buttons(5).Enabled = True
End If
End Sub
Private Sub Text1_Click()
If Text1 = "" Then
Toolbar1.Buttons(3).Enabled = False
Toolbar1.Buttons(2).Enabled = False
Toolbar1.Buttons(4).Enabled = False
Toolbar1.Buttons(5).Enabled = False
Else
Toolbar1.Buttons(3).Enabled = True
Toolbar1.Buttons(2).Enabled = True
Toolbar1.Buttons(4).Enabled = True
Toolbar1.Buttons(5).Enabled = True
End If
End Sub
Private Sub Timer1_Timer()
MSFlexGrid1.Col = 0
MSFlexGrid1.Sort = 5
Timer1.Enabled = False
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
On Local Error GoTo hata
Dim dosya As Database
Dim kayit As Recordset
Dim i, cevap
Set dosya = OpenDatabase("c:\Belgelerim\Sozluk")
Set kayit = dosya.OpenRecordset("Kelimeler")
Select Case Button.Key
Case "Yeni"
Text1 = ""
Text2 = ""
Case "Kaydet"
kayit.MoveFirst
For i = 1 To kayit.RecordCount
If Text1 = kayit.Fields("Ingilizce") Then
StatusBar1.Panels(1).Text = "Bu kelime sözlükte zaten var"
Exit Sub
Else
kayit.MoveNext
End If
Next i
kayit.AddNew
kayit.Fields("Ingilizce") = Text1
kayit.Fields("Turkce") = Text2
kayit.Update
Data1.Refresh
StatusBar1.Panels(3).Text = kayit.RecordCount
Text1 = ""
Text2 = ""
Text1.SetFocus
MSFlexGrid1.Col = 0
MSFlexGrid1.Sort = 5
Case "Bul"
kayit.MoveFirst
For i = 1 To kayit.RecordCount
If Text1 = kayit.Fields("Ingilizce") Then
Text2 = kayit.Fields("Turkce")
StatusBar1.Panels(1).Text = ""
Exit Sub
Else
kayit.MoveNext
End If
Next i
Case "Sil"
cevap = MsgBox("Bu kelime sözlükten silinecek!Emin misiniz?", 4, "Dikkat")
If cevap = vbYes Then
kayit.MoveFirst
For i = 1 To kayit.RecordCount
If Text1 = kayit.Fields("Ingilizce") Then
kayit.Delete
Data1.Refresh
StatusBar1.Panels(3).Text = kayit.RecordCount
MSFlexGrid1.Col = 0
MSFlexGrid1.Sort = 5
Text1 = ""
Text2 = ""
Text1.SetFocus
Exit Sub
Else
kayit.MoveNext
End If
Next i
Else
Exit Sub
End If
Case "Duzenle"
kayit.MoveFirst
For i = 1 To kayit.RecordCount
If Text1 = kayit.Fields("Ingilizce") Then
kayit.Edit
kayit.Fields("Ingilizce") = Text1
kayit.Fields("Turkce") = Text2
kayit.Update
Data1.Refresh
MSFlexGrid1.Col = 0
MSFlexGrid1.Sort = 5
Exit Sub
Else
kayit.MoveNext
End If
Next i
End Select
hata:
If Err = 3021 Then
StatusBar1.Panels(1).Text = "Aradiginiz kelime sozlukte yok"
End If
End Sub -
do while adodc1.recordset.eof=false
if adodc1.recordset.fields("isim")=text1.text then
msgbox "Eşleşme yapıldı"
end if
adodc1.recordset.movenext
Loop
-
mesajlarınız için teşekkürler fakat ben öğrenme amaçlı daha basit bir örnek isttemiştim(açıklayıcı).Paylaşırsanız çok teşekkür ederim...
-
kardeş akşamı bekle. Ayrıntılı bir döküman hazırlarım. Bu sıra vbasic açıklıyorum. neyi açıklayım diye düşünüyordum ;)
-
elimden geldiği kadar açıklamaya çalıştım. takıldığın yer olursa yine sor.
http://www.tahribat.com/forumdisplayfolder.asp?folderid=44271