ตัวอย่างที่ผมเคยทำและเก็บไว้นะครับ แต่ผมใช้กับ SQL SERVER ไม่เคยลองกับ MySQL นะครับ
- ต้องการลิ้งค์ตารางชื่อ Table1 จาก SQL Server เข้ามายัง MS Access
- ข้อมูล SQL SERVER
--------------------------
Server Name : ASPIRE-ONE
Database Name: Demo
Login : sa
Password : Abc!23
--------------------------
<DAO>
'----------------Code Start----------------
Sub LinkSQL_DAO()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Set db = CurrentDb
Set tdf = db.CreateTableDef("dbo_Table1") 'ชื่อตารางที่ลิ้งค์เข้ามาใหม่
tdf.Connect = "ODBC;Driver=SQL SERVER;SERVER=ASPIRE-ONE;UID=sa;PWD=Abc!23;Database=Demo;"
tdf.SourceTableName = "Table1" 'ชื่อตารางเป้าหมายที่เครื่อง SQL Server
db.TableDefs.Append tdf
'-------- หากต้องการลิ้งค์เพิ่มอีกตาราง --------------------
' Set tdf = db.CreateTableDef("dbo_Table2")
' tdf.Connect = "ODBC;Driver=SQL SERVER;SERVER=ASPIRE-ONE;UID=sa;PWD=Abc!23;Database=Demo;"
' tdf.SourceTableName = "Table_2"
' db.TableDefs.Append tdf
'--------------------------------------------------
'-------- หากต้องการลบลิ้งค์ตาราง --------------------
' db.TableDefs.Delete "dbo_Table1"
'--------------------------------------------------
db.Close: Set db = Nothing
End Sub
'-----------------Code End-----------------
* หมายเหตุ: คำสั่งนี้จะไม่สามารถเซฟรหัสผ่านได้ ทุกครั้งที่เปิดไฟล์ฐานข้อมูล MS Access ใหม่แล้วเรียกลิ้งค์ตารางที่สร้างจะต้องใส่รหัสผ่านใหม่ในครั้งแรกเสมอ จึงเหมาะกับการใช้งานชั่วคราว หรืออาจต้องใช้คำสั่งลบลิ้งค์ตารางแล้วสร้างใหม่ทุกครั้งเมื่อเปิดไฟล์แทน
โพสต์นี้ได้รับคำขอบคุณจาก: chai