@ ประกาศใช้งานเว็บบอร์ดใหม่คลิกลิ้งได้ที่โลโก้ ไท.Access หรือกด --> บอร์ดเรียนรู้ Access สำหรับคนไทย 
                         โพสต์ถาม,ตอบที่บอร์ดใหม่ แล้วจะใส่ลิ้งอ้างมาที่บอร์ดนี้หรือไม่ก็ตามสะดวกครับ


Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ ระบบฐานข้อมูล
Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ การเขียนโปรแกรม
Access : เป็นได้ทั้งตัวเก็บฐานข้อมูล และตัวจัดการฐานข้อมูล
Thai Access : บอร์ดเสริมการเรียนรู้ Access ด้วยภาษาไทย


Back to Board : Thai Access Webboard

อยากจะสอบถามเกี่ยวกับการ export file to text file


Topic by Message Posted : on : 16/7/2555 17:57:19
jommann  อยากจะสอบถามเกี่ยวกับการ export file จากการ query ให้ export ออกมาเป็น txt file ที่ส่ง bank ได้
ลักษณะ ข้อมูลใน field ต่าง ๆ ติดกันหมดเลย เป็น reccord ๆ ไป อ่ะครับ พอจะมีตัวอย่างมั้ยครับ

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

Reply by Message on : 17/7/2555 9:09:01
Un
(R13342)
ก็ทำข้อมูลลงใน Query ให้ได้ตามโครงสร้างที่เราต้องการก่อน
ตรงช่วงที่จะให้เป็นช่องว่างก็ใส่ Space(ใส่ตัวเลขจำนวนช่องว่าง)
Save Query แล้วไปคลิ๊กขวาที่ Query ส่งออกเป็น Text File
ลองเลือกตัวเลือกต่างๆ ดูนะครับ
Back to Top
Reply by Message on : 17/7/2555 10:16:19
jommann
(R13343)
ผมลองทำตามวิธีที่แนะนำแล้วอ่ะครับ แต่ผลลัพท์ที่ออกมัน จะมี double quote และcomma ติดมาด้วย ต้องการจะลบ ทั้งสองตัวออก ต้องเขียนยังงัยเหรอครับผมใช้ code

Private Sub btnReport_Click()
On Error GoTo Err_Handler

Dim strPath As String

strPath = InputBox("Enter file path", , "C:\sbank.txt")

If Len(strPath) = 0 Then Exit Sub

DoCmd.TransferText acExportDelim, , "qryReportTextfile", strPath


MsgBox "Done", vbInformation

Exit_Handler:
Exit Sub

Err_Handler:
MsgBox Err.Description, vbExclamation, "Error No: " & Err.Number
Resume Exit_Handler
End Sub

นี้อ่ะครับ รบกวนด้วยน่ะครับ ด่วนได้จะเยี่ยมเลยครับ เพราะต้องส่งงานวันนี้แล้ว
Back to Top
Reply by Message on : 17/7/2555 11:54:07
yeadram
(R13347)
Sub Txxxxxx()
dim conn as new adodb.connection
dim rs as new adodb.recordset
dim sq as string
dim i, j as integer

set conn = currentproject.connecion
rs.open "qryReportTextfile", conn, 1


if not rs.eof then
rs.movelast
rs.movefirst
j = rs.fields.count-1
open "C:\sbank.txt" for output as #1

do while not rs.eof
sq = ""
for i = 0 to j
sq= sq & rs(i)
next

Print #1, sq
rs.movenext
loop
close #1

end if

rs.close
set rs= nothing
set conn = nothing
end sub
Back to Top
Reply by Message on : 17/7/2555 15:51:14
jommann
(R13349)
ผมลองเอามาใส่ แล้ว มันขึ้นว่า "label error อ่ะครับ มันเกิดอะไรเหรอครับ
Back to Top
Reply by Message on : 17/7/2555 16:05:57
jommann
(R13350)
ขณะนี้ผม พยายามทำ มันออกมาได้เป็นลักษณะนี้แหละครับ

output :

999000 666 0 0 0 11650 111100000 2850 Brendon Moar อ่ะครับ

เป้าหมายอยากจะได้เป็นแบบนี้อ่ะครับ

9990006660001165011100002850xxxx ประมานี้อ่ะครับ

โค้ดที่ผมใช้

Private Sub btnReport_Click()
On Error GoTo Err_Handler

Dim strPath As String

strPath = InputBox("Enter file path", , "C:\sbank.txt")

If Len(strPath) = 0 Then Exit Sub

