กระทู้เก่าบอร์ด อ.Yeadram
16,489 4
URL.หัวข้อ /
URL
วิธี Run เลขที่เอกสารแบบอัตโนมัติ
มีปุ่ม Command Buttom อยู่1 ปุ่ม ชื่อ AddCode
โดยเมื่อทำการ CLICK ที่ปุ่ม AddCode ปุ่ม Addcode จะทำการ Run เลขที่เอกสารแบบอัตโนมัติ ในช่อง Text Box ที่ชื่อ DocNo. ซึ่งมีการเก็บค่าข้อมูล 8 ตัวอักษร ดังนี้
ตัวอย่าง AAA-001/09
3 ตัวหน้าจะเป็นตัวหนังสือที่ต้องขึ้นต้นด้วย AAA ตลอด
3 ตัวต่อมา จะเป็นลำดับเลขที่เอกสาร จะเพิ่มที่ละ 1 ลำดับ
2 ตัวสุดท้ายจะปีที่ทำการ Run 1เลขที่ DocNo
ช่วยตอบหน่อยนะค่ะ
ขอบคุณค่ะ
โดยเมื่อทำการ CLICK ที่ปุ่ม AddCode ปุ่ม Addcode จะทำการ Run เลขที่เอกสารแบบอัตโนมัติ ในช่อง Text Box ที่ชื่อ DocNo. ซึ่งมีการเก็บค่าข้อมูล 8 ตัวอักษร ดังนี้
ตัวอย่าง AAA-001/09
3 ตัวหน้าจะเป็นตัวหนังสือที่ต้องขึ้นต้นด้วย AAA ตลอด
3 ตัวต่อมา จะเป็นลำดับเลขที่เอกสาร จะเพิ่มที่ละ 1 ลำดับ
2 ตัวสุดท้ายจะปีที่ทำการ Run 1เลขที่ DocNo
ช่วยตอบหน่อยนะค่ะ
ขอบคุณค่ะ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R03338
เรียนคุณเพ็ญ
ผมขอตอบคำถามดังนี้ครับ
การกำหนดให้สร้างรหัสอัตโนมัติตามรูปแบบที่เราต้องการ สามารถทำได้ไม่ยากครับ โดยในเบื้องต้นให้คุณสร้างฟิลด์สำหรับจัดเก็บข้อมูลโดยอ้างอิงตามโครงสร้างของรหัสที่คุณต้องการ
ตารางที่เก็บรายการเอกสารชื่อว่า tbDocuments
ฟิลด์ No สำหรับเก็บลำดับที่เอกสาร
ฟิลด์ Year สำหรับเก็บปีที่ทำการ Run
ฟิลด์ DocNo สำหรับเก็บเลขที่เอกสาร ("AAA-"&[No]&"/"&[Year])
วิธีการทำคือ
- สมมติว่าฟอร์มที่ใช้สำหรับบันทึกเลขที่เอกสารมีชื่อว่า frmDocuments
- สร้าง Command Button สำหรับสร้างเลขที่เอกสารอัตโนมัติ ซึ่งภายในคำสั่งมีรายละเอียดังนี้
ลองทำดูนะครับ
ผมขอตอบคำถามดังนี้ครับ
การกำหนดให้สร้างรหัสอัตโนมัติตามรูปแบบที่เราต้องการ สามารถทำได้ไม่ยากครับ โดยในเบื้องต้นให้คุณสร้างฟิลด์สำหรับจัดเก็บข้อมูลโดยอ้างอิงตามโครงสร้างของรหัสที่คุณต้องการ
ตารางที่เก็บรายการเอกสารชื่อว่า tbDocuments
ฟิลด์ No สำหรับเก็บลำดับที่เอกสาร
ฟิลด์ Year สำหรับเก็บปีที่ทำการ Run
ฟิลด์ DocNo สำหรับเก็บเลขที่เอกสาร ("AAA-"&[No]&"/"&[Year])
วิธีการทำคือ
- สมมติว่าฟอร์มที่ใช้สำหรับบันทึกเลขที่เอกสารมีชื่อว่า frmDocuments
- สร้าง Command Button สำหรับสร้างเลขที่เอกสารอัตโนมัติ ซึ่งภายในคำสั่งมีรายละเอียดังนี้
Me.No = Format(DMax("[No]", "tbDocuments") + 1, "000")
Me.Year = Format(Date, "yy")
Me.DocNo = "AAA-" & [No] & "/" & [Year]
ลองทำดูนะครับ
3 @R03341
ถ้าอยากให้ข้อมูลมีแค่ฟิว DocNo แค่ฟิวเดียว พอมีวิธีมั้ยค่ะ
ตัวอย่างเลขที่ DocNo. AAA00109
001 คือลำดับเลขที่เอกสาร
Private Sub Add_Click()
DoCmd.GoToRecord , , acNewRec
Dim tmpDate As String
Dim tmpCopy As String
Dim nMax As Integer
tmpDate = Format(Now, "YY")
If IsNull(DMax("val(ใส่คำว่าอะไรค่ะ([DocNo],3))", "tbDocuments ", "left([DocNo],3)='" & "AAA" '")) Then
Me.DocNo = "AAA" & "001"& tmpDate
Else
nMax = DMax("val(ใส่คำว่าอะไรค่ะ([DocNo],3))", " tbDocuments ", "left([DocNo],3)='" & "AAA" '")
Me. DocNo = "AAA" & Format(nMax + 1, "000")& tmpDate
End If
End Sub
ตัวอย่างเลขที่ DocNo. AAA00109
001 คือลำดับเลขที่เอกสาร
Private Sub Add_Click()
DoCmd.GoToRecord , , acNewRec
Dim tmpDate As String
Dim tmpCopy As String
Dim nMax As Integer
tmpDate = Format(Now, "YY")
If IsNull(DMax("val(ใส่คำว่าอะไรค่ะ([DocNo],3))", "tbDocuments ", "left([DocNo],3)='" & "AAA" '")) Then
Me.DocNo = "AAA" & "001"& tmpDate
Else
nMax = DMax("val(ใส่คำว่าอะไรค่ะ([DocNo],3))", " tbDocuments ", "left([DocNo],3)='" & "AAA" '")
Me. DocNo = "AAA" & Format(nMax + 1, "000")& tmpDate
End If
End Sub
4 @R03352
เรียนคุณเพ็ญ
ลองใช้ Mid([DocNo],3,3) ดูนะครับ
ลองใช้ Mid([DocNo],3,3) ดูนะครับ
Time: 0.3640s
ผมว่ามีมากกว่า 10 กระทู้แน่ๆ ครับ ที่กล่าวถึงเรื่องการรันเลขที่อัตโนมัติ (นับรวมทั้งบอร์ดใหม่นี้ และบอร์ดเก่าของ อ.สุภาพ ด้วยครับ)
ลองทำตามบ้างสักวิธีหรือยัง เท่าที่ทำแล้วติดขัดตรงไหน error อย่างไร บ้างครับ