แสดงกระทู้

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 4 ... 8
2
ตรงคำสั่งที่ปุ่ม Detail ที่เป็น

    DoCmd.OpenForm "frmLGDocDep", , , stLinkCriteria

ให้เพิ่ม OpenArgs เป็น Me.Address เพื่อส่งค่า Address ไปยังฟอร์มใหม่ที่เปิด

    DoCmd.OpenForm "frmLGDocDep", , , stLinkCriteria, , , Me.Address

ในฟอร์ม frmLGDocDep ตรง control ที่เป็น Address ให้ตั้ง Default Value เป็น = OpenArgs ครับ

3
ชนิดของข้อมูล ถ้าเรากำหนดให้เป็น number ชนิด double (หรือ single ในบางกรณี) ซึ่งเป็นข้อมูลชนิดที่มีทศนิยมหลายตำแหน่ง ทำให้เวลานำไปคำนวณต่างๆ ผลลัพธ์ที่ได้อาจจะมีค่าของทศนิยมเหลืออยู่ บางทีคำนวณได้ 0 แต่จริงๆมันอาจจะได้ค่าเป็น 0.00000000001 (ซึ่งไม่เท่ากับ 0) ดังนั้นเวลาสร้างเงื่อนไขกับข้อมูลเหล่านี้ต้องคำนึงถึงเรื่องพวกนี้ด้วยครับ

4
ค่า sum_t_debt อาจจะเป็นแบบ Double Float ที่มีค่า 0.000000000001 ก็ได้ครับ

ลองกำหนดเงื่อนไขใหม่ให้เป็น sum_t_debt > 0.0001 ดูครับ

5
เนื่องจากฐานข้อมูลมีการเปิดใช้ BigInt ไปแล้ว ซึ่งจะทำให้ฐานข้อมูลถูกอัพเกรดเป็น database รุ่น 16.7 อย่างถาวร ซึ่งจะเปิดใช้ได้เฉพาะ Access 2016 รุ่น 16.0.7xxx เป็นต้นไปเท่านั้น

วิธีแก้ไขคือให้เปลี่ยน data type จาก BigInt (Large Number) เป็น Number ธรรมดา

หลังจากนั้นให้สร้างไฟล์ Database ใหม่โดยที่ตรง Database Option ต้องไม่เปิดการใช้งาน BigInt (Support Bigint Data Type for Linked/Imported Tables ปกติมันจะไม่เปิดอยู่แล้ว) แล้วให้ Import ตารางจากไฟล์เก่าเข้ามาในไฟล์ Database ที่สร้างใหม่นี้แทน

https://support.office.com/en-gb/article/using-the-large-number-data-type-5b623f6e-641d-4e97-8bdf-b77bae076f70
https://support.office.com/en-gb/article/set-user-options-for-the-current-database-29b6b7be-4c3b-43a7-b8f0-5e1c68f5adce#largenumber

6
material type เป็น text ต้องแก้เป็นแบบนี้ครับ (ใส่เครื่องหมาย single quote เพิ่มเข้าไปเมื่อ data type เป็น Text)

โค๊ด: [Select]
IIf(IsNull(Me.processtxt ), "", "[material] = '" & Me.processtxt & "' And ") & _

7
ขออนุญาตเรียนถามท่านครับ ว่าของท่านเคยเจอเคสแบบผมไหม แล้วถ้าแก้ไขตามที่ท่านว่า สามารถเปิดดูได้รึเปล่าครับ ขอบคุณครับ

ไม่เคยครับ แต่ Microsoft มาตอบเองคุณก็ลองเช็คดูครับว่ามี field ที่เป็น BigInt หรือไม่ ถ้าใช่มันก็คือสาเหตุแหละครับ หรือไม่อย่างนั้นก็อัพเกรดตัว MS Access 2016 เป็น version 16.0.7xxx.xxxx or later. แต่ผมไม่แนะนำวิธีหลังเพราะเดี๋ยวมีลูกค้าไปเปิดใน 2013 หรือ 2010 ก็เจอปัญหาอีก

8
Bill_status คือฟิลด์ที่มีค่าเป็น "0' ใช่ไหมครับ (หาวิธีส่งรูปครับ ทำไมผม up รูปไม่ขึ้น ขออภัย)
ใช่ครับ

9
กำหนด Property ที่ Filter ให้เป็นเงื่อนไขที่ต้องการ เช่น Bill_Status <> 0 และกำหนดให้ Filter On = True

10
Private Sub Search_Click()

Dim stCriteria As String

stCriteria = IIf(IsNull(Me.PeriodDateStart), "", "[tblFieldDate] >= " & CDbl(Me.PeriodDateStart) & " And ") & _
                 IIf(IsNull(Me.PeriodDateEnd), "", "[tblFieldDate] <= " & CDbl(Me.PeriodDateEnd) & " And ") & _
                 IIf(IsNull(Me.ProcessNo), "", "[tblFieldProcessNo] = " & Me.ProcessNo & " And ") & _
                 IIf(IsNull(Me.Person), True, "[tblFieldPerson] = '" & Me.Person & "'")

Me.subForm.Form.RecordSource = "SELECT tblField1, tblField2, ... FROM tblTable WHERE " & stCriteria

End Sub

11
https://support.microsoft.com/en-us/help/3208802/database-you-are-trying-to-open-requires-a-newer-version-of-microsoft

มีการใช้ BigInt Data type เช็คตารางที่มีการใช้ BigInt ให้เปลี่ยนจาก large Number เป็น Number เฉยๆ

12
ห้อง MS Access / : cannot open any more tables
« เมื่อ: 25 มี.ค. 62 , 21:58:43 »
เป็นข้อจำกัดของ Access ครับ มันสามารถมีและเปิดตารางได้ไม่เกิน 2000 ตารางครับ ถ้าโปรแกรมมีตารางเยอะ มี query หรือฟอร์มที่อิงตารางเยอะ หรือมีคอมโบบอกซ์หรือ list box ที่อิงกับตารางเยอะๆ แล้วเปิดใช้งานพร้อมๆกัน พอถึงจุดเกิน 2000 ตารางเมื่อไหร่ก็จะมี error นี้ครับ

13
ดูตรงปุ่ม Advanced.. ทั้ง Export และ Import ว่าตั้งค่าอะไรไว้เหมือนกันหรือเปล่า

14
Add ตาราง DropB_Surname เข้าไปใน query ด้วย แล้ว JOIN ตารางเข้าด้วยกัน

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

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

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


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

18
ห้อง 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

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