สมัครสมาชิก

แสดงกระทู้

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
1
ได้แล้วครับ ขอบคุณมากๆ ตอบไม่ช้าหรอกครับ ผมรอได้ครับ :grin: :grin: :grin:

2
ทำได้แล้วครับ แต่ทำให้โปรแกรม import ช้าลงอีก ผู้ใช้งานคงไม่ Happy ขอบคุณครับ

3
อ.ปิ่นณรงค์ ครับขออนุญาติสอบถามเพิ่ม ถ้าต้องการทราบจำนวนไฟล์ที่ *.txt ในโฟล์เดอ strPath ก่อนที่จำทำการ import ว่ามีกีไฟล์ ไม่ทราบว่าจะต้องเขียน code เพิ่มอย่างไรครับ ขอบคุณครับ :prettiness: :prettiness: :prettiness:

5
คือผมใช้ข้อมูลที่ import มาจาก mapdrive ไว้ บ้างที่ drive เป็น disconnect ผู้ใช้จะไม่ทราบ ทำให้คิดว่าไม่มีข้อมูลใหม้เข้ามา อ.ท่านไหน ที่พอมีแนวทางหรือโค้ดตัวอย่างบ้างไหมครับ

ขอบคุณครับ

 :prettiness: :prettiness: :prettiness:

6
ขอถามนะครับถ้าจะเอาโค้ด 1 แทรกลงในโค้ด 2 จะต้องเขียนอย่างไรครับ ขอบคุณครับ  :prettiness:
 
---โค้ด1----
Private Sub import_Click()
    Dim strPath As String
    Dim strFile As String
    Dim strTable As String
    Dim StrFileName As String
    Dim strextensionNew As String

    strTable = "Table1"
    strPath = "D:\textfile\"
    strFile = Dir(strPath & "*.txt")
    If strFile = "" Then
    MsgBox "ไม่พบไฟล์ที่จะ Import !!", vbCritical, "แจ้งเตือน"
    Exit Sub
    End If
    Do While strFile <> ""
    StrFileName = strPath & strFile
    DoCmd.TransferText acImportDelim, "", strTable, StrFileName, False
   
    strextensionNew = Left(StrFileName, InStrRev(StrFileName, ".") - 1) & ".xxx"
   
   
   
    Name StrFileName As strextensionNew
    strFile = Dir
    Loop
End Sub


---โค้ด2---
Option Compare Database
Option Explicit

Dim holdPercComplete As Single

Private Sub UpdateProgress(CurrentItem As Long, TotalItems As Long, taskName As String)
    Dim PercComplete As Single
    Dim intWidth As Integer
   
    Me.lblCurrentTask.Caption = taskName
   
    'Validate data
    If CurrentItem <= 0 Or TotalItems <= 0 Then
        imgProgress.Width = 0
        Exit Sub
    End If
   
    'Calculate the percentage complete
    PercComplete = CurrentItem / TotalItems
    If Int(PercComplete * 100) = Int(holdPercComplete * 100) Then
        Exit Sub
    End If
    'Save it for comparison
    holdPercComplete = PercComplete
   
    'Calculate how wide to make the progress bar
    If (PercComplete * 100) Mod 5 = 0 Then
        intWidth = (BoxProgress.Width * PercComplete)
        imgProgress.Width = intWidth
        DoEvents    'or Me.Repaint
    End If

End Sub


Private Sub Form_Load()
    Call UpdateProgress(0, 0, "Idle")
End Sub

Private Sub cmdStart_Click()
    Dim lngItem As Long
    Const lngTotal As Long = 100000
   
    Do While lngItem <= lngTotal
        lngItem = lngItem + 1
        If lngItem < 50000 Then
            Call UpdateProgress(lngItem, lngTotal, "Starting...")
        ElseIf lngItem < 75000 Then
            Call UpdateProgress(lngItem, lngTotal, "Getting there...")
        Else
            Call UpdateProgress(lngItem, lngTotal, "Almost finished...")
        End If
    Loop
   
    Call UpdateProgress(lngItem, lngTotal, "Task complete")

End Sub


7
ห้อง MS Access / : อยากทำ progress meter
« เมื่อ: 11 ธ.ค. 61 , 00:38:51 »
ขอบคุณ อ.TTT คงจะจริงตามที่ อ.ว่ามา เครื่องต้องทำงานช้าลง คงไม่จำเป็น

