- Katılım
- 13 Haziran 2006
- Mesajlar
- 374
- Excel Vers. ve Dili
-
Excel 2003 Türkçe
Matematik Öğretmeni VB,Excel-VBA,...
Arkadaşlar selam.
VİSUAL BASİC-6 da yaşadığım bir sorunumu paylaşmak istiyorum.Bu konuda yardıma ihtiyacım var.
satırında -2147217897 hatası var diyor.Kodlardamı yanlışlık var bir türlü çözemedim.
Yukarıdaki kodlarla bir access veri tabanı oluşturuyorum.Form üzerindeki 2 textboxtan biri oluşturacağım klasör adını ikincisi oluşturacağım data adını belirliyor.
Şimdi sorun şu;
1- Eğer daha önceden oluşturulmuş bir klasör varsa bu klasöre ait yeni data oluşturmak için 58 nolu hata mesajını göstermesi ve devam etmesi gerekiyor.burda pek sorun yok gibi aslında.yani yeni datayı oluşturuyor.
2-Önemli olan text2 ye yazdığımız isimle oluşturmak istediğimiz datanın o klasörün içerisinde varsa -2147217897 hata mesajına gitmesi ve görevi durdurması.İşte sorun burda başlıyor.Belirlediğim hata mesajını görmüyor.Yani 58 nolu her sefeeerinde 58 nolu hatayı gördükten sonra olustur: olayına dönüyor ve ordada data var olduğundan
satırında hata veriyor.Bir türlü istediğim gibi ayarlayamadım.Yardımcı olursanız sevinirim.
Teşekkürler.
VİSUAL BASİC-6 da yaşadığım bir sorunumu paylaşmak istiyorum.Bu konuda yardıma ihtiyacım var.
Kod:
Cat.Create sCnn
Kod:
Private Sub yenidata_kayit_Click()
On Error GoTo Klasorvar:
If Text1 = "" Then
MsgBox " Okul adını boş bırakamazsınız.", vbCritical, "DİKKAT!!!!!"
Exit Sub
Text1.SetFocus
End If
If Text2 = "" Then
MsgBox " Eğitim yılını boş bırakamazsınız.", vbCritical, "DİKKAT!!!!!"
Exit Sub
Text2.SetFocus
End If
Dim Cat As Object
Dim Tbl(19) As Object
Dim sCnn As String
Dim DatabasePath As String
Dim Şifre As String
Dim ds
Set ds = CreateObject("Scripting.FileSystemObject")
Klasör = App.Path + "\Tools\DATA\" & Text1.Text
ds.CreateFolder Klasör 'Yeni klasör oluşturuyoruz
olustur:
Şifre = "" 'Veritabanını şifreliyoruz."xxxxx" x yazan yere şifrenizi yazın
DatabasePath = App.Path + "\Tools\DATA\" & Text1.Text & "\" & Text2.Text & ".mdb" 'Oluşturlan klasör içine veritabanını atar ve Text2de yazanı isim olarak verir
Set Cat = CreateObject("ADOX.Catalog")
sCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DatabasePath & ";User ID=admin;Jet OLEDB:Database Password=" & Şifre 'Şifreli veritabanı yaratır
Cat.Create sCnn
'----------* Tablo Özelliklerinin Tanımlanması BRANŞLAR *----------
Set Tbl(0) = CreateObject("ADOX.Table")
Tbl(0).ParentCatalog = Cat
With Tbl(0)
.Name = "BRANŞLAR"
.Columns.Append "BRANŞ_ADI", adVarWChar, 250
.Columns("BRANŞ_ADI").Properties("Nullable").Value = False
End With
Cat.Tables.Append Tbl(0)
'----------* Tablo Özelliklerinin Tanımlanması DERS_HAVUZU *----------
Set Tbl(1) = CreateObject("ADOX.Table")
Tbl(1).ParentCatalog = Cat
With Tbl(1)
.Name = "DERS_HAVUZU"
.Columns.Append "DERS_KODU", adVarWChar, 50
.Columns("DERS_KODU").Properties("Nullable").Value = False
.Columns.Append "DERS_ADI", adVarWChar, 50
.Columns("DERS_ADI").Properties("Description").Value = "1"
.................................
...................................
...................................
Set Cat = Nothing
MsgBox Text1 & " Okuluna ait " & Text2 & " yılı bilgileri başarıyla oluşturulmuştur.", vbInformation, "RAPOR"
klasor_list.ListItems.Clear
egitimyil_list.ListItems.Clear
Text1.Text = ""
Text2.Text = ""
Call tusduzeni
Call KlasorListele
Call DosyaListele
Exit Sub
Exit Sub
Klasorvar:
If Err = 58 Then
If MsgBox(Text1 & " Okuluna ait " & Text2 & " yılı bilgilerini oluşturmak istediğinize eminmisiniz?", vbYesNo Or vbInformation, "ONAYLAMA") = vbYes Then
Text2.SetFocus
GoTo olustur
End If
End If
If Err = -2147217897 Then
If MsgBox(Text1 & " Okuluna ait " & Text2 & " yılı bilgileri zaten mevcut.Yeni yıl girişi yapmak istermisiniz?", vbYesNo Or vbCritical, "UYARI") = vbYes Then
Text2.Text = ""
Text2.SetFocus
Exit Sub
End If
End If
Exit Sub
End Sub
Şimdi sorun şu;
1- Eğer daha önceden oluşturulmuş bir klasör varsa bu klasöre ait yeni data oluşturmak için 58 nolu hata mesajını göstermesi ve devam etmesi gerekiyor.burda pek sorun yok gibi aslında.yani yeni datayı oluşturuyor.
2-Önemli olan text2 ye yazdığımız isimle oluşturmak istediğimiz datanın o klasörün içerisinde varsa -2147217897 hata mesajına gitmesi ve görevi durdurması.İşte sorun burda başlıyor.Belirlediğim hata mesajını görmüyor.Yani 58 nolu her sefeeerinde 58 nolu hatayı gördükten sonra olustur: olayına dönüyor ve ordada data var olduğundan
Kod:
Cat.Create sCnn
Teşekkürler.