การทำการเบิกหลายรายการโดยที่เราทำการเลือกโดยเหมือนการติ๊กเลือกแล้วลิ้งค์ไปยังฟอร์มการเบิกค่ะ


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

14 เม.ย. 62 , 22:19:00
อ่าน 2272 ครั้ง

Supanida

รบกวนสอบถามได้ไหมคะว่าถ้าเราต้องการเลือกรายการเบิกหลายรายการ แบบประมาณว่าให้มีการติ๊กเลือกค่ะ แล้วให้ลิ้งค์ไปยังฟอร์มการเบิก มีวิธีการทำอย่างไรคะ

อันนี้คือตัวอย่างฟอร์มการค้นหาที่ต้องการให้มีการทำการเลือกจากหน้าฟอร์มนี้แล้วลิ้งค์ไปยังฟอร์มการเบิกค่ะ


อันนี้ฟอร์มการเบิกค่ะ// แล้วการให้ยอดจำนวนรับเข้าบวกเข้ากับจำนวนที่มีอยู่ในสต๊อก และ การตัดยอดสต๊อกเวลาทำการเบิก มีวิธีการทำอย่างไรบ้างคะ ช่วยตอบหน่อยนะคะ พอดีต้องทำโปรเจ็คน่ะค่ะ ขอบคุณล่วงหน้าค่า

 

15 เม.ย. 62 , 00:24:35
ตอบกลับ #1

สันติสุข

แนวคิดก็คือ เมื่อรู้ว่าเรคอร์ดไหนบ้างที่เป็นผลลัพธ์ที่ค้นหาได้ ก็ให้เขียนเรคอร์ดเหล่านั้นลงในเทเบิลชั่วคราวอีกเทเบิลนึง (T) ซึ่งมีฟิลด์ต่างๆตามที่ต้องการแสดงในหน้า [การค้นหา] แต่ให้เพิ่มอีกหนึ่งฟิลด์ (S) ที่มี data type เป็น yes/no ซึ่งให้นำไปทำเป็น check box บนแต่ละบรรทัดในฟอร์ม [การค้นหา] ดังนั้นผู้ใช้ก็จะสามารถเลือก/ไม่เลือกทำเครื่องหมายสำหรับแต่ละบรรทัดได้ พอกดปุ่ม [ทำการเบิก] ก็ให้เขียนทุกเรคอร์ดในเทเบิล T ที่ฟิลด์ S มีค่าเป็น True ลงในเทเบิลการเบิกจ่ายและเทเบิลรายการเบิกจ่าย (RI)   แล้วค่อยเปิดฟอร์มเบิก/จ่ายตามเอกสารที่เพิ่งสร้างอีกที

ส่วนการเพิ่มหรือตัดสต็อก ง่ายๆก็สร้าง Update Query ที่โยงระหว่างเทเบิลสต็อก กับ เทเบิล RI โดยอ้างตามรหัสใบเบิกจ่ายวัตถุดิบบนหน้าจอ [การเบิกจ่ายวัตถุดิบ]  แล้วในปุ่ม [บันทึก] ก็ให้เรียก Update Query ตัวนี้มาทำงานครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida

15 เม.ย. 62 , 10:22:21
ตอบกลับ #2

Supanida

แนวคิดก็คือ เมื่อรู้ว่าเรคอร์ดไหนบ้างที่เป็นผลลัพธ์ที่ค้นหาได้ ก็ให้เขียนเรคอร์ดเหล่านั้นลงในเทเบิลชั่วคราวอีกเทเบิลนึง (T) ซึ่งมีฟิลด์ต่างๆตามที่ต้องการแสดงในหน้า [การค้นหา] แต่ให้เพิ่มอีกหนึ่งฟิลด์ (S) ที่มี data type เป็น yes/no ซึ่งให้นำไปทำเป็น check box บนแต่ละบรรทัดในฟอร์ม [การค้นหา] ดังนั้นผู้ใช้ก็จะสามารถเลือก/ไม่เลือกทำเครื่องหมายสำหรับแต่ละบรรทัดได้ พอกดปุ่ม [ทำการเบิก] ก็ให้เขียนทุกเรคอร์ดในเทเบิล T ที่ฟิลด์ S มีค่าเป็น True ลงในเทเบิลการเบิกจ่ายและเทเบิลรายการเบิกจ่าย (RI)   แล้วค่อยเปิดฟอร์มเบิก/จ่ายตามเอกสารที่เพิ่งสร้างอีกที

