วันอาทิตย์ที่ 2 พฤษภาคม พ.ศ. 2553

เปิดฐานข้อมูลใหม่จากฐานข้อมูลเดิมในโหมด Run-time

สืบเนื่องมาจากมีคำถามไว้ที่ http://www.utteraccess.com/forum/OpenCurrentDatabase-retu-t1943718.html ว่าโค้ดที่เขาใช้มีปัญหาถ้าแปลงไฟล์ให้เป็น Run-time (accdr) ผมเลยลองทำดู พบว่ามีเทคนิคตรงที่ ต้องสร้าง code ไว้ใน module ก่อน แล้วถึงจะเรียกใช้โค้ดนั้นในปุ่มของฟอร์มเป้าหมาย

โค้ดใน module ชื่อ modOpenAnotherDB

Option Compare Database
Option Explicit

Dim Nacc As Access.Application

Sub subOpenAnotherDB()

Set Nacc = _
CreateObject("Access.Application")

Nacc.OpenCurrentDatabase CurrentProject.Path & "\Test.accdb", False, "MyPassword"
Nacc.Visible = True

End Sub

ในฟอร์มชื่อ frmOpenAnotherDB ผมสร้างปุ่มชื่อ cmdOpenAnotherDB แล้วใช้โค้ด OnClick ดังแสดงข้างล่าง

Private Sub cmdOpenAnotherDB_Click()

Call subOpenAnotherDB

End Sub

ลองดูวิดีโอแสดงการทำงานของโค้ดได้ที่ http://www.youtube.com/watch?v=rAKTInuoBCw ครับ

ศึกษาการใช้คำสั่ง OpenCurrentDatabase Method ได้ที่ http://msdn.microsoft.com/en-us/library/bb238012.aspx ครับ