สมัครสมาชิก
 

กำหนดรูปแบบของ TexT ไฟล์ ที่ ส่งออก



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

18 ม.ค. 62 , 11:26:54
อ่าน 236 ครั้ง

Un

กำหนดรูปแบบตัวคั่นของ Text File เป็น | (Pii)
มีความจำเป็นต้องใช้ Code ในการเขียน จึงเขียนออกมาแบบนี้

       
        Dim filex
        Dim rst As DAO.Recordset
        Set rst = CurrentDb.OpenRecordset("Tableที่ส่งออก")
 
                filex = FreeFile
                Open "D:\Folder\FileName.txt" For Output As filex
                Print #filex, "Text ต่างๆ ที่ต้องใช้ประกอบไฟล์"
                Do Until rst.EOF
                Print #filex, rst("ฟิลด์ที่1") & "|" & rst("ฟิลด์ที่2") & "|" & rst("ฟิลด์ที่3")      <---- บรรทัดนี้เอา | มาขั้น
                rst.MoveNext
                Loop
                Print #filex, "Text ต่างๆ ที่ต้องใช้ประกอบไฟล์"
                Set rst = Nothing
           
                Close

ผลที่ส่งมา บางไฟล์ที่ส่งมา สามารถรับ Text ไฟล์ แยกฟิลด์ตาม | ที่ขั้นได้ปกติ
บางไฟล์ ไม่สามารถ แยกได้ ฟิลด์ซ้อนกันใน 1 เรคคอด

ในกรณีปกติ ผมส่งออกแล้วบันทึกรูปแบบการส่งออกมา แต่ถ้าจะนำรูปแบบที่บันทึก
มาใช้ใน Code นี้ ต้องเขียนยังงัยครับ

ขอบพระคุณครับ

 

09 ก.พ. 62 , 09:58:52
ตอบกลับ #1

ศรี-นคร

: กำหนดรูปแบบของ TexT ไฟล์ ที่ ส่งออก
« ตอบกลับ #1 เมื่อ: 09 ก.พ. 62 , 09:58:52 »
ปัญหานี้น่าจะเหมือนกับที่ผมเคยใช้ Tab Delimit เป็นตัวแบ่งข้อมูลใน Text file ที่ส่งออกทำให้การนำเข้าข้อมูลข้อไฟล์นี้ผิดพลาดไป
ปัจจุบันนี้ผมเปลี่ยนมาใช้เครื่องหมายคอมม่า (,) แทนยังไม่เจอปัญหาดังกล่าวเลย

ส่วนการเขียนโค๊ดเพื่อส่งออกข้อมูลยังมีความต้องการให้แนะนำอีกหรือเปล่าครับ
หากต้องการจะทำตัวอย่างเพื่อโพสประกอบคำแนะนำ เพราะมันมีเทคนิคประกอบการเขียนโค๊ดนิดหนึ่ง ซึ่งต้องใช้รูปประกอบด้วยครับ เพื่อความเข้าใจง่าย

 
โพสต์นี้ได้รับคำขอบคุณจาก: Un

11 ก.พ. 62 , 13:10:12
ตอบกลับ #2

Un

: กำหนดรูปแบบของ TexT ไฟล์ ที่ ส่งออก
« ตอบกลับ #2 เมื่อ: 11 ก.พ. 62 , 13:10:12 »
ปัญหานี้น่าจะเหมือนกับที่ผมเคยใช้ Tab Delimit เป็นตัวแบ่งข้อมูลใน Text file ที่ส่งออกทำให้การนำเข้าข้อมูลข้อไฟล์นี้ผิดพลาดไป
ปัจจุบันนี้ผมเปลี่ยนมาใช้เครื่องหมายคอมม่า (,) แทนยังไม่เจอปัญหาดังกล่าวเลย

ส่วนการเขียนโค๊ดเพื่อส่งออกข้อมูลยังมีความต้องการให้แนะนำอีกหรือเปล่าครับ
หากต้องการจะทำตัวอย่างเพื่อโพสประกอบคำแนะนำ เพราะมันมีเทคนิคประกอบการเขียนโค๊ดนิดหนึ่ง ซึ่งต้องใช้รูปประกอบด้วยครับ เพื่อความเข้าใจง่าย

ต้องการครับ เป็นความรู้ จะได้ประยุกต์ใช้ได้หลายๆ แบบครับ

 
โพสต์นี้ได้รับคำขอบคุณจาก: Piya125

11 ก.พ. 62 , 13:40:32
ตอบกลับ #3

ปิ่นณรงค์

: กำหนดรูปแบบของ TexT ไฟล์ ที่ ส่งออก
« ตอบกลับ #3 เมื่อ: 11 ก.พ. 62 , 13:40:32 »
Export TextFile ให้มี l ขั้นระหว่างกลางทำได้อยู่ครับไม่ยาก แต่ถ้าจะให้เข้ารหัส MD5 ผมก็ไม่เคยทำเหมือนกันครับผม
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Un, Piya125