ส่วนการเพิ่มหรือตัดสต็อก ง่ายๆก็สร้าง Update Query ที่โยงระหว่างเทเบิลสต็อก กับ เทเบิล RI โดยอ้างตามรหัสใบเบิกจ่ายวัตถุดิบบนหน้าจอ [การเบิกจ่ายวัตถุดิบ]  แล้วในปุ่ม [บันทึก] ก็ให้เรียก Update Query ตัวนี้มาทำงานครับ

ไม่ต้องมีการเขียนโค้ดคำสั่งอะไรเพิ่มใช่ไหมคะ สามารถทำตามนี้ได้เลยใช่ไหมคะ

 

15 เม.ย. 62 , 14:33:19
ตอบกลับ #3

สันติสุข

ผมให้ไปแค่แนวคิดครับ ส่วนจะใช้วิธีเขียนโค้ด เขียนแมโคร หรือจะสร้างคิวรี่ ไม่ว่าจะเป็น Append Query หรือ Update Query ก็อยู่ที่รายละเอียดปลีกย่อยของระบบที่คุณได้ออกแบบไว้ครับ ถ้าไม่ถนัดเขียนโค้ดก็ต้องลองทำโดยแมโครดูก่อนครับ ถ้าไม่ได้ค่อยแก้ปัญหาบางส่วนโดยการเขียนโค้ด
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida

16 เม.ย. 62 , 12:24:13
ตอบกลับ #4

Supanida

ผมให้ไปแค่แนวคิดครับ ส่วนจะใช้วิธีเขียนโค้ด เขียนแมโคร หรือจะสร้างคิวรี่ ไม่ว่าจะเป็น Append Query หรือ Update Query ก็อยู่ที่รายละเอียดปลีกย่อยของระบบที่คุณได้ออกแบบไว้ครับ ถ้าไม่ถนัดเขียนโค้ดก็ต้องลองทำโดยแมโครดูก่อนครับ ถ้าไม่ได้ค่อยแก้ปัญหาบางส่วนโดยการเขียนโค้ด

พอจะแนะแนวในการเขียนคำสั่งได้ไหมคะ พอดีว่าเพิ่งลองมาทำครั้งแรกค่ะ

 

16 เม.ย. 62 , 12:53:11
ตอบกลับ #5

สันติสุข

เขียนเรคอร์ดลงเทเบิล สร้าง Append Query
แก้ไขเรคอร์ดในเทเบิล สร้าง Update Query
ลบเรคอร์ดในเทเบิล สร้าง Delete Query

ใช้แมโครเรียกคิวรี่มาทำงาน ใช้ Action ชื่อ OpenQuery
ใช้โค้ดสั่งคิวรี่มาทำงาน ใช้ DoCmd.OpenQuery "ชื่อคิวรี่"

ใช้แมโครเปิดฟอร์ม ใช้ Action ชื่อ OpenForm
ใช้โค้ดสั่งเปิดฟอร์ม ใช้ DoCmd.OpenForm "ชื่อฟอร์ม"

ใช้แมโครปิดฟอร์ม ใช้ Action ชื่อ Close
ใช้โค้ดสั่งปิดฟอร์ม ใช้ DoCmd.Close acForm, "ชื่อฟอร์ม"

อ้างอิงชื่อคอนโทรล (เท็กซ์บ็อกซ์, คอมโบบ็อกซ์, ...) บนฟอร์ม ใช้ Forms![ชื่อฟอร์ม]![ชื่อคอนโทรล]
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida

16 เม.ย. 62 , 14:39:33
ตอบกลับ #6

Supanida

เขียนเรคอร์ดลงเทเบิล สร้าง Append Query
แก้ไขเรคอร์ดในเทเบิล สร้าง Update Query
ลบเรคอร์ดในเทเบิล สร้าง Delete Query

ใช้แมโครเรียกคิวรี่มาทำงาน ใช้ Action ชื่อ OpenQuery
ใช้โค้ดสั่งคิวรี่มาทำงาน ใช้ DoCmd.OpenQuery "ชื่อคิวรี่"

