Page 1 of 1

อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Fri Jul 20, 2012 3:30 pm
by akekorn
สวัสดีครับ คุณคนควน และเพื่อนสมาชิกทุกท่าน
คือผมลองเขียนโปรแกรมใน access เพื่อจะนำเข้าข้อมูลจาก excel เข้า access แต่ปรากฏว่า ข้อมูลเข้ามาแต่เหมือนเข้าไม่หมดรบกวนคุณคนควนช่วยดูให้หน่อยครับว่าควรปรับอย่างไร
ขอบอกอีกครั้งครับว่าบางทีข้อมูลก็เข้ามาหมดแต่พอรันซ้ำอีกทีก็เหมือนเบิ้ลครับ
ขอบคุณครับ

Code: Select all

Sub AKEKORN()
     
    Const strPath As String = "J:\ExpenseMonthly\ACCESS\excel01\" 'Directory Path
    Dim strFile As String 'Filename
    Dim strFileList() As String 'File Array
    Dim intFile As Integer 'File Number
     
  
    strFile = Dir(strPath & "*.xls")
    While strFile <> ""
         'add files to the list
        intFile = intFile + 1
        ReDim Preserve strFileList(1 To intFile)
        strFileList(intFile) = strFile
        strFile = Dir()
    Wend
     
    If intFile = 0 Then
        MsgBox "No files found"
        Exit Sub
    End If
    For intFile = 1 To UBound(strFileList)
        DoCmd.TransferSpreadsheet acImport, , _
        "RBG1", strPath & strFileList(intFile), True, "A1:d65000"
    Next
    'MsgBox UBound(strFileList) & " Files were Imported"
End Sub

Re: อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Fri Jul 20, 2012 8:04 pm
by snasui
:D มี Database ตัวอย่างและไฟล์ตัวอย่างให้ทดสอบไหมครับ

Re: อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Sat Jul 21, 2012 9:46 pm
by akekorn
มีครับผมจะส่งให้วันจันทร์นะครับอยู่ที่ทำงานขอบคุณมากๆครับในความอนุเคราห์

Re: อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Mon Jul 23, 2012 9:33 am
by akekorn
สวัสดีครับคุณคนควนผมได้แนบไฟด์มาแล้วครับ

Re: อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Mon Jul 23, 2012 6:36 pm
by snasui
:D ผมทดสอบแล้วไม่พบว่าเข้าไม่หมดครับ ส่วนกรณี Run ซ้ำก็ย่อมเข้าไปเบิ้ลซึ่งก็ปกติครับ

การป้องกันการเบิ้ลก็คงต้องหาวิธีดักหรือหากไม่ดักก็ลบไฟล์ที่ Run แล้วทิ้งไปจาก Folder ด้วยฟังก์ชั่น Kill ครับ ซึ่ง Folder สำหรับการ Import ไฟล์ควรจะสร้างขึ้นมาใหม่ต่างหาก ข้อมูลต้นแหล่งจะได้ไม่เสียหาย

Re: อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Tue Jul 24, 2012 10:03 am
by akekorn
ครับคุณคนควนคือหากใช้ไฟด์เดียวในfolder เดียวก็จะไม่ปัญหาแต่หากมี excel 2 file เหมือนกับว่ามันจะไม่รู้ว่าจะใช้ไฟด์ไหนก่อนหลังที่ลองทำดูคือใช้ไฟด์เดียวกันนำเข้า2ครั้งครับ จึงอยากปรึกษาคุณคนควนว่าควรจะเขียนโปรแกรมดักยังไงดีครับ

Re: อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Tue Jul 24, 2012 10:34 am
by snasui
:D กรณีแก้ปัญหาว่าโปรแกรมเลือกไฟล์ไม่ถูก ที่คิดเร็ว ๆ คือเราเลือกให้เองโดย Loop ไฟล์เข้าในไว้ใน Folder นั้นทีละไฟล์ เมื่อ Import แล้วก็ Kill ทิ้งนำไฟล์ต่อไปมาวางแล้ว Import ไปเช่นนี้เรื่อย ๆ ครับ

Re: อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Thu Jul 26, 2012 9:23 am
by akekorn
ครับผมแต่ผมไม่ทราบว่าจะโค๊ดอย่างไรครับหากไม่รบกวนคุณคนควนเกินไปรบกวนแนะนำโค๊ดให้ผมด้วยจะได้ไหมครับ

ขอบคุณครับ

Re: อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Thu Jul 26, 2012 12:26 pm
by snasui
:D การ Loop เพื่อวางไฟล์ ศึกษาจากที่นี่ครับ viewtopic.php?f=3&t=2858 ส่วนการ Kill ดูไวยากรณ์ที่นี่ครับ http://msdn.microsoft.com/en-us/library ... 64141.aspx

Re: อยากได้โค๊ด import ข้อมูลจาก excel เข้า access ครับ

Posted: Thu Jul 26, 2012 4:05 pm
by akekorn
ขอบคุณมากครับคุณคนควน เป็นที่พึ่งแก่คนยากจริงๆครับผม