สมัครสมาชิก

แสดงกระทู้

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 - pizza_p

หน้า: [1] 2 3 ... 8
1
ห้อง MS Access / : วิธีเซฟไฟล์ MDB เป็น ACCDB
« เมื่อ: 17 ม.ค. 62 , 20:45:42 »
MDB เป็น format เก่า (ver 2000, 2003) แปลงเป็น MDE ได้
ACCDB เป็น format ใหม่ แปลงเป็น ACCDE ได้

ถ้าจะให้ MDB เป็น ACCDE น่าจะต้องแปลงจาก MDB => ACCDB =>ACCDE

2
ห้อง MS Access / : สอบถามError import csv fileค่ะ
« เมื่อ: 17 ม.ค. 62 , 20:34:34 »
ตรง VBA Reference ให้เพิ่ม Microsoft Office 1x.x Object Library เข้าไปด้วยครับ


3
ห้อง MS Access / : สอบถามError import csv fileค่ะ
« เมื่อ: 16 ม.ค. 62 , 15:22:56 »
ถ้าคุณใช้ Code ของผม คุณสามารถลบ Module และฟังก์ชั่นทั้งหมดที่เกี่ยวกับ GetOpenFile ได้เลย เพราะไม่ได้ใช้ส่วนนั้นแล้ว

4
ห้อง MS Access / : สอบถามError import csv fileค่ะ
« เมื่อ: 15 ม.ค. 62 , 14:13:38 »
ดูเหมือน GetOpenFile() จะเป็นการเปิด FileDialog สำหรับเลือกไฟล์เฉยๆ ซึ่งมีทางเลือกอื่นที่ไม่ต้องใช้ Module นี้ได้นะครับ (ดูเหมือน Module นี้จะเขียนขึ้นสมัย Access 95 ตอนที่ยังไม่มีทางเลือกให้ใช้)

โค๊ด: [Select]
Private Sub Command0_Click()
Dim Result As Integer

With Application.FileDialog(msoFileDialogFilePicker)
    .Title = "เลือกไฟล์ที่ต้องการ"
    .AllowMultiSelect = False
    .InitialFileName = "*.CSV"
    .Filters.Add "CSV Files", "*.CSV", 1
    .FilterIndex = 1
    Result = .Show
    If (Result <> 0) Then
        Me.txt_FilePath = Trim(.SelectedItems.Item(1))
    Else
        Exit Sub
    End If
End With

CurrentDB.Execute .....
Docmd.Transfertext......

End Sub

5
กำหนดให้เป็น Primary Key ถ้าเลขเดียวกันมันก็จะเพิ่มเข้าไปในตารางไม่ได้ จะเกิด Error แจ้งมา

6
ตอนสร้างลิงค์มันจะมีปุ่ม Advance ที่สามารถเข้าไปกำหนด font encoding ได้ พอดีไม่ได้ใช้เวอร์ชั่น 2010 เลยตอบยาก

7
จากความสัมพันธ์จะเห็นว่าตาราง 2divition ถ้าจะเพิ่มระเบียนเข้าไป จะต้องมีฟิลด์ ID ที่ต้องมีค่าอยู่ใน ID ของตาราง 1Name divition อยู่ก่อนหน้าแล้ว ถ้าเพิ่มระเบียนโดยไม่มีค่านี้อยู่ก็จะเกิด Error ที่ว่ามาได้ครับ

8
ระเบียนที่เพิ่มจำเป็นต้องมี Foreign key ที่เชื่อมโยงไปยัง Primary key ของอีกตารางหนึ่ง

ลองเปิดหน้าต่างความสัมพันธ์ดูว่ามีการเชื่อมโยง key ต่างๆไว้หรือไม่

9
ห้อง MS Access / : Hide Duplicates
« เมื่อ: 23 ธ.ค. 61 , 18:09:50 »
บรรทัด Dim KeyShow() ต้องเอาไปอยู่ก่อนที่จะมีฟังก์ชั่นใดๆครับ อยู่ใต้บรรทัด Option Compare Database ครับ

