ขอโค้ด insert ข้อมูล50ไฟล์ แบบบรรทัดเดียวค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 1,507   7
URL.หัวข้อ / URL
ขอโค้ด insert ข้อมูล50ไฟล์ แบบบรรทัดเดียวค่ะ

ขอรบกวนเรียนถามอาจารย์อีกแล้วค่ะ

หนูต้องการ insert ข้อมูลจากไฟล์ .mde จำนวน 50 ไฟล์พร้อมกัน

โดยมีไฟล์ชื่อ data-1 ถึง data-50 (ทุกไฟล์มีโครงสร้างเหมือนกัน)

ก่อนหน้านี้อาจารย์เคยให้โค้ดหนูไว้ ดังนี้ค่ะ

DoCmd.RunSQL "insert into Tbl_Sample select * from Qry_ForSample in ""C:\data-1.mde """

ประเด็นคำถามก็คือว่า...หากหนูต้องการจะ insert ทั้ง 50 ไฟล์ พร้อมกัน หนูต้องเชียนโค้ดแบบเดียวกันนี้จำนวน 50 บรรทัดเลยหรือเปล่าคะ โดยแต่ละบรรทัด แตกต่างกันที่ data-1>data-50 ใช่ไหมคะ

หนูอยากได้โค้ดแบบบรรทัดเดียว แต่ให้ได้ทั้ง 50 ไฟล์ เลย ไม่ทราบว่าเป็นไปได้ไหม หากได้ อาจารย์โปรดแนะนำด้วยค่ะ

7 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R05313
dim i as integer
for i = 1 to 50
docmd.setWarnings = false

DoCmd.RunSQL "insert into Tbl_Sample select * from Qry_ForSample in ""C:\data-"" & i & """.mde """

docmd.setWarnings = true
next i

ไม่รู้ว่าใช้ได้หรือเปล่า ลองดูครับ
2 @R05314
ยังไม่ได้เลยค่ะ มัน error เป็นสีแดงทั้งบรรทัดนี้เลยค่ะ

DoCmd.RunSQL "insert into Tbl_Sample select * from Qry_ForSample in ""C:\data-"" & i & """.mde """

3 @R05316
ส่วนสุดท้ายควรเป็น ""C:\data-" & i & ".mde"""
4 @R05318
ได้แล้วค่ะ

แก้เพียงส่วนสุดท้ายตามที่ อ.สันติสุขแนะนำค่ะ

ขอขอบคุณ อ. รักน้องบิวท์ เป็นอย่างยิ่งนะคะ และ อ. สันติสุขด้วยค่ะ
5 @R05320
มีปัญหาต่อเนื่องจะขอรบกวนอีกหน่อยค่ะอาจารย์

ตัวเลขหลังชื่อไฟล์นั้น หนูอยากทำให้เป็น เลขสองหลัก เหมือนกันทั้งหมด
ส่วนที่เป็นหลักหน่วย ก็จะเติมเลข 0 ไว้ข้างหน้า ดังนี้ค่ะ

DATA-01
DATA-02
DATA-03
ไปจนถึง
DATA-50

ปัญหาก็คือ โค้ดด้านล่างนี้ส่วนที่เป็นตัวเลขสีแดง มันไม่ยอมรับเลข 01-09 ค่ะ ใส่ 01 หรือ 09 เข้าไป มันก็เปลี่ยนเป็น 1 และ 9 หมดเลย

dim i as integer
for i = 1 to 50
docmd.setWarnings false

DoCmd.RunSQL "insert into Tbl_Sample select * from Qry_ForSample in ""C:\data-" & i & ".mde """

docmd.setWarnings true
next i

ทำให้ไฟล์ที่ชื่อ DATA-01 ถึง DATA-09 ไม่ถูก insert เข้ามาค่ะ
ไม่ทราบต้องปรับแก้อย่างไรคะอาจารย์

6 @R05321
เปลี่ยนจาก & i & ไปเป็น & Format$(i,"00") &
7 @R05322
ได้ตามที่ต้องการเลยค่ะอาจารย์

ขอบคุณอีกครั้งนะคะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3600s