เนื้อหา
การเรียนรู้วิธีใช้ Visual Basic สำหรับแอปพลิเคชันเพื่อนำเข้าข้อมูลไปยัง Access สามารถทำให้แอปพลิเคชันฐานข้อมูลของคุณมีชีวิตชีวามากขึ้น ใน VBA คุณสามารถใช้การรวมวัตถุเพื่อเปิดแผ่นงาน Excel และนำเข้าข้อมูลลงในตาราง Access ใช้ไลบรารีวัตถุสำหรับ Microsoft Excel ใน VBA เพื่อเปิดแผ่นงาน วัตถุชุดระเบียนจะใช้เพื่อเปิดตารางใน Access และบันทึกข้อมูลที่นำเข้าจาก Excel การใช้ VBA เพื่อนำเข้าข้อมูลจะช่วยลดเวลาที่ใช้ในการทำกระบวนการด้วยตนเอง
คำสั่ง
นำเข้าข้อมูลจาก Excel ไปยัง Access โดยใช้ไลบรารีวัตถุของ Excel (Jupiterimages / Photos.com / Getty Images)-
เปิด Microsoft Excel และพิมพ์ "data1" ใน A2 และ "data2" ใน B2 กด Ctrl + S เพื่อบันทึกเอกสาร บันทึกแผ่นงานใน "C: Temp " ด้วยชื่อ "dataToImport.xlsx" คลิกบันทึกแล้วปิด Excel
-
เริ่ม Microsoft Access คลิก "ฐานข้อมูลใหม่" แล้วคลิก "สร้าง" คลิก "เครื่องมือฐานข้อมูล" และคลิก "Visual Basic" เพื่อเปิดตัวแก้ไข VB คลิกเมนู "แทรก" และคลิก "โมดูล" เพื่อแทรกโมดูลรหัสใหม่ คลิกเมนู "เครื่องมือ" จากนั้น "อ้างอิง" และทำเครื่องหมายที่ช่องถัดจาก "Microsoft Excel Object Library
'. -
เริ่มต้นด้วยการพิมพ์รหัส VBA ต่อไปนี้เพื่อสร้างกระบวนการย่อยใหม่:
ส่วนบุคคลย่อย importExcelData ()
-
ป้อนรหัสต่อไปนี้เพื่อสร้างตัวแปรที่จะใช้ในการอ่าน Excel:
Dim xlApp As Excel.Application Dim xlBk As Excel.Workbook Dim xlSht As Excel.Worksheet
-
ป้อนรหัสต่อไปนี้เพื่อสร้างตัวแปรที่จะใช้ใน Access:
Dim dbRst เป็นชุดระเบียน Dim dbs เป็นฐานข้อมูล Dim SQLStr As String
-
ป้อนรหัสต่อไปนี้เพื่อกำหนดวัตถุธนาคารและเพื่อกำหนดว่าจะใช้แผ่นงานใด:
ชุด dbs = CurrentDb ตั้งค่า xlApp = ชุดแอปพลิเคชัน Excel xlBk = xlApp.Workbooks.Open ("C: Temp dataToImport.xlsx") ตั้งค่า xlSht = xlBk.Sheets (1)
-
สร้างตารางใหม่ที่มีสองคอลัมน์ใน Access เพื่อนำเข้าข้อมูล Excel ป้อนรหัสต่อไปนี้เพื่อสร้างตารางโดยใช้วัตถุ DoCmd:
SQLStr = "สร้างตาราง excelData (columnOne TEXT, columnTwo TEXT)" DoCmd.SetWarnings DoCmd.RunSQL เท็จ (SQLStr)
-
เปิดตารางที่คุณเพิ่งสร้างขึ้นโดยใช้วัตถุชุดระเบียน ป้อนรหัสต่อไปนี้เพื่อเปิดตารางและเพิ่มแถวใหม่:
ตั้ง dbRst = dbs.OpenRecordset ("excelData") dbRst.AddNew
-
ป้อนรหัสต่อไปนี้เพื่อรับค่าในแผ่นงาน Excel บันทึกไว้ในตารางของคุณและปรับปรุงระเบียน:
xlSht.Range ("A2") เลือก dbRst.Fields (0) .Value = xlSht.Range ("A2") ค่า xlSht.Range ("B2") เลือก dbRst.Fields (1) .Value = xlSht ช่วง ("B2") ค่า dbRst.Update
-
ทำตามขั้นตอนโดยพิมพ์รหัส VBA ต่อไปนี้:
dbRst.Close dbs.Close xlBk.Close End Sub
-
กด F5 เพื่อทำตามขั้นตอน ข้อมูลในแผ่นงาน Excel จะถูกนำเข้าไปยังตาราง Access ของคุณ