ใช้แมโครเปิดฟอร์ม ใช้ Action ชื่อ OpenForm
ใช้โค้ดสั่งเปิดฟอร์ม ใช้ DoCmd.OpenForm "ชื่อฟอร์ม"

ใช้แมโครปิดฟอร์ม ใช้ Action ชื่อ Close
ใช้โค้ดสั่งปิดฟอร์ม ใช้ DoCmd.Close acForm, "ชื่อฟอร์ม"

อ้างอิงชื่อคอนโทรล (เท็กซ์บ็อกซ์, คอมโบบ็อกซ์, ...) บนฟอร์ม ใช้ Forms![ชื่อฟอร์ม]![ชื่อคอนโทรล]

ขอบคุณมากๆเลยนะคะ

 

16 เม.ย. 62 , 22:42:03
ตอบกลับ #7

Supanida

แนวคิดก็คือ เมื่อรู้ว่าเรคอร์ดไหนบ้างที่เป็นผลลัพธ์ที่ค้นหาได้ ก็ให้เขียนเรคอร์ดเหล่านั้นลงในเทเบิลชั่วคราวอีกเทเบิลนึง (T) ซึ่งมีฟิลด์ต่างๆตามที่ต้องการแสดงในหน้า [การค้นหา] แต่ให้เพิ่มอีกหนึ่งฟิลด์ (S) ที่มี data type เป็น yes/no ซึ่งให้นำไปทำเป็น check box บนแต่ละบรรทัดในฟอร์ม [การค้นหา] ดังนั้นผู้ใช้ก็จะสามารถเลือก/ไม่เลือกทำเครื่องหมายสำหรับแต่ละบรรทัดได้ พอกดปุ่ม [ทำการเบิก] ก็ให้เขียนทุกเรคอร์ดในเทเบิล T ที่ฟิลด์ S มีค่าเป็น True ลงในเทเบิลการเบิกจ่ายและเทเบิลรายการเบิกจ่าย (RI)   แล้วค่อยเปิดฟอร์มเบิก/จ่ายตามเอกสารที่เพิ่งสร้างอีกที





คืออันนี้ต้องสร้างตารางใหม่หรอคะ ไม่สามารถเพิ่ม data type เป็น yes/no ไปเลยใช่ไหมคะ พอดีเพิ่มไปในตารางเดิมเลยน่ะค่ะ แล้วไม่สามารถเลือกได้ ต้องมีการเขียนคำสั่งไหมคะ
« แก้ไขครั้งสุดท้าย: 17 เม.ย. 62 , 08:29:03 โดย Supanida »

 

17 เม.ย. 62 , 08:26:06
ตอบกลับ #8

Supanida

แนวคิดก็คือ เมื่อรู้ว่าเรคอร์ดไหนบ้างที่เป็นผลลัพธ์ที่ค้นหาได้ ก็ให้เขียนเรคอร์ดเหล่านั้นลงในเทเบิลชั่วคราวอีกเทเบิลนึง (T) ซึ่งมีฟิลด์ต่างๆตามที่ต้องการแสดงในหน้า [การค้นหา] แต่ให้เพิ่มอีกหนึ่งฟิลด์ (S) ที่มี data type เป็น yes/no ซึ่งให้นำไปทำเป็น check box บนแต่ละบรรทัดในฟอร์ม [การค้นหา] ดังนั้นผู้ใช้ก็จะสามารถเลือก/ไม่เลือกทำเครื่องหมายสำหรับแต่ละบรรทัดได้ พอกดปุ่ม [ทำการเบิก] ก็ให้เขียนทุกเรคอร์ดในเทเบิล T ที่ฟิลด์ S มีค่าเป็น True ลงในเทเบิลการเบิกจ่ายและเทเบิลรายการเบิกจ่าย (RI)   แล้วค่อยเปิดฟอร์มเบิก/จ่ายตามเอกสารที่เพิ่งสร้างอีกที

