145
ห้อง MS Access / : มีปัญหาในการสร้าง Query กับการสร้าง Form รบกวนหน่อยครับ
« เมื่อ: 26 ส.ค. 62 , 16:26:27 »อ้างถึง
txt_LoanNo = "TSD" & Format([txt_LoanDate], "yymm") & Right("000" & DCount("[Loan_No]", "[Tb_Loan]", "Left([Loan_No],4) = Format([txt_LoanDate],'yymm')") + 1, 3)
ใช่ครับ โค้ดข้างบนนี้จะเริ่มให้ค่า 1 เมื่อเป็นเดือนใหม่ ถ้าต้องการให้ +1 ในปีนั้นไปเรื่อยๆจนกว่าจะเป็นปีใหม่ ก็ต้องเป็น
อ้างถึง
txt_LoanNo = "TSD" & Format([txt_LoanDate], "yymm") & Right("000" & DCount("[Loan_No]", "[Tb_Loan]", "Left([Loan_No],2) = Format([txt_LoanDate],'yy')") + 1, 3)แต่ผมว่าดูแปลกๆไม่สัมพันธ์กับเลขหลัง TSD หรือเปล่า เพราะพอเดือนใหม่ เลขหลัง TSD ก็เป็น ปีและเดือน ถัดไป แต่เลขรันนิ่งยังเป็นเลขต่อจากเดือนที่แล้ว เช่น ในเดือน 8 มีเลขรันจาก TSD1908001 ถึง TSD1908123 แต่เลขแรกของเดือน 9 เป็นเลข TSD1909124 แต่ไม่ว่ายังไงก็ตาม การใช้ DCount ค่อนข้างไม่ถูกต้อง เพราะมันเป็นการนับจำนวน อย่างเดือน 8 มีเลขที่สมมุติข้างบน ถ้าเรายังอยู่ในเดือน 8 และมี 1 เรคอร์ดที่ถูกลบไป พอสร้างเลขต่อไป Dcount ก็จะนับได้ทั้งหมดเหลือ 122 เลข พอบวก 1 ก็จะได้เลขถัดไปเป็น TSD1908123 ซึ่งซ้ำกับเลขเดิมแน่ๆ
จริงๆ รูปแบบที่ต้องการเป็นอย่างไร และพอขึ้นเดือนต่อไปจะได้เป็นอะไร ยกตัวอย่างให้เห็นเลยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Tonwrp