บางทีเพื่อนหลายคนที่ใช้ Access ไม่เคยเปิดตารางในตัวของระบบของ Access เลย บทความนี้สามารถช่วยให้คุณเข้าใจตารางในตัวของระบบได้อย่างคร่าวๆ
รหัสโปรแกรม
<%sqlcmd="เลือกชื่อจาก [msysobjects] โดยที่ type=1 และ flags=0"%>
คุณสามารถใช้คำสั่งนี้เพื่อรับตารางทั้งหมดในฐานข้อมูล Access ได้ แต่คุณจำเป็นต้องตั้งค่าสิทธิ์ในการอ่านตาราง MSysObjects ไม่เช่นนั้นข้อความแสดงข้อผิดพลาด "ไม่สามารถอ่านระเบียน ไม่มีสิทธิ์ในการอ่านข้อมูลบน 'MSysObjects'" จะปรากฏขึ้น
การตั้งค่า Office 2003: เครื่องมือ -> ตัวเลือก -> มุมมอง -> ตรวจสอบวัตถุที่ซ่อนอยู่และวัตถุระบบ เครื่องมือ -> ความปลอดภัย -> สิทธิ์ผู้ใช้และกลุ่ม เลือก MSysObjects ในชื่อออบเจ็กต์ จากนั้นตั้งค่าสิทธิ์การอ่านในการอนุญาต
การตั้งค่า Office 2007: คลิกไอคอนที่มุมซ้ายบน -> ตัวเลือกการเข้าถึง -> ฐานข้อมูลปัจจุบัน -> การนำทาง -> ตัวเลือกการนำทาง -> เลือกแสดงวัตถุที่ซ่อนอยู่เพื่อแสดงวัตถุระบบ แท็บเครื่องมือฐานข้อมูล -> ผู้ใช้และการอนุญาต -> สิทธิ์ผู้ใช้และกลุ่ม เลือกตารางเป็นประเภทวัตถุ เลือก MSysObjects เป็นชื่อวัตถุ จากนั้นตรวจสอบสิทธิ์ "อ่านข้อมูล"
มีอีกวิธีหนึ่งในการอ่านตารางทั้งหมดใน เข้าถึงฐานข้อมูล:
รหัสโปรแกรม
-
set rs=conn.openSchema(20)'ส่งคืนวัตถุ Recordset ที่มีข้อมูลสคีมา
rs.filter="table_type='table'"'กรองตารางข้อมูลที่ table_type เป็นประเภทตาราง และประเภทอื่นๆ ที่เป็นตารางในตัวของระบบ
ทำในขณะที่ไม่ใช่ rs.eof
response.write(rs("TABLE_NAME"))' ใช้ชุดระเบียนชุดระเบียนเพื่อรับข้อมูลที่มีชื่อคอลัมน์ table_name
response.Write("<br />")
rs.movenext:ห่วง
-