20
EXE RANK
SpoinieN-
Fexe Kullanıcısı
Puanları
0
Çözümler
0
- Katılım
- 27 May 2010
- Mesajlar
- 29,079
- Tepkime puanı
- 0
- Puanları
- 0
- Yaş
- 27
- Web sitesi
- www.cankskn.com
Option Explicit
Dim Sql As String: Dim i As Integer
Dim dosya As Database: Dim tblad As String: Dim tbl As TableDef: Dim alan As Field
'bu yordam veritabanı oluşturmamız için. önce oluşturulcak yolda aynı isimde başka veritabanı varmı diye kontrol ediyor. varsa soru soruyor siliyimmi şeklinde ve cevaba göre veritbanını oluşturuyor
Private Sub VTOl(dosyayolu As String)
dosyayolu = App.Path & "\" + txtDb.Text
Dim ws As Workspace
Set ws = DBEngine.Workspaces(0)
If txtDb.Text = "" Then
MsgBox "Lütfen bir isim yaznız"
Else
If Dir(dosyayolu) <> "" Then
If MsgBox("dosya var" + vbCrLf + "Üzerine yazılsınmı?", vbYesNo, "Şahin KALEM") = vbYes Then
Kill (dosyayolu)
Else
Set ws = Nothing
Exit Sub
End If
End If
Set dosya = ws.CreateDatabase(dosyayolu, dbLangGeneral, dbEncrypt)
Set dosya = Nothing
If Dir(dosyayolu) <> "" Then
MsgBox "" + dosyayolu + " " + "Veritabanı oluşturuldu", vbOKOnly, "Bilgi"
End If
End If
End Sub
'bu kısımda ise veritabanından tablo isimlerini getiriyoruz. veritabanımızın adını Dbadi.Text adlı textbox a yazıyoruz. tabi bu işlemi commondialog kullanarak veritabanını seçip adresi textbox a yazdırıyoruz.
Private Sub TabloAdiGetir()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
For i = 0 To dosya.TableDefs.Count - 1
TabloAdi.AddItem (dosya.TableDefs(i).Name)
Next i
dosya.Close
End Sub
'burda ise seçtiğimiz tablodaki alan isimlerini getiriyoruz
Private Sub AlanAdiGetir()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
For i = 0 To dosya.TableDefs((TabloAdi.Text)).Fields.Count - 1
Alan1.AddItem (dosya.TableDefs((TabloAdi.Text)).Fields(i).Name)
Next i
dosya.Close
End Sub
'form yüklenirken veritabanı tiplerini combo1 e dolduruyoruz
Private Sub Form_Load()
Combo1.AddItem "Char"
Combo1.AddItem "Int"
Combo1.AddItem "Date"
Combo1.AddItem "Yes / No"
End Sub
'Bu butonun görevi tablo kopyalama yaparken kopyanın oluşturukacağı veritabanını seçmek
Private Sub KopyaVtAc_Click()
On Error Resume Next
CommonDialog1.Filter = "Access Files *.mdb|*.mdb"
CommonDialog1.ShowOpen
KopyaVt.Text = CommonDialog1.FileName
End Sub
'Bu butonumuzda ise tablo kopyalamayı yapıyoruz. once veritabanları ve tablo belirleniyor.bu butnlada işlemi gerçekleştiriyoruz
Private Sub TabloKopyala_Click()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
If KopyaVt.Text = "" Then
Sql = "SELECT * INTO " & KopyaTablo.Text & " From " & TabloAdi.Text & " "
Else
Sql = "SELECT * INTO " & KopyaTablo.Text & " IN '" & KopyaVt.Text & "' From " & TabloAdi.Text & " "
End If
dosya.Execute (Sql)
dosya.Close
End Sub
'combobox dan seçilen tabloyu silmemizi sağlıyor. program veritabanını seçtiğimiz zaman tabloadi aslı combobox a tablo isimlerini getiriyor
Private Sub TabloSil_Click()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
Sql = "DROP TABLE " & TabloAdi.Text & " "
dosya.Execute (Sql)
dosya.Close
End Sub
'burda işlem yapılacak veritabanı seçiliyor. yukarıda belirttiğim gibi veritabanını seçtiğimiz zaman tabloadigeitr yordamı çalışıyor ve combobox a tablo isimleri ekleniyor
Private Sub VtAc_Click()
CommonDialog1.Filter = "Access 2003 (*.mdb)|*.mdb"
CommonDialog1.ShowOpen
DbAdi.Text = CommonDialog1.FileName
TabloAdiGetir
End Sub
'Alanekle butonunun görevi seçili olan veritabanında seçtiğimiz tabloya yenı alan eklemek için. Alan özellikleri tamamen combobox lardan seçiliyor.
Private Sub AlanEkle_Click()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
If Combo1.Text = "char" Then
Sql = "ALTER TABLE " & TabloAdi.Text & " ADD " & Alan1.Text & " " & Combo1.Text & "(" & Size1.Text & ");"
Else
Sql = "ALTER TABLE " & TabloAdi.Text & " ADD " & Alan1.Text & " " & Combo1.Text & ";"
End If
dosya.Execute (Sql)
dosya.Close
End Sub
'Tablo ekle butonu ise seçili olan veritabanına tablo eklemek için. unutmalıyız ki yenı bir tablo eklerken mutlaka en az bir alan eklemeliyiz.ben bir tane alan ekledim siz sayısını arttırabilirsiniz
Private Sub TabloEkle_Click()
tblad = TabloAdi.Text
If TabloAdi.Text = "" Then
MsgBox "Lütfen tablo adını yazınız"
Else
Set dosya = DBEngine.Workspaces(0).OpenDatabase(txtDb.Text)
Sql = "CREATE TABLE " & TabloAdi.Text & " (" & Alan1.Text & " " & Combo1.Text & ")"
dosya.Execute (Sql)
dosya.Close
End If
End Sub
'Alansil butonu seçilen veritabanı ve tablodan seçeceğimiz herhangi bir alanı silmemiz için
Private Sub AlanSil_Click()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
Sql = "ALTER TABLE " & TabloAdi.Text & " DROP " & Alan1.Text & " "
If dosya.TableDefs((TabloAdi.Text)).Fields.Count > 1 Then
dosya.Execute (Sql)
Else
MsgBox "Tablonuzda sadece 1 tane alan var"
End If
dosya.Close
End Sub
'bu kısım kullanıcı veritabanı oluştururken sadece isim yazıp bırakırsa dosya uzantısını eklemek için. yoksa uzantısız bir dosyanız olur ve hiç bir işinize yaramaz
Private Sub dbAdi_LostFocus()
Dim a As String
a = Right(DbAdi.Text, 4)
If a <> ".mdb" Then
DbAdi.Text = DbAdi.Text + ".mdb"
End If
End Sub
'tabloadi adlı combobox da seçme işlemi yapılıp ayrılırken tablonun alanları diğer comboboxa eklenir
Private Sub TabloAdi_LostFocus()
On Error Resume Next
If TabloAdi.Text <> "" Then
AlanAdiGetir
End If
End Sub
'isminden de anlaşılacağı gibi veritabanı oluşturmamızı sağlayan buton. gerekli yordamı yukarıda belirtmiştim.
Private Sub VtOlulstur_Click()
On Error ***o hata
VTOl txtDb.Text
hata:
End Sub
Dim Sql As String: Dim i As Integer
Dim dosya As Database: Dim tblad As String: Dim tbl As TableDef: Dim alan As Field
'bu yordam veritabanı oluşturmamız için. önce oluşturulcak yolda aynı isimde başka veritabanı varmı diye kontrol ediyor. varsa soru soruyor siliyimmi şeklinde ve cevaba göre veritbanını oluşturuyor
Private Sub VTOl(dosyayolu As String)
dosyayolu = App.Path & "\" + txtDb.Text
Dim ws As Workspace
Set ws = DBEngine.Workspaces(0)
If txtDb.Text = "" Then
MsgBox "Lütfen bir isim yaznız"
Else
If Dir(dosyayolu) <> "" Then
If MsgBox("dosya var" + vbCrLf + "Üzerine yazılsınmı?", vbYesNo, "Şahin KALEM") = vbYes Then
Kill (dosyayolu)
Else
Set ws = Nothing
Exit Sub
End If
End If
Set dosya = ws.CreateDatabase(dosyayolu, dbLangGeneral, dbEncrypt)
Set dosya = Nothing
If Dir(dosyayolu) <> "" Then
MsgBox "" + dosyayolu + " " + "Veritabanı oluşturuldu", vbOKOnly, "Bilgi"
End If
End If
End Sub
'bu kısımda ise veritabanından tablo isimlerini getiriyoruz. veritabanımızın adını Dbadi.Text adlı textbox a yazıyoruz. tabi bu işlemi commondialog kullanarak veritabanını seçip adresi textbox a yazdırıyoruz.
Private Sub TabloAdiGetir()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
For i = 0 To dosya.TableDefs.Count - 1
TabloAdi.AddItem (dosya.TableDefs(i).Name)
Next i
dosya.Close
End Sub
'burda ise seçtiğimiz tablodaki alan isimlerini getiriyoruz
Private Sub AlanAdiGetir()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
For i = 0 To dosya.TableDefs((TabloAdi.Text)).Fields.Count - 1
Alan1.AddItem (dosya.TableDefs((TabloAdi.Text)).Fields(i).Name)
Next i
dosya.Close
End Sub
'form yüklenirken veritabanı tiplerini combo1 e dolduruyoruz
Private Sub Form_Load()
Combo1.AddItem "Char"
Combo1.AddItem "Int"
Combo1.AddItem "Date"
Combo1.AddItem "Yes / No"
End Sub
'Bu butonun görevi tablo kopyalama yaparken kopyanın oluşturukacağı veritabanını seçmek
Private Sub KopyaVtAc_Click()
On Error Resume Next
CommonDialog1.Filter = "Access Files *.mdb|*.mdb"
CommonDialog1.ShowOpen
KopyaVt.Text = CommonDialog1.FileName
End Sub
'Bu butonumuzda ise tablo kopyalamayı yapıyoruz. once veritabanları ve tablo belirleniyor.bu butnlada işlemi gerçekleştiriyoruz
Private Sub TabloKopyala_Click()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
If KopyaVt.Text = "" Then
Sql = "SELECT * INTO " & KopyaTablo.Text & " From " & TabloAdi.Text & " "
Else
Sql = "SELECT * INTO " & KopyaTablo.Text & " IN '" & KopyaVt.Text & "' From " & TabloAdi.Text & " "
End If
dosya.Execute (Sql)
dosya.Close
End Sub
'combobox dan seçilen tabloyu silmemizi sağlıyor. program veritabanını seçtiğimiz zaman tabloadi aslı combobox a tablo isimlerini getiriyor
Private Sub TabloSil_Click()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
Sql = "DROP TABLE " & TabloAdi.Text & " "
dosya.Execute (Sql)
dosya.Close
End Sub
'burda işlem yapılacak veritabanı seçiliyor. yukarıda belirttiğim gibi veritabanını seçtiğimiz zaman tabloadigeitr yordamı çalışıyor ve combobox a tablo isimleri ekleniyor
Private Sub VtAc_Click()
CommonDialog1.Filter = "Access 2003 (*.mdb)|*.mdb"
CommonDialog1.ShowOpen
DbAdi.Text = CommonDialog1.FileName
TabloAdiGetir
End Sub
'Alanekle butonunun görevi seçili olan veritabanında seçtiğimiz tabloya yenı alan eklemek için. Alan özellikleri tamamen combobox lardan seçiliyor.
Private Sub AlanEkle_Click()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
If Combo1.Text = "char" Then
Sql = "ALTER TABLE " & TabloAdi.Text & " ADD " & Alan1.Text & " " & Combo1.Text & "(" & Size1.Text & ");"
Else
Sql = "ALTER TABLE " & TabloAdi.Text & " ADD " & Alan1.Text & " " & Combo1.Text & ";"
End If
dosya.Execute (Sql)
dosya.Close
End Sub
'Tablo ekle butonu ise seçili olan veritabanına tablo eklemek için. unutmalıyız ki yenı bir tablo eklerken mutlaka en az bir alan eklemeliyiz.ben bir tane alan ekledim siz sayısını arttırabilirsiniz
Private Sub TabloEkle_Click()
tblad = TabloAdi.Text
If TabloAdi.Text = "" Then
MsgBox "Lütfen tablo adını yazınız"
Else
Set dosya = DBEngine.Workspaces(0).OpenDatabase(txtDb.Text)
Sql = "CREATE TABLE " & TabloAdi.Text & " (" & Alan1.Text & " " & Combo1.Text & ")"
dosya.Execute (Sql)
dosya.Close
End If
End Sub
'Alansil butonu seçilen veritabanı ve tablodan seçeceğimiz herhangi bir alanı silmemiz için
Private Sub AlanSil_Click()
Set dosya = DBEngine.Workspaces(0).OpenDatabase(DbAdi.Text)
Sql = "ALTER TABLE " & TabloAdi.Text & " DROP " & Alan1.Text & " "
If dosya.TableDefs((TabloAdi.Text)).Fields.Count > 1 Then
dosya.Execute (Sql)
Else
MsgBox "Tablonuzda sadece 1 tane alan var"
End If
dosya.Close
End Sub
'bu kısım kullanıcı veritabanı oluştururken sadece isim yazıp bırakırsa dosya uzantısını eklemek için. yoksa uzantısız bir dosyanız olur ve hiç bir işinize yaramaz
Private Sub dbAdi_LostFocus()
Dim a As String
a = Right(DbAdi.Text, 4)
If a <> ".mdb" Then
DbAdi.Text = DbAdi.Text + ".mdb"
End If
End Sub
'tabloadi adlı combobox da seçme işlemi yapılıp ayrılırken tablonun alanları diğer comboboxa eklenir
Private Sub TabloAdi_LostFocus()
On Error Resume Next
If TabloAdi.Text <> "" Then
AlanAdiGetir
End If
End Sub
'isminden de anlaşılacağı gibi veritabanı oluşturmamızı sağlayan buton. gerekli yordamı yukarıda belirtmiştim.
Private Sub VtOlulstur_Click()
On Error ***o hata
VTOl txtDb.Text
hata:
End Sub