Hocalarım hem aktif açık olan ve farklı database de bölümler ve Kişiler diye tablolar mevcutmu buton ile nasıl kotrol ettiririz
Tabloları kontrol edecek ayrı ayrı butonlarla da olabilir
Eğer varsa okul (aktif açıkmışsın database) programında bölümler verisi mevcut diğer tespit edilenler daabasinden Kişiler varmı diye kontrol edip msgnıs ile bilgilendirecek
Bunu yapacak kodu nasıl bulurum
Sitede aradım tablo içindenveri varmı diye kontroller çıkıyor sadece
Teşekkürler
Referanslara "ActiveX Data Object X.X Library" referansını ekle,
Aktif Veritabanı için
Dim GTabloAdi, GSorgu As String
Dim GKontrol1, GKontrol2
Dim rst As Recordset
GKontrol1 = False
GKontrol2 = False
GSorgu = "SELECT MSysObjects.Name FROM MSysObjects " & "WHERE Left$([Name],1)<>'~' AND Left$([Name],4)<>'MSys' " & "AND MSysObjects.Type =1 ORDER BY MSysObjects.Name"
Set rst = CurrentDb().OpenRecordset(GSorgu)
rst.MoveFirst
Do Until rst.EOF
If rst!Name = "Kişiler" Then
GKontrol1 = True
End If
If rst!Name = "bölümler" Then
GKontrol2 = True
End If
rst.MoveNext
Loop
If GKontrol1 = True Then
MsgBox ("Kişiler Tablosu Var")
Else
MsgBox ("Kişiler Tablosu Yok")
End If
If GKontrol2 = True Then
MsgBox ("bölümler Tablosu Var")
Else
MsgBox ("bölümler Tablosu Yok")
End If
rst.Close
Set rst = Nothing
Farklı veritabanı için
Dim cnnDB As ADODB.Connection
Dim rstList As ADODB.Recordset
Dim GKontrol1, GKontrol2
Dim GVeriTabani As String
GKontrol1 = False
GKontrol2 = False
GVeriTabani = "D:\Test\Test.mdb"
Set cnnDB = New ADODB.Connection
With cnnDB
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open GVeriTabani
End With
Set rstList = cnnDB.OpenSchema(adSchemaTables)
With rstList
Do While Not .EOF
If .Fields("TABLE_TYPE") <> "VIEW" And "Kişiler" = .Fields("TABLE_NAME") Then
GKontrol1 = True
End If
If .Fields("TABLE_TYPE") <> "VIEW" And "bölümler" = .Fields("TABLE_NAME") Then
GKontrol2 = True
End If
.MoveNext
Loop
If GKontrol1 = True Then
MsgBox ("Kişiler Tablosu Var")
Else
MsgBox ("Kişiler Tablosu Yok")
End If
If GKontrol2 = True Then
MsgBox ("bölümler Tablosu Var")
Else
MsgBox ("bölümler Tablosu Yok")
End If
End With
cnnDB.Close
Set cnnDB = Nothing
Hocam teşekkürlerini yardımlarınız için bir şey daha sormak istiyorum hazırlanan projelere bu referansları ekledik programı mde yapıp kapattık ve bu programı farklı bir yerde çalıştıracağız bu bilgisayarda da herhangi bir ayar yapmaya gerek varmı biz ayarlayıp kapattığımız için programın içine gömülmüş mü oldu
Ayar yapmaya gerek yok. Farklı bilgisayarda referans hatası verirse mdb'den referansı ekleyip mde'ye çevirirsin.
Hocam yeni kodları alıp uygulayabildim aktif veri tabanı olan kod da sıkıntı olmadı ama farklı veritabanı olanda “.open GVeriTabani” kısmında “Sağlayıcı bulunamıyor. Düzgün yüklenmemiş” hatası veriyor
Microsoft Data object 2.8 library
Referanslarda işaretli
Ofis 2016 64 bir kullanıyorum