ส่วนการเพิ่มหรือตัดสต็อก ง่ายๆก็สร้าง Update Query ที่โยงระหว่างเทเบิลสต็อก กับ เทเบิล RI โดยอ้างตามรหัสใบเบิกจ่ายวัตถุดิบบนหน้าจอ [การเบิกจ่ายวัตถุดิบ]  แล้วในปุ่ม [บันทึก] ก็ให้เรียก Update Query ตัวนี้มาทำงานครับ



ในการทำ Data Type เราไม่สามารถกำหนดในตารางเดิมได้หรอคะ พอดีดิชั้นกำหนดในตารางเดินไปค่ะ แต่ไม่สามารถติ๊กเลือกได้ ต้องมีการเขียนคำสั่งอย่างไรคะถึงจะสามารถติ๊กในช่องได้คะ

 

17 เม.ย. 62 , 08:40:15
ตอบกลับ #9

สันติสุข

ถ้าระบบมีผู้ใช้คนเดียว เอาง่ายก็คือเพิ่ม S ลงในเทเบิลที่เป็นแหล่งข้อมูลที่แสดงส่วนของ [ผลลัพธ์การค้น] (R) หาไปเลยก็ได้

ส่วนที่เลือกไม่ได้ ให้ทดสอบว่าสามารถแก้ค่าในคอนโทรลอื่นๆใน R ได้ด้วยหรือไม่ ถ้าไม่ได้เหมือนกัน อาจเกิดจากคิวรี่(ถ้ามี)ที่เป็นแหล่งข้อมูลของผลการค้นหามีการเชื่อมเทเบิลและเข้าเงื่อนไขให้คิวรี่นั้นแก้ไขไม่ได้ แก้ไขโดยเลือก Property ของคิวรี่ให้เป็น Inconsistant Update แต่ต้องไปล็อคทุกคอนโทรลบน R ยกเว้นคอนโทรลของ S เพื่อไม่ให้ผู้ใช้เผลอแก้ไขไปด้วยครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida

17 เม.ย. 62 , 15:47:00
ตอบกลับ #10

Supanida

ถ้าระบบมีผู้ใช้คนเดียว เอาง่ายก็คือเพิ่ม S ลงในเทเบิลที่เป็นแหล่งข้อมูลที่แสดงส่วนของ [ผลลัพธ์การค้น] (R) หาไปเลยก็ได้

ส่วนที่เลือกไม่ได้ ให้ทดสอบว่าสามารถแก้ค่าในคอนโทรลอื่นๆใน R ได้ด้วยหรือไม่ ถ้าไม่ได้เหมือนกัน อาจเกิดจากคิวรี่(ถ้ามี)ที่เป็นแหล่งข้อมูลของผลการค้นหามีการเชื่อมเทเบิลและเข้าเงื่อนไขให้คิวรี่นั้นแก้ไขไม่ได้ แก้ไขโดยเลือก Property ของคิวรี่ให้เป็น Inconsistant Update แต่ต้องไปล็อคทุกคอนโทรลบน R ยกเว้นคอนโทรลของ S เพื่อไม่ให้ผู้ใช้เผลอแก้ไขไปด้วยครับ

มันมีตรงคอนโทล QTY ที่มันเหลือน้อยกว่าสิบมันจะแก้ไขค่าได้ค่ะ เราต้องกำหนดคิวรี่ก่อนหรอคะ พอจะมีตัวอย่างให้ดูเป็นแนวทางไหมคะ

 

17 เม.ย. 62 , 16:02:42
ตอบกลับ #11

สันติสุข

ไม่จำเป็นต้องมีคิวรี่ครับ หน้าฟอร์มอาจผูกเข้ากับเทเบิลหรือคิวรี่ก็ได้ แล้วแต่การออกแบบ ส่วนจำนวนน้อยกว่าสิบแล้วจะแก้ไขได้ คุณคงไปกำหนดเงื่อนไขอะไรเอาไว้ ลองหาดีๆทั้งในคุณสมบัติของฟิลด์และคอนโทรลของฟิลด์นั้น
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida

20 เม.ย. 62 , 19:54:23
ตอบกลับ #12

Supanida

ไม่จำเป็นต้องมีคิวรี่ครับ หน้าฟอร์มอาจผูกเข้ากับเทเบิลหรือคิวรี่ก็ได้ แล้วแต่การออกแบบ ส่วนจำนวนน้อยกว่าสิบแล้วจะแก้ไขได้ คุณคงไปกำหนดเงื่อนไขอะไรเอาไว้ ลองหาดีๆทั้งในคุณสมบัติของฟิลด์และคอนโทรลของฟิลด์นั้น

