ช่วยหน่อยนะค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 1,436   9
URL.หัวข้อ / URL
ช่วยหน่อยนะค่ะ

อธิบายรายละเอียดเพิ่มเติม --> รัน(quo_no.) อัตโนมัติ

มี ตาราง CUSTOMER ประกอบด้วย cus_id,cus_name,cus_code,....
   ตาราง QUOTATION ประกอบด้วย quo_id,quo_No,cus_id, BOI(ในฟิลด์นี้มีสองสถานะคือ B,N), model_id, .........

**ต้องการสร้างฟอร์ม ที่ประกอบด้วย quo_No
                                                    cus_name
                                                    BOI
                                                    model_id
                                       
                                                
---------------------------------------------------------------------------------------
หนูอยากทราบวิธีสร้าง รหัสที่รันอัตโนมัติ(quo_no.) ที่มีทั้งตัวอักษรและตัวเลขรวมกันค่ะ
เช่น     CY0904B0001-00 --เมื่อถูกแก้ไขครั้งที่1-->   CY0904B0001-01
                                        --เมื่อถูกแก้ไขครั้งที่2-->   CY0904B0001-02
                   .
                   .
                   .

       JD0904B0002-00
       JD0904N0003-00 เป็นต้น โดยที่

CY,JD              เป็นตัวย่อของประเภทลูกค้า ซึ่งมาจากฟิลด์ cus_code ที่ตาราง CUSTOMER
0904               เป็นปีกับเดือน
B,N                  มาจากฟิลด์ BOI
0001,0002       เป็นลำดับที่ ที่เพิ่มขึ้นทีละ 1 (ทั่วไป)
00,01               เป็น เวอร์ชัน ใช้ในกรณีที่มีการแก้ไขข้อมูลในแฟ้มเดิม และได้ทำการบันทึกไว้

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

1 @R01949
ถ้าเป็นผมนะ
เมื่อ Load ฟอร์มนี้มาครั้งแรก จะมีแค่ combo ให้เลือก customer อย่างเดียวก่อน เมื่อเลือกแล้ว ฟอร์มจะแสดง Date, QUOT_No.( ดึงค่าจาก tbl_Cust+now+Boi+(Last_Doc+Edit_field)) และรายละเอียดอื่นที่ต้องการ

ลองดูครับ
2 @R01950
คุณจะไม่สามารถสร้างเลขที่อัตโนมัติได้ หรือสร้างได้ก็ผิด ถ้า..
-ยังไม่มีการกรอกวันที่
-ยังไม่มีการกรอกชื่อลูกค้า
-ยังไม่มีการระบุ BOi

ผมเห็นถามมาสองครั้งแล้ว แต่ไม่รู้จะตอบยังไง ผมก็เลยเคยแนะนำให้ลองค้นของเก่าเอาไปประยุกต์เอง แต่ดูท่าทางคงไม่สำเร็จ จึงมาถามอีกรอบ
เอาอย่างนี้ ถ้าภาพที่คุณแนบมานี้ คือฟอร์มการทำงานของคุณ ลองลำดับการทำงานแบบสมมติ ดูครับ ว่า
- user ต้องกรอกอะไรก่อนหลัง (ถ้า user ไม่ทำตามลำดับ คุณจะให้โปรแกรมจัดการอย่างไร เพราะ user มีสิทธิ์ที่จะคิดนอกกรอบ และเราไม่มีสิทธิ์ใดๆ จะห้ามความคิด จะห้ามความคุ้นเคย หรือจะห้ามพฤติกรรม ของ user)
- หรือ การสร้างเลขที่อัตโนมัติ จะให้สร้าง ณ เหตุการณ์ไหน ตอนขึ้นเรคคอร์ดใหม่ (อันนี้เป็นไปไม่ได้ด้วยเหตุผลที่กล่าวแล้วด้านบน), ตอนกำลังจะบันทึก (อันนี้จะอึดอัดหรือเปล่าเพราะขณะกรอกข้อมูล คุณจะไม่ได้เห็นเลขที่เอกสารเลย เพราะมันยังไม่ได้สร้าง แต่ถ้าเป็นการเปิดของเก่าขึ้นมาดู ก็เห็นได้เพราะมันมีอยู่แล้ว)
3 @R01951
เมื่อคุณลำดับงานได้แล้ว แจ้งมาอีกทีนะครับ
อาจจะมีคนช่วยแนะนำโค้ดให้ได้ เพราะการเขียนโค้ดพวกนี้ มันต้องรู้เหตุการณ์ที่แน่นอนว่า ขณะนี้งานกำลังดำเนินไปถึงไหน และขณะนั้น เรามีข้อมูลอะไรบ้าง
4 @R01955
อ่อ ต้องขอโทษทีนะค่ะ

