แสดงกระทู้

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 - Eik Q Sang

หน้า: 1 2 3 4 [5] 6 7 8 ... 10
73
ผมได้สร้าง Continue Form โดยเขียนโค้ดดังนี้

Private Sub Command27_Click()
    Me.txt_DateClose = Now()
    Me.cb_Status = "¨จบงาน"
    Me.cb_DocEnvelope.Enabled = False
    Me.txt_OrderID.Enabled = False
    Me.txt_CIF.Enabled = False
    Me.txt_DocTypeCode.Enabled = False
    Me.txt_DocName.Enabled = False
    Me.cb_Status.Enabled = False
   
End Sub

เวลาผมกดปุ่มปรากฎว่า Enabled = False ทั้งหน้าเลยครับ คื่อผมต้องการให้ Enabled = False เฉพาะเรคคอร์ดบรรทัดนั้นๆบรรทัดเดียว ไม่ทราบต้องเขียนอะไรเพิ่มครับขอบคุณมากครับ

75
ลองดูที่นี่ครับ ไม่รู้ช่วยได้หรือป่าวนะ


ขอบคุณมากครับ

76
Private Sub TextFind_AfterUpdate()
On Error GoTo Err_Find
     Dim CutFName As String
     Dim CutLName As String
     Dim len_name As Byte
      If IsNumeric(TextFind) Then     'MsgBox "เป็นตัวเลข"
        DoCmd.ApplyFilter , "รหัสประจำตัว  like '" & [TextFind] & "*'OR เลขประจำตัวประชาชน  like '" & [TextFind] & "*'"
        len_name = 0
        End If
     If Not IsNumeric(TextFind) Then   'MsgBox "เป็นตัวหนังสือ"
         len_name = InStr([TextFind], " ")
            If len_name > 0 Then
                CutFName = Left([TextFind], [len_name] - 1)
                CutLName = Right([TextFind], Len(TextFind) - [len_name])
                DoCmd.ApplyFilter , "ชื่อ like '" & [CutFName] & "*' and นามสกุล Like '" & [CutLName] & "*'"
            Else
                DoCmd.ApplyFilter , "ชื่อ like '" & [TextFind] & "*' Or นามสกุล Like '" & [TextFind] & "*'"
            End If
    End If
    TextFind = Null
    TextFind.SetFocus
    Exit Sub
Err_Find:
   TextFind = Null
   TextFind.SetFocus
End Sub

ขอบคุณมากครับ

77
ใครพอมีตัวอย่างฟอร์มค้นหาแบบมีหลายๆเงื่อนไขบ้างครับ ขอบคุณมากครับผม

78
คำถามกว้างจัง
1. ใช้คิวรี โดยกำหนดให้คิวรีเป็น Record Source ของฟอร์ม แล้วตั้งเงื่อนไขให้ตรงกับคอนโทรลในฟอร์ม สุดท้ายกำหนด AfterUpdate เป็น Requery
2. ใช้ Dlookup โดยกำหนดเงื่อนไขตามที่ต้องการ จะเชื่อมด้วย AND หรือ OR ขึ้นกับความต้องการ
3. ใช้มาโครหรือ Module ด้วยคำสั่ง FindRecord

เท่าที่นึกออกตอนนี้

ขอบคุณคับ

79
รบกวนสอบถามครับว่า เราจะสร้างฟอร์มค้นหาแบบมีหลายๆเงื่อนไข อย่างไรได้บ้างครับ ขอบคุณมากครับผม

80
Event Docmd.Close form ต้องลบออก เพราะ Event ฟอร์มลงรายการมีการอ้างอิง ฟอร์มที่ระบุ ปีและเดือน ครับ
ผมได้แก้ไขและเพิ่มบางส่วนให้ส่งไปทางไลน์แล้วนะคับ

ขอบพระคุณมากครับผม

81
รบกวนตรวจสอบให้หน่อยครับ ไม่ทราบว่าเออเร่อตรงไหนครับ ขอบคุณมากครับผม

83
ผมต้องการจะสร้างฟอร์มคีย์ข้อมูลเอกสาร โดยเมื่อเปิดตามปี และเดือน ที่ต้องการ ทุกครั้งที่มีการคีย์เข้าตามปีและเดือนนั้นๆ อยากให้ระบบรันลำดับออโต้ครับ รายละเอียดดังนี้นะครับ

Table1 มีฟิลด์ดังนี้
Years (ชนิดข้อมูล Text)
Months (ชนิดข้อมูล Text)
Sequence (ชนิดข้อมูล Text)
DocNo  (ชนิดข้อมูล Text)

