กระทู้เก่าบอร์ด อ.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 เป็น เวอร์ชัน ใช้ในกรณีที่มีการแก้ไขข้อมูลในแฟ้มเดิม และได้ทำการบันทึกไว้
มี ตาราง 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
2 @R01950
คุณจะไม่สามารถสร้างเลขที่อัตโนมัติได้ หรือสร้างได้ก็ผิด ถ้า..
-ยังไม่มีการกรอกวันที่
-ยังไม่มีการกรอกชื่อลูกค้า
-ยังไม่มีการระบุ BOi
ผมเห็นถามมาสองครั้งแล้ว แต่ไม่รู้จะตอบยังไง ผมก็เลยเคยแนะนำให้ลองค้นของเก่าเอาไปประยุกต์เอง แต่ดูท่าทางคงไม่สำเร็จ จึงมาถามอีกรอบ
เอาอย่างนี้ ถ้าภาพที่คุณแนบมานี้ คือฟอร์มการทำงานของคุณ ลองลำดับการทำงานแบบสมมติ ดูครับ ว่า
- user ต้องกรอกอะไรก่อนหลัง (ถ้า user ไม่ทำตามลำดับ คุณจะให้โปรแกรมจัดการอย่างไร เพราะ user มีสิทธิ์ที่จะคิดนอกกรอบ และเราไม่มีสิทธิ์ใดๆ จะห้ามความคิด จะห้ามความคุ้นเคย หรือจะห้ามพฤติกรรม ของ user)
- หรือ การสร้างเลขที่อัตโนมัติ จะให้สร้าง ณ เหตุการณ์ไหน ตอนขึ้นเรคคอร์ดใหม่ (อันนี้เป็นไปไม่ได้ด้วยเหตุผลที่กล่าวแล้วด้านบน), ตอนกำลังจะบันทึก (อันนี้จะอึดอัดหรือเปล่าเพราะขณะกรอกข้อมูล คุณจะไม่ได้เห็นเลขที่เอกสารเลย เพราะมันยังไม่ได้สร้าง แต่ถ้าเป็นการเปิดของเก่าขึ้นมาดู ก็เห็นได้เพราะมันมีอยู่แล้ว)
-ยังไม่มีการกรอกวันที่
-ยังไม่มีการกรอกชื่อลูกค้า
-ยังไม่มีการระบุ BOi
ผมเห็นถามมาสองครั้งแล้ว แต่ไม่รู้จะตอบยังไง ผมก็เลยเคยแนะนำให้ลองค้นของเก่าเอาไปประยุกต์เอง แต่ดูท่าทางคงไม่สำเร็จ จึงมาถามอีกรอบ
เอาอย่างนี้ ถ้าภาพที่คุณแนบมานี้ คือฟอร์มการทำงานของคุณ ลองลำดับการทำงานแบบสมมติ ดูครับ ว่า
- user ต้องกรอกอะไรก่อนหลัง (ถ้า user ไม่ทำตามลำดับ คุณจะให้โปรแกรมจัดการอย่างไร เพราะ user มีสิทธิ์ที่จะคิดนอกกรอบ และเราไม่มีสิทธิ์ใดๆ จะห้ามความคิด จะห้ามความคุ้นเคย หรือจะห้ามพฤติกรรม ของ user)
- หรือ การสร้างเลขที่อัตโนมัติ จะให้สร้าง ณ เหตุการณ์ไหน ตอนขึ้นเรคคอร์ดใหม่ (อันนี้เป็นไปไม่ได้ด้วยเหตุผลที่กล่าวแล้วด้านบน), ตอนกำลังจะบันทึก (อันนี้จะอึดอัดหรือเปล่าเพราะขณะกรอกข้อมูล คุณจะไม่ได้เห็นเลขที่เอกสารเลย เพราะมันยังไม่ได้สร้าง แต่ถ้าเป็นการเปิดของเก่าขึ้นมาดู ก็เห็นได้เพราะมันมีอยู่แล้ว)
3 @R01951
เมื่อคุณลำดับงานได้แล้ว แจ้งมาอีกทีนะครับ
อาจจะมีคนช่วยแนะนำโค้ดให้ได้ เพราะการเขียนโค้ดพวกนี้ มันต้องรู้เหตุการณ์ที่แน่นอนว่า ขณะนี้งานกำลังดำเนินไปถึงไหน และขณะนั้น เรามีข้อมูลอะไรบ้าง
อาจจะมีคนช่วยแนะนำโค้ดให้ได้ เพราะการเขียนโค้ดพวกนี้ มันต้องรู้เหตุการณ์ที่แน่นอนว่า ขณะนี้งานกำลังดำเนินไปถึงไหน และขณะนั้น เรามีข้อมูลอะไรบ้าง
4 @R01955
อ่อ ต้องขอโทษทีนะค่ะ
ในรูปที่ส่งมานั้น หนูยังไม่ได้เรียงลำดับเหตุการณ์ให้ถูกต้อง
ซึ่งจิง ๆ แล้ว.. user ต้องกรอกกรอกวันที่--->ชื่อลูกค้า---->BOI ก่อนค่ะ
แล้วจึงจะแสดง quotation no. ทีหลังค่ะ
หนูได้ศึกษาจากตัวอย่างหลาย ๆ อันแล้วแต่ก้อยังทามไม่ได้
หนูมีปัญหา คือ หนูไม่สามารถเรียก Cus_Code มาใช้ได้ หนูอยากรู้ว่ามันเรียกมาใช้อย่างไร หนูต้องสร้างคิวรี่ช่ายมั้ยค่ะ
แล้วอีกอย่าง เรื่องวันที่ หนูไม่อยากให้ user เลือกได้มั้ย อยากใช้ date() ให้แสดงวันที่ปัจจุบันก้อพอ เพราะใน quo_No ใช้อันนี้
ในรูปที่ส่งมานั้น หนูยังไม่ได้เรียงลำดับเหตุการณ์ให้ถูกต้อง
ซึ่งจิง ๆ แล้ว.. 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 มาก ๆ แล้ว
***ซึ่งจิง ๆ****
***ก้อยังทามไม่ได้ ****
- กรณีวันไม่ควรต้องให้ 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 พาผมแซวนะเนี่ย)
ต้องเขียนว่า "อ๋อ ต้องขอโทษที นะคะ"
"ซึ่งจิง ๆ แล้ว.."
ต้องเขียนว่า "ซึ่งจริงๆ แล้ว..."
"แต่ก้อยังทามไม่ได้"
ต้องเขียนว่า "แต่ก็ยังทำไม่ได้"
"ต้องสร้างคิวรี่ช่ายมั้ยค่ะ"
ต้องเขียนว่า "ต้องสร้างคิวรี่ ใช่ไหมคะ" ค่ะ เป็นเสียงต่ำ คะ เป็นเสียงสูง
"แสดงวันที่ปัจจุบันก้อพอ"
คำว่า ก้อ ต้องเขียน "ก็"
ไม่มีอะไรหรอกครับ ว่างๆ เลยมานั่งนับคำผิดเล่นๆ แซวเล่นเด้อ อย่าเคือง อิอิ (คุณ Gerald พาผมแซวนะเนี่ย)
8 @R02018
ง่า....... อย่างงี้ก็แย่เลย โดนจับผิดง่ะ
คำถามนี้ตอบไม่ได้ก็ไม่เป็นไรคะ.....ยังมีคำถามอื่นอีกเยอะ...อิอิ
คำถามนี้ตอบไม่ได้ก็ไม่เป็นไรคะ.....ยังมีคำถามอื่นอีกเยอะ...อิอิ
9 @R02020
***คำถามนี้ตอบไม่ได้ก็ไม่เป็นไรคะ.....ยังมีคำถามอื่นอีกเยอะ...
ที่จริงอยากช่วยแก้ปัญหาให้จบ และคิดว่าน่าจะช่วยได้ แต่ผู้ตอบไม่มีตัว file จริงซึ่งไม่รู้ว่ามันทำงานอย่างไร relation แบบไหน table form query งัย event ล่ะท่านใส่อะไรใว้
***ไม่จับผิดนะแค่แซว ล้อเล่น ตะหาก ไม่อยากให้จน เครียด ปวดหัว กินเหล้า
ที่จริงอยากช่วยแก้ปัญหาให้จบ และคิดว่าน่าจะช่วยได้ แต่ผู้ตอบไม่มีตัว file จริงซึ่งไม่รู้ว่ามันทำงานอย่างไร relation แบบไหน table form query งัย event ล่ะท่านใส่อะไรใว้
***ไม่จับผิดนะแค่แซว ล้อเล่น ตะหาก ไม่อยากให้จน เครียด ปวดหัว กินเหล้า
Time: 0.3024s
เมื่อ Load ฟอร์มนี้มาครั้งแรก จะมีแค่ combo ให้เลือก customer อย่างเดียวก่อน เมื่อเลือกแล้ว ฟอร์มจะแสดง Date, QUOT_No.( ดึงค่าจาก tbl_Cust+now+Boi+(Last_Doc+Edit_field)) และรายละเอียดอื่นที่ต้องการ
ลองดูครับ