ในรูปที่ส่งมานั้น หนูยังไม่ได้เรียงลำดับเหตุการณ์ให้ถูกต้อง

ซึ่งจิง ๆ แล้ว.. user ต้องกรอกกรอกวันที่--->ชื่อลูกค้า---->BOI ก่อนค่ะ
แล้วจึงจะแสดง quotation no. ทีหลังค่ะ

หนูได้ศึกษาจากตัวอย่างหลาย ๆ อันแล้วแต่ก้อยังทามไม่ได้

หนูมีปัญหา คือ หนูไม่สามารถเรียก Cus_Code มาใช้ได้ หนูอยากรู้ว่ามันเรียกมาใช้อย่างไร หนูต้องสร้างคิวรี่ช่ายมั้ยค่ะ

แล้วอีกอย่าง เรื่องวันที่ หนูไม่อยากให้ user เลือกได้มั้ย อยากใช้ date() ให้แสดงวันที่ปัจจุบันก้อพอ เพราะใน quo_No ใช้อันนี้

5 @R01957
ที่จริง ไม่ยากอย่างที่คุณปูคิดนะ ผมจะแยกตอบให้เป็นข้อ ๆ
- กรณีวันไม่ควรต้องให้ user ใส่เราดึง system date มาใช้เป็น default value แล้ว Lock+disableซะ โดยใช้ Now() **ถ้าใช้ date() อาจมีปัญหากับ Access2002 **     

- Cust_Code ใช้ combo ตั้ง data source (Table/Query) จาก tbl_CUSTOMER ดึง ฟิลด์ cus_id,cus_name และฟิล์ด CY,JD มา
Event after update   
me.txt_CustCode = me.cbo_Customer.Column(0)
me.txt_CustName = me.cbo_Customer.Column(1)
me.txt_CY_JD = me.cbo_Customer.Column(2)


วิธีการเขียนโปรแกรมของผมนะ User จะพิมพ์เองน้อยที่สุด ใช้ Mouse มาก ๆ แล้ว

***ซึ่งจิง ๆ****
***ก้อยังทามไม่ได้ ****
6 @R01973
ขอบคุณนะค่ะ
7 @R01976
"อ่อ ต้องขอโทษทีนะค่ะ"
ต้องเขียนว่า "อ๋อ ต้องขอโทษที นะคะ"

"ซึ่งจิง ๆ แล้ว.."
ต้องเขียนว่า "ซึ่งจริงๆ แล้ว..."

"แต่ก้อยังทามไม่ได้"
ต้องเขียนว่า "แต่ก็ยังทำไม่ได้"

"ต้องสร้างคิวรี่ช่ายมั้ยค่ะ"
ต้องเขียนว่า "ต้องสร้างคิวรี่ ใช่ไหมคะ" ค่ะ เป็นเสียงต่ำ คะ เป็นเสียงสูง

"แสดงวันที่ปัจจุบันก้อพอ"
คำว่า ก้อ ต้องเขียน "ก็"

ไม่มีอะไรหรอกครับ ว่างๆ เลยมานั่งนับคำผิดเล่นๆ แซวเล่นเด้อ อย่าเคือง อิอิ (คุณ Gerald พาผมแซวนะเนี่ย)
8 @R02018
ง่า.......   อย่างงี้ก็แย่เลย โดนจับผิดง่ะ

คำถามนี้ตอบไม่ได้ก็ไม่เป็นไรคะ.....ยังมีคำถามอื่นอีกเยอะ...อิอิ

9 @R02020
***คำถามนี้ตอบไม่ได้ก็ไม่เป็นไรคะ.....ยังมีคำถามอื่นอีกเยอะ...

ที่จริงอยากช่วยแก้ปัญหาให้จบ และคิดว่าน่าจะช่วยได้ แต่ผู้ตอบไม่มีตัว file จริงซึ่งไม่รู้ว่ามันทำงานอย่างไร relation แบบไหน table form query งัย event ล่ะท่านใส่อะไรใว้


***ไม่จับผิดนะแค่แซว ล้อเล่น ตะหาก ไม่อยากให้จน เครียด ปวดหัว กินเหล้า
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3024s