DoCmd.TransferText acExportDelim, "qryReportTextfile Export Specification", "qryReportTextfile", strPath


MsgBox "Done", vbInformation

Exit_Handler:
Exit Sub

Err_Handler:
MsgBox Err.Description, vbExclamation, "Error No: " & Err.Number
Resume Exit_Handler

End Sub

จะสามารถแก้ไข ส่วนไหนได้บ้างครับเพื่อให้เป็นไปตามเป้าหมายอ่ะครับ ตอนนี้มึนตึบหมดแหละครับ
Back to Top
Reply by Message on : 17/7/2555 17:55:32
yeadram
(R13352)
คุณคัดลอกตัวที่ผมให้ไป ไปวางในโมดูลว่างๆ
เอาพ้อยเตอร์ของเม้าส์ วางในบริเวณ sub ดังกล่าว แล้วกดปุ่ม F5
ถ้ามันทำงานได้เป็นปกติ มันจะแว๊บเดียวหายเลย ไปตรวจดูใน ไดรฟ C ได้เลยครับ

ถ้ามัน Error บรรทัดไหน บอกด้วยครับ ว่าบรรทัดไหน

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

อ้อ อีกอย่าง ถ้าอยากประยุกต์ใส่ในปุ่มง่ายๆ ก็ อย่าเอาหัว sub กับ ท้าย sub ไป เอาทั้งหมดเลย ไปวางแทนทุกๆ บรรทัดใน sub command ของคุณนั่นแหละครับ
Back to Top
Reply by Message on : 18/7/2555 9:43:36
jommann
(R13362)
ทดสอบแล้วครับ มันขึ้น error ว่า

Run-time error '438'
Object doesnt support this property or method

และพอผมกด debug มันจะไปแสดง ที่ บรรทัด

set conn = currentproject.connecion

ครับ ถ้าเป็นแบบนี้ มีวิธีแก้ยังงัยบ้างครับ
Back to Top
Reply by Message on : 18/7/2555 10:20:11
yeadram
(R13363)
พิมพ์ใหม่ครับ ตก ตัว t ไปตัวหนึ่ง
คำว่า connection
Back to Top
Reply by Message on : 18/7/2555 10:46:45
jommann
(R13365)
สุโค่ย ๆๆๆๆๆ ได้แหละครับ ขอบคุณมากครับ ไม่ได้ คุณ yeadram ชีวิตอาจดับได้ครับ

รบกวนอีกนิดนึงครับ ถ้าเรา ต้องการจะใส่ 0 ใน
999000 666 0 0 0 11650 111100000 2850 Brendon Moar อ่ะครับ

เลขศูนย์หลัง 666 เพิ่มอีก 10 หลักอ่ะครับ ผมจะเพิ่มในส่วนไหนได้บ้างครับ ผม query แล้ว มัน exp1 ได้แค่ หลักเดียวอ่ะครับ
Back to Top
Reply by Message on : 18/7/2555 12:08:08
yeadram
(R13366)
ฟิลด์ 666 ของคุณเป็นฟิลด์ลำดับที่เท่าไหร่ (นับฟิลด์แรกเริ่มจาก 0)
สมมติว่าเป็นฟิลด์ 1 ก็แล้วกัน ก็แก้เป็น

do while not rs.eof
sq = ""
for i = 0 to j
sq= sq & rs(i)
if i = 1 then sq = sq & "0000000000" ' เพิ่มบรรทัดนี้เข้ามาครับ
next
Back to Top
Reply by Message on : 18/7/2555 13:53:40
jommann
(R13367)
ได้แล้วครับ เป็นไปตามที่ต้องการเลยครับ
ขอบคุณมากครับ
Back to Top
Reply by Message on : 23/7/2555 14:13:15
jommann
(R13413)
ต่ออีก 1 คำถามครับ ผมใส่ code เหล่านี้ใน vb access 2003 เรียกรันได้ปกติ แต่พอเป็น 2007 มันไม่ effect ใด ๆ เลยครับ มีวิธีการเรียกใช้ ยังงัยบ้างครับ
Back to Top

 @ ประกาศใช้งานเว็บบอร์ดใหม่คลิกลิ้งได้ที่โลโก้ ไท.Access หรือกด --> บอร์ดเรียนรู้ Access สำหรับคนไทย 
                         โพสต์ถาม,ตอบที่บอร์ดใหม่ แล้วจะใส่ลิ้งอ้างมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ


Sorry, you can NOT post a reply.
+++ webboard source: ASPThai.Net Webboard 6.0 webbord +++++++ admin : yeadram +++