กระทู้เก่าบอร์ด อ.Yeadram
        
           1,673   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.3212s
    
      
		
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
ไม่รู้ว่าใช้ได้หรือเปล่า ลองดูครับ