ขอสอบถามการกำหนดค่า true ลงในฟีลที่เรากำหนดเป็นให้เป็นการเลือกต้องกำหนดอย่างไรคะ
« แก้ไขครั้งสุดท้าย: 21 เม.ย. 62 , 20:14:13 โดย Supanida »

 

21 เม.ย. 62 , 14:09:02
ตอบกลับ #13

สันติสุข

อย่างที่บอกแหล่ะครับ การแก้ไขเรคอร์ดในเทเบิล ก็ใช้ Update Query    โดยในมุมมองแบบ Design View   ที่บรรทัด Update To ก็กำหนดค่าสำหรับฟิลด์ Yes/No นั้นเป็นคำว่า True และในบรรทัด Criteria ของคอลัมน์ของทุกฟิลด์ที่ใช้เป็นเงื่อนไข ก็ใส่เงื่อนไขสำหรับการดึงเรคอร์ดเหล่านั้นมาแก้ไข
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida

21 เม.ย. 62 , 20:16:30
ตอบกลับ #14

Supanida

อย่างที่บอกแหล่ะครับ การแก้ไขเรคอร์ดในเทเบิล ก็ใช้ Update Query    โดยในมุมมองแบบ Design View   ที่บรรทัด Update To ก็กำหนดค่าสำหรับฟิลด์ Yes/No นั้นเป็นคำว่า True และในบรรทัด Criteria ของคอลัมน์ของทุกฟิลด์ที่ใช้เป็นเงื่อนไข ก็ใส่เงื่อนไขสำหรับการดึงเรคอร์ดเหล่านั้นมาแก้ไข

ขอตัวอย่างเงื่อนไขสำหรับการดึงเรคอร์ดได้ไหมคะ

 

21 เม.ย. 62 , 21:08:54
ตอบกลับ #15

สันติสุข

เอาอย่างนี้ดีกว่า ตอบผมมาว่า ในหน้า [การค้นหา] คุณทำยังไงถึงได้ผลการค้นหาตามเงื่อนไขที่ใส่บนหน้าฟอร์ม ใช้คิวรี่ หรือใช้อะไร แล้ว expression ที่ใช้ค้นหาคืออะไร ช่วยอธิบายอย่างละเอียดด้วย
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

21 เม.ย. 62 , 22:19:38
ตอบกลับ #16

Supanida

เอาอย่างนี้ดีกว่า ตอบผมมาว่า ในหน้า [การค้นหา] คุณทำยังไงถึงได้ผลการค้นหาตามเงื่อนไขที่ใส่บนหน้าฟอร์ม ใช้คิวรี่ หรือใช้อะไร แล้ว expression ที่ใช้ค้นหาคืออะไร ช่วยอธิบายอย่างละเอียดด้วย

ให้หน้าค้นหาใช้คิวรี่ค่ะ แล้วก็นำมาสร้างเป็นฟอร์มค่ะ ส่วนที่ใช้ค้นหาใช้คอมโบบ็อกซ์ในการค้นหาค่ะ กำหนดเงื่อนไขโดยการเขียนโค้ดเป็นตัวกำหนดค่ะ กำหนดว่าให้สามารถเลือกการค้นหาได้จาก sku ,p/n หรือ valuable ค่ะ

 

21 เม.ย. 62 , 22:59:09
ตอบกลับ #17

สันติสุข

"กำหนดเงื่อนไขโดยการเขียนโค้ดเป็นตัวกำหนดค่ะ"  ก็เงื่อนไขอันเดียวกันนั้นแหล่ะครับ เหมือนๆกัน 100% เลย

ลองเอาคิวรี่และโค้ดส่วนนี้มาแสดงให้ดูหน่อยครับ ถ้าแสดงเป็นรูปง่ายกว่าเขียนอธิบาย ก็เอารูปมาให้ดูประกอบด้วยก็ได้
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida


บอร์ดเรียนรู้ Access สำหรับคนไทย


 

Sitemap 1 2 3 4 5