19
ห้อง MS Access / : รบกวนช่วยดู code สำหรับสร้าง link table ให้หน่อยครับ
« เมื่อ: 02 ก.พ. 65 , 09:22:51 »
ลอง code แล้ว ไม่มีอะไรเกิดขึ้นเลย ไม่สร้าง link table ให้ ผิดพลาดตรงไหนครับ
Option Compare Database
Private Sub Command0_Click()
Dim strConnect As String
strConnect = "ODBC;DRIVER={MySQL ODBC 3.51 Driver};Server=192.168.0.243;Database=dental_stock;Uid=admin;Pwd=12345;Option=3"
Call relink_mysql_tables(strConnect)
End Sub
Public Sub relink_mysql_tables(mysql_connection As String)
Dim db As DAO.Database
Dim tblDef As DAO.TableDef
Dim sLocalTableName As String
Dim sRemoteTableName As String
' new collection '
Dim newTableDefs As New Collection
' current database '
Set db = CurrentDb()
' create new table defs '
For Each tblDef In db.TableDefs
If (tblDef.Attributes And TableDefAttributeEnum.dbAttachedODBC) Then
sLocalTableName = tblDef.Name
sRemoteTableName = tblDef.SourceTableName
' create new linked table def '
Set tblDef = db.CreateTableDef(sLocalTableName, dbAttachSavePWD, sRemoteTableName, mysql_connection)
newTableDefs.Add tblDef
End If
Next
' delete old table defs '
For Each tblDef In newTableDefs
db.TableDefs.Delete tblDef.Name
Next
' add new table defs to current database '
For Each tblDef In newTableDefs
db.TableDefs.Append tblDef
Next
End Sub
Option Compare Database
Private Sub Command0_Click()
Dim strConnect As String
strConnect = "ODBC;DRIVER={MySQL ODBC 3.51 Driver};Server=192.168.0.243;Database=dental_stock;Uid=admin;Pwd=12345;Option=3"
Call relink_mysql_tables(strConnect)
End Sub
Public Sub relink_mysql_tables(mysql_connection As String)
Dim db As DAO.Database
Dim tblDef As DAO.TableDef
Dim sLocalTableName As String
Dim sRemoteTableName As String
' new collection '
Dim newTableDefs As New Collection
' current database '
Set db = CurrentDb()
' create new table defs '
For Each tblDef In db.TableDefs
If (tblDef.Attributes And TableDefAttributeEnum.dbAttachedODBC) Then
sLocalTableName = tblDef.Name
sRemoteTableName = tblDef.SourceTableName
' create new linked table def '
Set tblDef = db.CreateTableDef(sLocalTableName, dbAttachSavePWD, sRemoteTableName, mysql_connection)
newTableDefs.Add tblDef
End If
Next
' delete old table defs '
For Each tblDef In newTableDefs
db.TableDefs.Delete tblDef.Name
Next
' add new table defs to current database '
For Each tblDef In newTableDefs
db.TableDefs.Append tblDef
Next
End Sub