หลักการแบบนี้ครับ....
...การตรวจสอบว่าเชื่อมไม่เชื่อม ใช้คำสั่ง count หรือ Dcount ในตารางข้อมูลเล็กๆ ถ้าเชื่อมไม่ได้ Access จะแสดงรหัส Error ออกมา เราก็เอารหัสนั้นทำเป็นเงื่อนไข ในการสั่งให้เชื่อมต่อใหม่ สำหรับคำสั่งรีคอนเน็ค มีใน google
...ที่ผมทำ ผมเชื่อมตารางไม่เยอะครับ ผมก็ทำคำสั่งลบตารางทิ้ง แล้วก็เชื่อมใหม่ แบบบ้านๆ 5555555
Function import1()
On Error GoTo lktb
Dim ODBC1 As String
ODBC1 ="ODBC;DATABASE=baseName;DSN=DSNname;OPTION=0;PORT=3306;SERVER=192.168.0.133;UID=root;PWD=123456;CHARSET=tis620;"
DoCmd.SetWarnings False
DoCmd.DeleteObject acTable, "person"
DoCmd.TransferDatabase acLink, "ODBC", ODBC1, acTable, "person", "person", False
Call import2 'ต่อสำเร็จให้วิ่งไป import2
DoCmd.SetWarnings True
lktb:
Select Case Err
Case 0
Case 7874
DoCmd.TransferDatabase acLink, "ODBC", ODBC1, acTable, "person", "person", False
Call import2 'ต่อสำเร็จให้วิ่งไป import2
Case 3022, 3059
MsgBox "ไม่พบฐานข้อมูล", vbCritical, "Error"
Case Else
MsgBox Err.Description & " ฟังค์ชั่น import1 " & Err.Number, vbCritical, "Error"
End Select
End Function