8
ห้อง MS Access / อยากทำ progress meter
« เมื่อ: 09 ธ.ค. 61 , 10:34:22 »
เวลา import ข้อมูลเยอะแล้ว จะขึ้นเป็นนาฬิกาทราย ผู้ใช้อาจจะคิดว่า error หรือไม่ทราบว่าต้องรอนานขนาดไหน ถ้าเปลี่ยนนาฬิการทรายเป็น Progress meter น่าจะดีกว่า ต้องทำอย่างไรบ้างครับ :prettiness: :prettiness: :prettiness:
แบบรูปที่แนบมาครับ

9
กำลังอยากได้อยู่พอดี ขอบคุณครับ :grin: :grin: :grin:

10
สุดยอดไปเลย ขอบคุณมากๆครับ ได้ตามที่ต้องการเลยครับ :grin: :grin: :grin:

11
จากกระทู้นี้ https://www.thai-access.com/index.php?topic=540.0 ครับ

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

คือ strPath จะมีไฟล์ใหม่มาเพิ่มตลอด ต้องการไม่ให้ import ไฟล์เดิมซ้ำ(เพราะทำให้โปรแกรม importนานเกินจำเป็น) และไม่อยากลบไฟล์ต้นฉบับ(ต้องการเปลี่ยนจาก *.txt เป็น *.xxx หลักจาก import แล้ว) ต้องเขียนโค้ดเพิ่มอย่างไรครับ ขอบคุณครับ

12
เข้าใจครับ มันก็ต้องใช้ แบบที่ผมบอกอยู่ดี


ทำได้แล้วครับ ตามแนวทางที่แนะนำเลยครับ  :yuush: :yuush: **ผมล็อคอินชื่อใหม่

13
ทำได้แล้วครับตามแนวทางที่ อ.แนะนำเลยครับ :grin: :grin: :grin:

14
ทำได้แล้วครับ อ. แต่ขออนุญาติถามเพิ่มนะครับ ถ้าตาราง maindata มีฟอร์มสำหรับที่กรอกข้อมูลเข้ามาที่ตารางอยู่แล้ว ถ้าเราต้องการให้ import ข้อมูลจาก data1เข้าในฟอร์มก่อนที่จะเข้าตาราง maindata (กด save ถึงเข้า)(data1-->ฟอร์กรอกข้อมูล-->maindata) พอจะมีวิธีหรือหลักการอย่างไรบ้างไหมครับ ขอบคุณครับ

สอบถามเพิ่มเติม
1.ฟอร์มเป็นแบบ continuous form ใช่ไหมครับ
2.ต้องการ Import มาทีละรายการ หรือทั้งหมดในคราวเดียวครับ

วิธีการสามารถทำได้คับ โดยปกติแล้วเวลาผมทำโดยให้ฟอร์มดึงข้อมูลจาก Data1 มาก่อน (สามารถใช้ฟอร์มกรอกข้อมูลได้เลย ใช้การเปลี่ยน  record source เอา) พอจะ save ข้อมูลของ data1 ไปยัง maindata ก็ใช้คิวรี่ Append ไปอีกทีคับ วิธีนี้ดีตรงไม่ได้ทำบนตาราง maindata โดยตรงข้อมูลจะถูกจัดเก็บเมื่อกด save เท่านั้น

ตอบ
1.เป็นฟอร์มแบบ single
2.ต้องการ import ทีละรายจากการใช้ query กรองมาแล้ว

ผมพอเข้าใจแล้ว จะลองทำดูนะครับ ถ้าไม่ได้จะขอถามอีกทีนะครับ

15
ทำได้แล้วครับ อ. แต่ขออนุญาติถามเพิ่มนะครับ ถ้าตาราง maindata มีฟอร์มสำหรับที่กรอกข้อมูลเข้ามาที่ตารางอยู่แล้ว ถ้าเราต้องการให้ import ข้อมูลจาก data1เข้าในฟอร์มก่อนที่จะเข้าตาราง maindata (กด save ถึงเข้า)(data1-->ฟอร์กรอกข้อมูล-->maindata) พอจะมีวิธีหรือหลักการอย่างไรบ้างไหมครับ ขอบคุณครับ

16
ห้อง MS Access / ขอสอบถามวิธีการ Append query
« เมื่อ: 10 พ.ย. 61 , 17:56:43 »
ผมลองค้นหาจากกระทู้เก่าๆแล้ว แต่ก็ยังทำไม่ได้ เลยขออนุญาติถามเลยแล้วกันนะครับ :grin: :grin: :grin:

ตาราง data1 มาจาก Query ข้อมูลที่ import เข้ามา

หน้า: [1] 2