11 ก.พ. 62 , 13:57:15
ตอบกลับ #4

Un

: กำหนดรูปแบบของ TexT ไฟล์ ที่ ส่งออก
« ตอบกลับ #4 เมื่อ: 11 ก.พ. 62 , 13:57:15 »
Export TextFile ให้มี l ขั้นระหว่างกลางทำได้อยู่ครับไม่ยาก แต่ถ้าจะให้เข้ารหัส MD5 ผมก็ไม่เคยทำเหมือนกันครับผม
คือแค่ส่งให้มี | ผมทำได้สบาบครับ แต่มันมี รูปแบบ มากมาย ผมไม่เคยทำและไม่เคยเห็นเลยทำไม่ได้ครับอาจารย์

 
โพสต์นี้ได้รับคำขอบคุณจาก: Piya125

11 ก.พ. 62 , 14:02:21
ตอบกลับ #5

ปิ่นณรงค์

: กำหนดรูปแบบของ TexT ไฟล์ ที่ ส่งออก
« ตอบกลับ #5 เมื่อ: 11 ก.พ. 62 , 14:02:21 »
Export TextFile ให้มี l ขั้นระหว่างกลางทำได้อยู่ครับไม่ยาก แต่ถ้าจะให้เข้ารหัส MD5 ผมก็ไม่เคยทำเหมือนกันครับผม
คือแค่ส่งให้มี | ผมทำได้สบาบครับ แต่มันมี รูปแบบ มากมาย ผมไม่เคยทำและไม่เคยเห็นเลยทำไม่ได้ครับอาจารย์
งั้นลองอธิบาย ขั้นตอนอีกทีนะครับว่าต้องการแบบไหนเริ่มตั้งแต่ต้นเลยว่า ต้องการรูปแบบแบบไหนครับ เพื่อจะช่วยได้ครับ
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Piya125

11 ก.พ. 62 , 14:44:50
ตอบกลับ #6

Un

: กำหนดรูปแบบของ TexT ไฟล์ ที่ ส่งออก
« ตอบกลับ #6 เมื่อ: 11 ก.พ. 62 , 14:44:50 »
ความรู้เดินนะครับ เวลาจะส่งออก Textfile ตามรูปแบบต่างๆ ผมใช้วิธี
ส่งออกเองที่ไฟล์ก่อน แล้วกำหนดรูปแบบตามโครงสร้าง แล้ว Save
รูปแบบการส่งออกไว้ เมื่อต้องการส่งออก ก็จะใช้โคตแบบนี้

DoCmd.TransferText acExportDelim, "ชื่อรูปแบบที่saveไว้", "ชื่อคิวรี่", "C:\ & "ชื่อไฟล์.txt"

แต่ไฟล์ที่ผมถามเหมือนกันเค้าใช้รูปแบบที่ซับซ้อน

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

ส่วน MD5 มันจะเอามาต่อเป็นบันทัดสุดท้าย
ซึ่งผมก็หาในหลายๆ เวป ก็มีเหมือนกันแต่มันอ่านดูแล้วมันยากมากๆ
ผมจึงมาถามอาจารย์ เผื่อมันจะมีวิธีที่ง่ายกว่านี้ครับ

 
โพสต์นี้ได้รับคำขอบคุณจาก: Piya125

11 ก.พ. 62 , 15:47:31
ตอบกลับ #7

ปิ่นณรงค์

: กำหนดรูปแบบของ TexT ไฟล์ ที่ ส่งออก
« ตอบกลับ #7 เมื่อ: 11 ก.พ. 62 , 15:47:31 »
รูปแบบที่จะออกมาเป็นแบบไหนครับ แบบนี้ไหม
ข้อมูล



Output


CODE
โค๊ด: [Select]
Private Sub Command0_Click()
  Call MakeTextLine
End Sub

Sub MakeString()
    Dim fso As Scripting.FileSystemObject
    Dim FF As Scripting.TextStream
    Dim rs As DAO.Recordset
    Set fso = New Scripting.FileSystemObject
    Set FF = fso.CreateTextFile("C:\test1.txt", True) ,ตำแหน่งที่จะ Export Text ออกไป
    Set rs = CurrentDb.OpenRecordset("Table1") 'กำหนดตาราเป้าหมาย
          Do Until rs.EOF
    FF.WriteLine rs!ID & "|" & rs!Field1 & "|" & rs!Field2 & "|" & rs!Field3 & "|" & rs!Field4 'ทำจนจบในแต่ละแถวแล้วไปRecord ต่อไป
    rs.MoveNext
          Loop
   FF.Close
End Sub

ถ้าไม่ใช่ อธิบายเพิ่มได้ครับผมแก้ไขให้
« แก้ไขครั้งสุดท้าย: 11 ก.พ. 62 , 17:08:44 โดย ปิ่นณรงค์ »
:love: :grin:
 


บอร์ดเรียนรู้ Access สำหรับคนไทย