บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ update query

การสร้างตารางด้วย Access VBA

รูปภาพ
วันก่อน สร้าง Query เพื่อปรับข้อมูลในตาราง โดยสร้าง Query ให้หาผู้เรียนปัจจุบันที่เรียนจบ และนำข้อมูลไปปรับในตารางผู้เรียน ปรากฏว่า ไม่สำเร็จ เพราะมี Error ว่า Operation must use updateable query ลองหาข้อมูลดู ก็พบว่า Update Query ก็มีข้อจำกัดอยู่เหมือนกัน ใช้ไม่ได้ทุกเรื่อง เช่น ฟิลด์ที่มีการคำนวณ หรือที่มาจาก Cross Tab ไม่สามารถใช้ Update Query ได้ เพราะมีการคำนวณเหมือนกัน  บังเอิญ Query ของผมเอามาจาก Cross Tab จึงทำให้มีปัญหา ทางออกของผมจึงนำเอาผลที่ได้ไปไว้ในตารางที่สร้างด้วยโค้ด VBA เป็นการสร้างตาราง On the fly ความจริงใช้ Query สร้างตารางแล้วเรียกใช้งานก็ได้ แต่ผมว่า ใช้โค้ด VBA สร้างตารางดีกว่า มีคนบอกว่า น่าจะใช้โค้ด VBA มากกว่าการใช้ Query เพราะ Query ปรับ เปลี่ยน ลบ ได้ ทำให้มีโอกาสการเปลี่ยนแปลงจากต้นฉบับเดิมได้สูง   ผมสร้างตารางชั่วคราว และเอาข้อมูลในตารางนี้ไปปรับข้อมูลในอีกตารางหนึ่ง ไม่มีปัญหา ปรับได้เรียบร้อยดี   โค้ด VBA สำหรับการสร้างตาราง มีดังนี้   Private Sub TestTemp()    On Error GoTo ErrorHandler    D...

การปรับข้อมูลในตาราง โดยใช้ข้อมูลอีกตาราง Access 2010

รูปภาพ
บางครั้ง เราต้องการตรวจสอบข้อมูลในตารางข้อมูล โดยมีข้อมูลที่ถูกต้องซึ่งเก็บไว้อีกตารางหนึ่ง เช่น  จากตัวอย่างต่อไปนี้ เรามีตารางราง tblCode เก็บรหัสอำเภอ และชื่ออำเภอ ส่วน ตาราง tblData ที่ผู้ใช้กรอกเข้ามา มีข้อมูล รหัสอำเภอ ชื่ออำเภอ ชื่อคน และ อายุ ตาราง tblCode ตาราง tblData เราต้องการตรวจสอบข้อมูล ว่า รหัสอำเภอในตาราง tblData นั้นถูกต้องหรือไม่ โดยให้ตรวจสอบจากรหัสอำเภอ ในตาราง tblCode วิธีการ สร้าง แบบสอบถามชนิดปรับปรุง หรือ Update Query เพื่อให้แก้ไขข้อมูลรหัสอำเภอในตาราง tblData แต่มีข้อแม้ว่า ชื่ออำเภอในตาราง tblData จะต้องถูกต้อง และมีอยู่ในตาราง tblCode ด้วย ขั้นตอน สร้างแบบสอบถาม โดยไปที่แท็บ สร้าง > กลุ่มแบบสอบถาม > ออกแบบ แบบสอบถาม เลือกตาราง tblCode และ ตาราง tblData กำหนดความสัมพันธ์ฟิลด์ที่มีชื่ออำเภอทั้งสอง โดยลากฟิลด์ amph ของ ตาราง tblCode มาวางไว้ที่ฟิลด์ dataAmp ของตาราง tblData จะเห็นว่ามีเส้นความสัมพันธ์เชื่อมฟิลด์ทั้งสองฟิลด์ ดับเบิ้ลคลิกที่ฟิลด์ aCode ของตาราง tblData ซึ่งเป็นฟิลด์ที่เราต้องการตรวจสอบและแก้ไขให้ถูกต้อ...