10
ห้อง MS Access / : Hide Duplicates
« เมื่อ: 21 ธ.ค. 61 , 17:19:25 »
อีกทางเลือก
โค๊ด: [Select]
Dim KeyShow()  'กำหนด array ใน form scope เพื่อให้ทุก sub หรือ func มองเห็น

Private Sub Form_Load()
       
SetKeyShow "visit_No", "VD"   'ตอนโหลดข้อมูลเสร็จให้สร้าง array ที่เก็บ PK แรกของค่าที่ไม่ซ้ำ

End Sub

Private Sub SetKeyShow(PK_Name As String, FieldShow_Name As String)
Dim MyRS As Recordset, CurrentValue As Variant

ReDim Preserve KeyShow(0 To 0) 'set ขนาด array มีค่า 1 ตัว

Set MyRS = Me.RecordsetClone

If MyRS.RecordCount > 0 Then
    MyRS.MoveFirst
    KeyShow(0) = MyRS(PK_Name) 'บรรทัดแรกต้องแสดงอยู่แล้ว เก็บ PK ไว้
    Do While Not MyRS.EOF
        CurrentValue = MyRS(FieldShow_Name) 'เก็บค่าบรรทัดปัจจุบันไว้
        MyRS.MoveNext
        If Not MyRS.EOF Then
            If MyRS(FieldShow_Name) <> CurrentValue Then 'ถ้าบรรทัดถัดไปไม่ซ้ำกับบรรทัดปัจจุบันก็ดำเนินการเก็บค่าไว้
                ReDim Preserve KeyShow(0 To UBound(KeyShow) + 1) 'เพิ่มขนาด array
                KeyShow(UBound(KeyShow)) = MyRS(PK_Name) 'เก็บค่า PK ที่ไม่ซ้ำเพิ่มใน array
            End If
        End If
    Loop
End If
MyRS.Close
Set MyRS = Nothing

End Sub

Private Function IsShow(PK As Variant) As Boolean
Dim i As Long
'ตรวจสอบค่า PK ที่จะต้องแสดง
IsShow = False
For i = LBound(KeyShow) To UBound(KeyShow)
    If KeyShow(i) = PK Then
      IsShow = True
      Exit For
    End If
Next i
End Function

ในคอนโทรลที่ต้องการไม่ให้แสดงค่าเฉพาะที่ไม่ซ้ำให้กำหนด source = IIf(IsShow([visit_No]),[VD],"")

11
แนะนำให้สร้าง report แล้ว copy เอาคอนโทรลในฟอร์มไปไว้ใน report แทนครับ ใน report เราสามารถควบคุมการจัดพิมพ์ได้ดีกว่าครับ

12
ถ้าเป็น Access 2007 จะต้องเป็น service pack 2 ขึ้นไปถึงจะมีเมนู export excel ครับ แนะนำให้ติดตั้ง Office 2007 service pack 3 ซึ่งเป็น service pack ล่าสุดไปเลยครับ

13
ลองเปิดไฟล์ .accde แล้วไปดูที่ตาราง Received กับตาราง StockWMS_yesterday ว่ามันไม่มีฟิลด์ที่ชื่อ PO Number กับ Zone_ID จริงหรือไม่

14
ใช้อันนี้แทน แต่ต้องกด Enter หลังจากใส่สูตรทุกครั้ง

Private Sub Output_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo Output_Err:
Dim myValue As Variant

If KeyCode = vbKeyReturn Then
    myValue = Eval(Me.Output.Text)
    Me.Output = myValue
End If
   
Output_Err:
    'bypass error

End Sub

15
Private Sub Output_AfterUpdate()
On Error GoTo Output_Err:
Dim myValue As Variant

myValue = Eval(Me.Output)
Me.Output = myValue

Output_Err:
  ' bypass error

End Sub

หมายเหตุ: ไม่ต้องใส่เครื่องหมาย = นะครับ ใส่ตัวเลข + - * / ได้เลย

16
มัน fix 4 ตัวนี้หรือเปล่า หรือมีเงื่อนไขอะไรที่จะได้มาซึ่ง 4 ตัวดังกล่าว ถ้าไม่ได้มีเงื่อนไขพิเศษ ก็ hard code ไปเลย เช่น

In ("FG","ACC","ACC-SET","IMPLEMENT")

หน้า: [1] 2 3 ... 8