แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - aek

หน้า: 1 2 [3]
33
หมายถึง จะสร้างปุ่มขึ้นมา 1 ปุ่ม แล้วกดครั้งเดียวให้ File ทั้งหมดที่เป็น .txt Import เข้าตารางทั้งหมดใช่ไหมครับ


Private Sub Command1_Click()
    Dim strPath As String
    Dim strFile As String
    Dim strTable As String
    Dim StrFileName As string

    strTable = "ชื่อตารางเป้าหมาย"     
    strPath = "d:\โฟลเดอร์ที่เก็บไฟล์ .txt"
    strFile = Dir(strPath & "*.txt")

    Do While strFile <> ""
    StrFileName = strPath & strFile       
    DoCmd.TransferText acImportDelim, "importdata", strTable, StrFileName ,False
           
    strFile = Dir
    Loop
End Sub

ลองเทสดูก่อนนะครับ พอดีไม่ได้ทดสอบคำสั่งก่อนถ้ามีผิดพลาดบอกได้นะ
โพสต์นี้ได้รับคำขอบคุณจาก: aek

34
กำหนดให้ คำสั่งใส่ 0 รอไว้ให้เราเลยครับ
พอได้รหัสจากบาร์โคด เช่น 1234 ข้อมูลจากคำสั่งนี้จะได้เป็น 01234.txt และทำการ Import ให้ทันทีครับ
Private Sub textbox1_AfterUpdate()
Dim StrFileName As string
StrFileName =  "d:\0" & Me.textbox1 & ".txt"
DoCmd.TransferText acImportDelim, "importdata", "import", StrFileName ,True
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: aek

35
เวลาคุณกรอกข้อมูล เป็นการสร้าง textbox1 และใส่ชื่อไฟล์รวมทั้งนามสกุลไปเลยหรือเปล่า
เช่น ใน textbox1 คุณใส่ไปว่า 1234.txt แล้วกด Enter แล้วคำสั่ง Import ก็จะทำงานแบบนี้หรือเปล่า ถ้าใช่

ให้กำหนด Event Afterupdate ของ textbox1 ดังนี้
โค๊ด: [Select]
Private Sub textbox1_AfterUpdate()
Dim StrFileName As string
StrFileName =  "d:\" & Me.textbox1
DoCmd.TransferText acImportDelim, "importdata", "import", StrFileName ,True
End Sub

หรือถ้าไฟล์ทุกอันที่จะ Import เป็นไฟล์ .txt ทั้งหมดก็ใส่คำสั่งเป็นแบบนี้ กรณีนี้ใส่แค่ชื่อไฟล์ฺ 1234
โค๊ด: [Select]
Private Sub textbox1_AfterUpdate()
Dim StrFileName As string
StrFileName =  "d:\" & Me.textbox1 & ".txt"
DoCmd.TransferText acImportDelim, "importdata", "import", StrFileName ,True
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: aek

36
เราใช้ฟอนท์ Wingding สำหรับเท็กซ์บ็อกซ์เพื่อแสดงรูปสัญญลักษณ์ได้ สมมุติ P คือชื่อฟิลด์ที่เก็บ path ของรูป ก็กำหนด Control Source ของเท็กซ์บ็อกซ์ที่แสดงสัญญลักษณ์เป็น =IIf(nz([P],"")="","","*") มันก็จะแสดงสัญญักษณ์ จดหมาย (เพราะหาไม่เจอสัญญลักษณ์รูป คลิป)  ถ้าอยากได้สัญญลักษณ์อื่นๆ ก็เปิดโปรแกรม Character Map ที่มากับวินโดว์อยู่แล้ว เลือกฟอนท์ Webding, Wingding(1-3) เอาตัวไหนก็ดับเบิลคลิกรูปแล้วคลิกปุ่ม Copy  กลับมาที่ expression ข้างบน กดคีย์ paste ลงแทนที่ * ได้เลยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: aek

37
ผมมีโค้ดตัวนึง ลองเอาโค้ดนี้ไปใช้ดู แต่ไม่ยืนยันนะครับว่าจะถูกต้อง 100% หรือไม่
โค๊ด: [Select]
Public Sub CutLastCRLF(aFullFileNM As String)
    Dim B As String * 1
    Dim S As String
    Dim L As Long

    Open aFullFileNM For Binary Access Read As #1
    Do Until EOF(1)
        Get #1, , B
        S = S & B
    Loop
    Close #1

    If Right(S, 3) <> vbCr & vbLf & vbNullChar Then
        Exit Sub
    End If

    S = Left(S, Len(S) - 3)

    On Error Resume Next
    Kill aFullFileNM

    On Error GoTo 0
    Open aFullFileNM For Binary Access Write As #1
    Put #1, , S
    Close #1
End Sub
จะเรียกใช้ก็สั่ง Call CutLastCRLF("Drive:\Path\File.txt") มันจะเขียนทับไฟล์เดิมครับ
โพสต์นี้ได้รับคำขอบคุณจาก: aek

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

หน้า: 1 2 [3]