Access SQL
Access Yerel Bir Tabloyu Bağlantılı Bir Tabloya Kod Ile Dönüştürme Yapılabilir Mi? - Yazdırılabilir Sürüm

+- Access SQL (https://www.access-sql.com)
+-- Forum: ACCESS SORULARI VE ÖRNEK UYGULAMALARI (https://www.access-sql.com/Forum-ACCESS-SORULARI-VE-ORNEK-UYGULAMALARI)
+--- Forum: ACCESS SORULARI (https://www.access-sql.com/Forum-ACCESS-SORULARI)
+--- Konu: Access Yerel Bir Tabloyu Bağlantılı Bir Tabloya Kod Ile Dönüştürme Yapılabilir Mi? (/Konu-Access-Yerel-Bir-Tabloyu-Baglantili-Bir-Tabloya-Kod-Ile-Donusturme-Yapilabilir-Mi)



Access yerel bir tabloyu bağlantılı bir tabloya KOD İLE DÖNÜŞTÜRME YAPILABİLİR Mİ? - umutakkaya - 11-03-2024

Ekteki gibi iki access veritabanından birindeki tabloları diğerine link table <Bölünmüş Tablo> olarak VBA Kodlar ile bağlamak istiyorum. 
Bağlantılı tablo yöneticisini MS Access'te VBA kullanarak programlı olarak çalıştırmanın bir yolu var mı?
Yani resimdeki gibi manuel olan bütün işlevler Kodlarla olsun.
[Resim: 31EIxQ.jpg]
Visual Basic
  1. Sub denememe()
  2.  
  3.        Dim dbE As New DAO.DBEngine
  4.        Dim db As DAO.Database
  5.        Dim strNewPath As String = "c:\Database1.Accdb"
  6.  
  7.        db = dbE.OpenDatabase("c:\Database2.accDB")
  8.  
  9.        For Each td As DAO.TableDef In db.TableDefs
  10.            If Len(td.Connect) < 0 Then
  11.                'buraya  hangi kodları  yazabilirm ki
  12.                '    Database1.Accdb Veritabanındaki tablolar
  13.                '   Database2.Accdb Veritabanındaki tablolar ile Link bağlantı kursun
  14.  
  15.  
  16.  
  17.                ' If Strings.Left(td.Connect, 9) = ";DATABASE" Then
  18.                'td.Connect = ";DATABASE=" & strNewPath
  19.                'td.RefreshLink()
  20.                'End If
  21.            End If
  22.        Next
  23.        db.Close()
  24.    End Sub





RE: Access yerel bir tabloyu bağlantılı bir tabloya KOD İLE DÖNÜŞTÜRME YAPILABİLİR Mİ? - dsezgin - 12-03-2024

(11-03-2024, 16:22)umutakkaya demiş ki: Bağlantılı tablo yöneticisini MS Access'te VBA kullanarak programlı olarak çalıştırmanın bir yolu var mı?

Access VBA ile bağlantı sağlanabilir. Kendi uygulamanıza uyarlayabilirsiniz.
Visual Basic
  1. Sub Bagla()
  2.    Dim Hedef As Object, Kaynak As dao.Database
  3.    Dim KaynakDosya, HedefDosya As String
  4.    KaynakDosya = CurrentProject.Path & "\Database2.Accdb"
  5.    HedefDosya = CurrentProject.Path & "\Database1.Accdb"
  6.    Set Kaynak = dao.DBEngine.OpenDatabase(KaynakDosya)
  7.    Set Hedef = CreateObject("Access.Application")
  8.    Hedef.OpenCurrentDatabase HedefDosya
  9.     For Each Tablolar In Kaynak.TableDefs
  10.        If Mid(Tablolar.Name, 1, 4) <> "MSys" Then
  11.            Hedef.DoCmd.TransferDatabase acLink, "Microsoft Access", KaynakDosya, acTable, Tablolar.Name, Tablolar.Name, False
  12.        End If
  13.     Next Tablolar
  14.    Hedef.CloseCurrentDatabase: Hedef.Quit:: Set Hedef = Nothing
  15.    Kaynak.Close: Set Kaynak = Nothing
  16. End Sub





RE: Access Yerel Bir Tabloyu Bağlantılı Bir Tabloya Kod Ile Dönüştürme Yapılabilir Mi? - umutakkaya - 12-03-2024

Öncelikle cevabınız için teşekkür edeirm. Kodunuzu aynen denedim fakat aşağıdaki durum oluştu.
[Resim: NtulFHD6I.jpg]


RE: Access Yerel Bir Tabloyu Bağlantılı Bir Tabloya Kod Ile Dönüştürme Yapılabilir Mi? - halily - 12-03-2024

Hedef.OpenCurrentDatabase "HedefDosya"
buradaki kırmızı renkli çit tırnakları silerek dener misiniz?

Visual Basic
  1. Hedef.OpenCurrentDatabase HedefDosya





RE: Access Yerel Bir Tabloyu Bağlantılı Bir Tabloya Kod Ile Dönüştürme Yapılabilir Mi? - umutakkaya - 12-03-2024

(12-03-2024, 14:41)halily demiş ki: Hedef.OpenCurrentDatabase "HedefDosya"
buradaki kırmızı renkli çit tırnakları silerek dener misiniz?

Visual Basic
  1. Hedef.OpenCurrentDatabase HedefDosya

Evet Tırnak işareti kaldırılınca oldu. Teşekkürler.