รบกวนช่วยด้วยนะค่ะ
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 319   5
URL.หัวข้อ / URL
รบกวนช่วยด้วยนะค่ะ

สมมุติว่ามี table นึงเก็บ 5 ฟิล คือ 1. วันที่ 2. ประเภทสินค้า 3. สินค้าเข้า 4.สินค้าออก 5. จำนวนคงเหลือ ถ้ามีข้อมูลสินค้าเข้า ก้อจะไปบวกเพิ่มในช่องจำนวนคงเหลือ และถ้ามีสินค้าออก ก็จะไปลบออกจากช่องสินค้าคงเหลือ โดยจะมีจำนวนคงเหลือเริ่มต้นค่ะ ลักษณะอย่างนี้ค่ะ
==============================================================
วันที่ ประเภทสินค้า เข้า ออก คงเหลือ
==============================================================
01/06/2546 ปากกา 0 0 100
02/06/2546 ปากกา 20 0 120
03/06/2546 ปากกา 0 50 70
04/06/2546 ปากกา 0 10 60

แล้วเกิดว่ามีในกรณีที่ต้องมีการยกเลิก หรือลบ ทั้ง Record นั้นทิ้งไปเช่นลบ ใน record วันที่ 3/06/2546 ทิ้งไป เพราะฉะนั้นค่าในช่องคงเหลือก้อจะเปลี่ยนแปลงในด้วย เป็น

==============================================================
วันที่ ประเภทสินค้า เข้า ออก คงเหลือ
==============================================================
01/06/2546 ปากกา 0 0 100
02/06/2546 ปากกา 20 0 120
04/06/2546 ปากกา 0 10 110

ไม่ทราบว่าจะทำอย่างไรดีค่ะ ขอความกรุณาผู้ที่รู้ช่วยตอบหนูด้วยนะค่ะ ขอบคุณมากค่ะ

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

1 @R03604
ตัวอย่างเล็กน้อยที่ลอกมาจากตัวอย่าง Project ของอ.สุภาพ ลองD/L ของอ.มาดูนะครับ
2 @R03613
ขอบคุณที่ช่วยเหลือนะค่ะ แต่ว่าลอง D/L มาดูแล้ว คือว่าก็ยังไม่ตรงกะความต้องการค่ะ คือเมื่อเราได้ค่าคงเหลือจากการ In (เพิ่มข้อมูล ) Out (ลบข้อมูล) ตรงนี่ถูกต้อง ช่ายค่ะ แต่ว่าถ้าสมมุติว่าเราลบทั้ง record นึงใน table ออก ในช่องตรงค่าคงเหลือก้อจะต้องเปลี่ยนแปลงใหม่ไปด้วยค่ะ ไม่ทราบว่าจะทำอย่างไรดีค่ะ ดิฉันคิดว่าในช่องข้อมูลคงเหลือน่าจะมาจากการเขียน code แต่เขียนไม่เปงค่ะ ผู้ที่รู้กรุณาช่วยเหลือด้วยนะค่ะ ขอบคุณมากค่ะ
3 @R03623
บอกแนวคิดดีกว่านะครับ โปรแกรมที่ผมใช้จะไม่มีการลบข้อมูลออกครับ
แต่จะใช้ลักษณะตรวจสอบ Movement type และ Status แทน
เช่น
Doc. วันที่ สินค้า จำนวน Type Status เหลือ
x001 01/06/2546 ปากกา 10 A01 'รับ Y 10
x002 02/06/2546 ปากกา 5 B01 'จ่าย Y 5

1.ถ้าต้องการยกเลิกรายการของ x002 ก็จะให้โปรแกรมไปตรวจสอบStatus ของ x002 ก่อนว่าเป็น Y หรือเปล่า(หมายถึงว่าเอกส่ารผ่านการทำงานจนสมบูรณ์ทุกอย่างแล้ว)ทีนี้ถ้าข้อมูลเป็น Yเราก็สามารถยกเลิกได้อยู่แล้ว
2.ตรวจ type ของ X002 ก่อนว่าเป็น type อะไร ถ้าเป็น B01 ก็ให้ไปเพิ่มยอด คงเหลือ และให้โปรแกรม ไปแก้ไข Status ของ x002 เป็น N(หมายถึงรายการนี้ถูกยกเลิก) แล้วก็เอา transaction x002 เพิ่มเข้าไปในฐานข้อมูลอีกครั้งโดยที่ให้โปรแกรมเปลี่ยน type เป็น B02 เพื่อบอกให้เรารู้ว่ารายการนี้เป็นรายการยกเลิกจากการจ่าย ทีนี้ก็จะมี transaction เพิ่มขึ้นมาอีก1 transaction

Doc. วันที่ สินค้า จำนวน Type Status เหลือ
x001 01/06/2546 ปากกา 10 A01 'รับ Y 10
x002 02/06/2546 ปากกา 5 B01 'จ่าย N 5
x002 02/06/2546 ปากกา 5 B02 'ยกเลิกจ่าย N 10
เอาไว้แค่นี้ก่อน เพื่อนมาตามไปรับประทานสุราครับ(รีบสุดๆ)
4 @R03673
รบกวนผู้ที่รู้ ช่วยแก้ปัญหาให้นู๋ หน่อยนะค่ะ ขอบคุณมากค่ะ
5 @R03687
ตัวอย่างนี้ลองดูนะครับ จะนำข้อมูลที่ลบไปมาเพิ่มให้คุณ J ลองเลือกเรคอร์ดที่ 3 แล้วคลิก Delete ดูนะครับ ถ้ามีข้อมูลเยอะแล้วไปลบข้อมูลต้นๆออก ผมไม่สามารถเขียน Update ข้อมูลทั้งหมดในตารางได้ ( มือใหม่ครับ) ผมว่าน่าจะลองมองการออกแบบฐานข้อมูลอีกครั้งนะครับ เอาเป็นว่าใช้เป็นตัวอย่างในการลบ Record แล้วกันนะครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0589s