ต้องการสร้างฟอร์ม โดยในฟอร์มมีรายละเอียดดังนี้
Years (เป็น ComboBox)
Months (เป็น ComboBox)
ปุ่ม (เป็น Button) เมื่อกดปุ่มจะเปิดฟอร์ม frmDocDetail
ซึ่งฟอร์ม frmDocDetail จะมีรายละเอียดฟิลด์ต่างๆใน Table 1 โดยฟอร์มนี้เมื่อเปิดมาจะเรียง Sequence ให้ด้วยครับ และทุกครั้งที่มีการคีย์ข้อมูลเข้าฟอร์มนี้ Sequence จะรันลำดับให้ออโต้ครับ

ไม่ทราบว่าต้องทำอย่างไรบ้างครับ ขอบคุณมากครับผม
frmDocDetail  เป็นแบบContinues Form ใช่ไหมคับ

ใช่ครับอาจารย์

84
ผมต้องการจะสร้างฟอร์มคีย์ข้อมูลเอกสาร โดยเมื่อเปิดตามปี และเดือน ที่ต้องการ ทุกครั้งที่มีการคีย์เข้าตามปีและเดือนนั้นๆ อยากให้ระบบรันลำดับออโต้ครับ รายละเอียดดังนี้นะครับ

Table1 มีฟิลด์ดังนี้
Years (ชนิดข้อมูล Text)
Months (ชนิดข้อมูล Text)
Sequence (ชนิดข้อมูล Text)
DocNo  (ชนิดข้อมูล Text)

ต้องการสร้างฟอร์ม โดยในฟอร์มมีรายละเอียดดังนี้
Years (เป็น ComboBox)
Months (เป็น ComboBox)
ปุ่ม (เป็น Button) เมื่อกดปุ่มจะเปิดฟอร์ม frmDocDetail
ซึ่งฟอร์ม frmDocDetail จะมีรายละเอียดฟิลด์ต่างๆใน Table 1 โดยฟอร์มนี้เมื่อเปิดมาจะเรียง Sequence ให้ด้วยครับ และทุกครั้งที่มีการคีย์ข้อมูลเข้าฟอร์มนี้ Sequence จะรันลำดับให้ออโต้ครับ

ไม่ทราบว่าต้องทำอย่างไรบ้างครับ ขอบคุณมากครับผม

85
ยังไม่ได้ครับ ไม่รันลำดับให้อ่าครับ - -*

86
Error อะไรไม่ได้บอก งั้นก็เดาเอาตามนี้แล้วกัน อีกอย่าง ชื่อฟิลด์ที่บอกมาในโพสแรกบอกชื่อ Year กับ Month ไม่มี s แต่ในโค้ดที่คุณเขียนกลับมี s ก็ไปแก้ตำแหน่งสีแดงให้ถูกต้องเองแล้วกันนะครับว่ามี s หรือไม่มี s

Me.Sequence = Nz(DMax("Sequence", "ชื่อเทเบิล", "Years = '" & Me.Years & "' and Months = '" & Me.Months & "' "), 0) + 1

ขอบคุณมากครับผม

87
1. Error บอกว่ายังไง
2. คอนโทรลของ Year และ Month บนหน้าฟอร์มชื่อว่าอะไร
3. ฟิลด์ Year และ Month ในเทเบิล มี Data Type เป็นอะไร

1. Error บอกว่ายังไง
ตามรูปด้านล่างครับอาจารย์


2. คอนโทรลของ Year และ Month บนหน้าฟอร์มชื่อว่าอะไร
ชื่อ Years กับ Months ครับอาจารย์
3. ฟิลด์ Year และ Month ในเทเบิล มี Data Type เป็นอะไร
เป็น Text ครับอาจารย์

88
ใส่โค้ดนี้ไว้ใน Before Update event procedure ของฟอร์มครับ

โค๊ด: [Select]
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Nz(Me.Sequence, "") <> "" Then Exit Sub
   
    Me.Sequence = Nz(DMax("Sequence", "ชื่อเทเบิล", "Year = " & CStr(Me.Year) & " and Month = " & CStr(Me.Month)), 0) + 1
End Sub

ในโค้ดนี้ ถ้าช่อง Sequence ไม่ได้ใส่ค่าอะไรไว้ เมื่อทำการบันทึกเรคอร์ด โปรแกรมจะไปหาค่าถัดจากค่าสูงสุดที่หาได้ในปีและเดือนตามที่ป้อนในหน้าฟอร์ม แต่ถ้ามีค่า Sequence อยู่บนหน้าฟอร์มแล้ว โปรแกรมก็จะไม่ค้นหาให้ ก็ถือว่าใช้ค่าที่อยู่บนหน้าฟอร์มนั้นเลย

