buda bir mysql tablosu normal olarak bağlı tablo yönetici ile bağlandığımız kaynak
DoCmd.TransferDatabase acLink, "ODBC", "ODBC;DSN=karpuz", acTable, "sebze", "t_sebze", False
şimdi aşağıdaki kodda bu bağlantı adresini belirterek bu mysql veri tabanındaki tabloların yeni bağlantısını nasıl oluşturabiliriz
Kod:
Function ReLink(strDir As String, DefaultData As Boolean) _
As Boolean
Dim cat As ADOX.Catalog
Dim tdfRelink As ADOX.Table
Dim oDBInfo As DBInfo
Dim strPath As String
Dim strName As String
Dim intCounter As Integer
Dim vntStatus As Variant
vntStatus = SysCmd(acSysCmdSetStatus, "Yükleniyor")
Set cat = New ADOX.Catalog
Set oDBInfo = New DBInfo
With cat
.ActiveConnection = CurrentProject.Connection
oDBInfo.FullName = strDir
strPath = oDBInfo.FilePathOnly
strName = Left(oDBInfo.fileName, InStr(oDBInfo.fileName, ".") - 1)
On Error Resume Next
Call SysCmd(acSysCmdInitMeter, "Data Tabloları Yükleniyor", .Tables.Count)
For Each tdfRelink In .Tables
intCounter = intCounter + 1
Call SysCmd(acSysCmdUpdateMeter, intCounter)
If .Tables(tdfRelink.Name).Type = "LINK" Then
tdfRelink.Properties("Jet OLEDB:Link Datasource") = strPath & strName & IIf(DefaultData, "Data.Mdb", ".mdb")
End If
If Err.Number Then
Exit For
End If
Next tdfRelink
End With
Call SysCmd(acSysCmdRemoveMeter)
vntStatus = SysCmd(acSysCmdClearStatus)
ReLink = (Err = 0)
End Function
yeni dosya seçme penceresi açılmasın
zaten dosyanın yeni yerini biliyoruz