นำเข้า text file
กระทู้เก่าบอร์ด อ.Yeadram

 1,805   2
URL.หัวข้อ / URL
นำเข้า text file

ต้องการนำเข้าข้อมูลที่เป็น text file เข้าตาราง
ตัวอย่างไฟล์
แถวที่1   F3XXXXX||4300||สำนักงานสาธารณสุขจังหวัด||หนองคาย
แถวที่ 2 4430200656846@เลื่อน1 น้อยยะ@M@89@8/10/2552@9@
แถวที่ 3   3430200650000@เลื่อน2 น้อยยะ@M@89@8/10/2552@9@
แถวสุดท้าย ส่งข้อมูลรวมทั้งสิ้น 2 ราย

โดยแต่ละข้อมูลขั้นด้วย @
ไม่มีหัวตาราง
และต้องการนำเข้าตั้งแต่ แถวที่ 2 เป็นต้นไป และไม่เอาแถวสุดท้าย
รบกวนท่านอาจารย์แนะนำด้วย
ขอบคุณครับ

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

1 @R10285

เรียนอาจารย์ทุกท่าน   
     ช่วยตรวจให้ผมด้วยนะครับ
คุณเสนห์
     ผมมือใหม่นะครับ ไม่รู้ว่าแบบนี้ได้หรือเปล่า
     ผมลองทำดูครับ ตามความเข้าใจ ที่ได้ศึกษามาในเวปนี้นะครับ ถ้าผิดพลาดอะไรของโทษด้วยครับ

Option Compare Database

Private Sub Command0_Click()
Dim db As Database
Dim rs As DAO.Recordset
Dim Y, vTmp As Variant
Dim sFileImport As String
Set db = CurrentDb()
Set rs = db.OpenRecordset("Table1")

sFileImport = "C:\test.txt"
If Dir(sFileImport) = "" Then MsgBox "NO DATA": Exit Sub
Open sFileImport For Input As #1
    Do While Not EOF(1)
          Line Input #1, Y
        vTmp = Split(Y, "@")
If Left(Y, 1) = "F" Or Y = "" Then ' บรรทัดนี้ไม่แน่ใจว่าข้อมูลของคุณต้องแยกยังไง
Else
rs.AddNew
   rs.Fields(0) = vTmp(0)
   rs.Fields(1) = vTmp(1)
   rs.Fields(2) = vTmp(2)
   rs.Fields(3) = vTmp(3)
   rs.Fields(4) = vTmp(5)
   rs.Fields(5) = vTmp(5)
   rs.Update

End If
Loop
Close #1
MsgBox "OK"
End Sub
2 @R10286
หรือถ้า ข้อมูลที่ต้องการ ช่องแรกเป็นตัวเลข ลองใช้แบบนี้ดูครับ
Option Compare Database

Private Sub Command0_Click()
Dim db As Database
Dim rs As DAO.Recordset
Dim Y, vTmp As Variant
Dim sFileImport As String
Set db = CurrentDb()
Set rs = db.OpenRecordset("Table1")

sFileImport = "C:\test.txt"
If Dir(sFileImport) = "" Then MsgBox "NO DATA": Exit Sub
Open sFileImport For Input As #1
    Do While Not EOF(1)
          Line Input #1, Y
        vTmp = Split(Y, "@")
If Y = "" Then Exit Sub
If IsNumeric(vTmp(0)) Then

rs.AddNew
   rs.Fields(0) = vTmp(0)
   rs.Fields(1) = vTmp(1)
   rs.Fields(2) = vTmp(2)
   rs.Fields(3) = vTmp(3)
   rs.Fields(4) = vTmp(5)
   rs.Fields(5) = vTmp(5)
   rs.Update
Else

End If
Loop
Close #1
MsgBox "OK"
End Sub
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3314s