ยังไงก็ตาม ต้องระวังเกี่ยวกับการลบเรคอร์ดแล้วทำให้ค่า Sequence นั้นแหว่งไปด้วยนะครับ

เกิดเออเร่ออ่าคับอาจารย์สันติสุข

https://www.thai-access.com/tiupld/images/ppq4jx-3cf4e4.jpg[/img]]

89
ใส่โค้ดนี้ไว้ใน Before Update event procedure ของฟอร์มครับ

โค๊ด: [Select]
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Nz(Me.Sequence, "") <> "" Then Exit Sub
   
    Me.Sequence = Nz(DMax("Sequence", "ชื่อเทเบิล", "Year = " & CStr(Me.Year) & " and Month = " & CStr(Me.Month)), 0) + 1
End Sub

ในโค้ดนี้ ถ้าช่อง Sequence ไม่ได้ใส่ค่าอะไรไว้ เมื่อทำการบันทึกเรคอร์ด โปรแกรมจะไปหาค่าถัดจากค่าสูงสุดที่หาได้ในปีและเดือนตามที่ป้อนในหน้าฟอร์ม แต่ถ้ามีค่า Sequence อยู่บนหน้าฟอร์มแล้ว โปรแกรมก็จะไม่ค้นหาให้ ก็ถือว่าใช้ค่าที่อยู่บนหน้าฟอร์มนั้นเลย

ยังไงก็ตาม ต้องระวังเกี่ยวกับการลบเรคอร์ดแล้วทำให้ค่า Sequence นั้นแหว่งไปด้วยนะครับ

ขอบพระคุณมากครับอาจารย์สันติสุขครับ

90
ผมจะเขียนฟอร์มกรอกข้อมูลเอกสาร โดยมีรายละเอียด ดังนี้ครับ

ตู้เอกสาร มีทั้งหมด 5 ชั้น ในแต่ละชั้น มี 12 บล็อค  ดังนี้

ชั้นของเอกสาร กำหนดให้ชั้นบนสุดเป็นชั้นที่ 1 ชั้นถัดลงมาคือ 2,3,4,5 โดยกำหนดปีตามชั้นดังนี้
ชั้นบนสุดหรือชั้นที่ 1 กำหนดให้เป็น ปี 2559
ชั้นถัดลงมาหรือชั้นที่ 2 กำหนดให้เป็น ปี 2560
ชั้นถัดลงมาหรือชั้นที่ 3 กำหนดให้เป็น ปี 2561
ชั้นถัดลงมาหรือชั้นที่ 4 กำหนดให้เป็น ปี 2562
ชั้นถัดลงมาหรือชั้นที่ 5 กำหนดให้เป็น ปี 2563

ในแต่ละชั้นมีบล็อคทั้งหมด 12 บล็อค โดยกำหนดเป็นเดือน ดังนี้
บล็อคที่ 1 กำหนดให้เป็นเดือน มกราคม
บล็อคที่ 2 กำหนดให้เป็นเดือน กุมภาพันธ์
ไปเรื่อยๆจนถึงบล็อคที่ 12 กำหนดให้เป็นเดือน ธันวาคม

โดยผมจะต้องบันทึกข้อมูลเอกสารในแต่ละชิ้นตามปีและเดือนโดยในแต่ละเดือนก็จะต้องเรียงตามลำดับด้วย

เช่น ในชั้นที่ 5 คือปี 2563 บล็อคที่ 1 คือเดือนมกราคม โดยผมจะเรียงเอกสารตามลำดับหรือ Sequence ไว้

โดยฟิลด์ที่กรอกประกอบด้วยฟิลด์ดังนี้
Year - ปี  เป็น ComboBox
Month - เดือน เป็น ComboBox
Sequence - ลำดับ
DocNo - เลขที่เอกสาร
CustomerNo - เลขที่ลูกค้า
CustomerName - ชื่อลูกค้า

ผมจะยกตัวอย่างนะครับ เช่น
เอกสารฉบับที่ 1
Year - 2559
Month - มกราคม
Sequence - 1
DocNo - 001
CustomerNo -01
CustomerName - นาย ก

เอกสารฉบับที่ 2
Year - 2563
Month - มกราคม
Sequence - 1
DocNo - 010
CustomerNo -05
CustomerName - นาย จ

เอกสารฉบับที่ 3
Year - 2559 
Month - มกราคม
Sequence - 2
DocNo - 002
CustomerNo -02
CustomerName - นาย ข

ฉะนั้น ในปี 2559 เดือนมกราคม จะมีเอกสาร
DocNo - 001
Sequence - 1

DocNo - 002
Sequence - 2

ผมต้องการให้เรียง Sequence Auto ตามปีและเดือนครับ

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

หน้า: 1 2 3 4 [5] 6 7 8 ... 10