ก๊อปปี้ฟิลด์ที่เป็น attachment โดยใช้โค้ด VBA ต้องใช้คำสั่งยังไงหรือครับ



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

05 มี.ค. 64 , 14:24:24
อ่าน 157 ครั้ง

Max

คือผมมีตารางสมมุติ TabelA แล้วผมต้องการสำเนาลงใน TableB ที่มีฟิลด์ทุกอย่างเหมือนกัน ผมใช้คำสั่ง SQL Insert Into ก็ไม่ได้ ลองใช้เป็น DAO ก็ไม่ได้ แต่ถ้าตัดฟิดล์ที่เป็น Attachment ออกไป มันจะใช้ได้ ก็เลยรู้ว่าฟิลด์ Attachment ไม่รองรับ ผมต้องเขียนคำสั่งยังไงหากต้องการก๊อปปี้ข้อมูลฟิลด์ Attachment จากตาราง A ไฟตาราง B ครับ

 

08 มี.ค. 64 , 20:57:21
ตอบกลับ #1

OddyWriter

เรื่อง Attachment และ OLE Object ใน Access นี่เป็นเรื่องที่ส่งผลร้ายให้ฐานข้อมูลมากกว่าความสะดวกนะครับ แนะนำว่าใช้การระบุชื่อไฟล์แล้วเรียกหาผ่านฟอร์มจะสะดวกกว่า โดยต้องรวมไฟล์เอาไว้ในโฟลเดอร์เดียวกันทั้งหมดจะดีที่สุด

ส่วน SQL ที่ไม่สามารถ Operate ฟิลด์ที่เป็น Attachment ได้ เนื่องจากตัว Attachment นั้นเป็นข้อมูลแบบ Multi-Values ซึ่ง ไม่มีในภาษา SQL ครับ
การใช้ DAO เท่าที่เคยทำมาก็แค่เอาออกจากฟิลด์ มาใส่ใน HDD และเอาจาก HDD มาใส่ในอีกตาราง ซึ่งไม่แนะนำอีกเช่นกัน เพราะมีโอกาสไฟล์ (คือไฟล์ Attachment) เสียเยอะมาก ไม่ได้เกิดจาก DAO แต่เกิดจากข้อมูลที่เก็บไว้ในตาราง Access มันคงโดนพลังบางอย่างรบกวนจนไฟล์เสียครับ คือเปิดดูในฟอร์มได้ แต่พอเอาออกมาไฟล์เสียซะงั้น

ปัญหาเยอะมาก ดังนั้นอย่าใช้เลยครับ Attachment กับ OLE Object นี่น่ะ
กินร้อน ช้อนตัวเอง จานใครจานมัน ออกนอกบ้านใส่หน้ากากอนามัยหรือหน้ากากผ้า
 
โพสต์นี้ได้รับคำขอบคุณจาก: Max


บอร์ดเรียนรู้ Access สำหรับคนไทย