ขอถามเรื่องเลขอัตโนมัติ
กระทู้เก่าบอร์ด อ.Yeadram

 1,227   1
URL.หัวข้อ / URL
ขอถามเรื่องเลขอัตโนมัติ

Function NewID()
Dim lastID As Long
lastID = Nz(DMax("CLng(Left(HireID, 4))", "hirepurchase", "Clng(Right([HireID],4)) = " & Year(Date) + 543), 0)
NewID = Format(lastID + 1, "0000") & "-" & Year(Date) + 543
End Function

จากฟังชั่นนี้ หนูเอาไปเปลี่ยนมาเป็นของหนู แต่มีปัญหา เพราะบรรทัดที่เอียงนะคะ

1.หนูสร้างฟอร์ม 2 ฟอร์ม
2.หนูใช้ฟังชั่นนี้กับทั้ง 2 ฟอร์ม โดยเปลี่ยนชื่อฟังชั่น ชื่อตารางและคอลัม
3.มันขึ้น #Error ในช่องฟอร์ม

Function NewID1()
Dim lastID As Long
lastID = Nz(DMax("CLng(Left(LoanID, 4))", "Loan", "Clng(Right([LoanID],4)) = " & Year(Date) + 543), 0)
NewID1 = Format(lastID + 1, "0000") & "-" & Year(Date) + 543
End Function

อันนี้ที่หนูเปลี่ยน

ช่วยหนูหน่อยว่า มันผิดตรงไหนคะ



1 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R04005
ดูๆ ไปก็ไม่น่าจะมีอะไรผิดนะครับ
Dim lastID ' As Long
nz() ไม่ได้คืนค่าออกมาเป็น Long Integer
มีบ้างก็จุดเล็กๆ น้อยๆ แต่มันก็ไม่น่าจะใช่ตัวที่ทำให้เกิดปัญหา

ลองดูดังนี้นะครับ (ทั้งนี้เพื่อหาสาเหตุของปัญหาเท่านั้น)
- ลองดูว่ารูปแบบของข้อมูลในตาราง Loan ฟิลด์ LoanID เป็นแบบ xxxx-xxxx หรือไม่
- ถ้ามีบ้างฟิลด์เขียนแค่ xxx-xxxx จะทำให้ฟังก์ชั่นทำงานผิดนะครับ เพราะว่า clng(xxx-) มันจะเกิด error
หรือถ้าบอกว่า ตารางยังไม่มีข้อมูลใดๆ มาก่อนเลยแล้วเกิด error อันนี้อาจต้องรื้อเขียนไหม่ หรือ สร้าง mdb ตัวใหม่แล้ว import object แล้วล่ะครับ เพราะว่ามันไม่น่าจะเป็นปัญหาได้นะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.6865s