กระทู้เก่าบอร์ด อ.Yeadram
1,510 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 ไฟล์ เลย ไม่ทราบว่าเป็นไปได้ไหม หากได้ อาจารย์โปรดแนะนำด้วยค่ะ
หนูต้องการ 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
2 @R05314
ยังไม่ได้เลยค่ะ มัน error เป็นสีแดงทั้งบรรทัดนี้เลยค่ะ
DoCmd.RunSQL "insert into Tbl_Sample select * from Qry_ForSample in ""C:\data-"" & i & """.mde """
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 เข้ามาค่ะ
ไม่ทราบต้องปรับแก้อย่างไรคะอาจารย์
ตัวเลขหลังชื่อไฟล์นั้น หนูอยากทำให้เป็น เลขสองหลัก เหมือนกันทั้งหมด
ส่วนที่เป็นหลักหน่วย ก็จะเติมเลข 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
ได้ตามที่ต้องการเลยค่ะอาจารย์
ขอบคุณอีกครั้งนะคะ
ขอบคุณอีกครั้งนะคะ
Time: 0.3661s
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
ไม่รู้ว่าใช้ได้หรือเปล่า ลองดูครับ