ทำระบบสินค้าคงคลัง อยากให้แสดง สินค้าคงเหลือ แต่ละ
กระทู้เก่าบอร์ด อ.Yeadram

 4,529   8
URL.หัวข้อ / URL
ทำระบบสินค้าคงคลัง อยากให้แสดง สินค้าคงเหลือ แต่ละ

ผมใช้ Access ทำเกี่ยวกับระบบสินค้าคงคลัง (Inventory)

ก็มีการบันทึก movement ว่าเพิ่มขึ้น หรือลดลง
พร้อมทั้งระบุวันที่ และ ชนิดสินค้า

แต่ละ transaction ที่เพิ่มไป ผมอยากให้มี ฟิลด์นึงที่ไว้แสดงว่า สินค้าคงเหลือเท่าไหร่

สูตร ที่ผมคิด มี 2 แบบ คือ

1. Sum จาก Quantity ทั้งหมด (Record แรก จะเป็นยอดยกมา)
2. ใช้ Remaining ของ Record ที่แล้ว บวกกับ Movement ของ Record ปัจจุบัน

ซึ่งผมไม่ทราบวิธีในการทำครับ ต้องใช้ query ทำหรือเปล่า


แล้วถ้า transaction มีเป็นร้อยๆ transaction แบบนี้จะช้าไหมครับ

ช่วยแนะนำทีครับ ขอบพระคุณครับ

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

1 @R06368


เนี่ยครับ ผมอยากสร้าง graph ที่แสดงยอดคงเหลือ

แต่ ที่ถูกต้อง มันควรจะเป็น

วันที่ 28 : 230
วันที่ 29 : 884 (230 + 654)
วันที่ 30: 841 (884 - 43)

แบบนี้ไปเรื่อยๆ อะครับ

เผอิญผมไปเจอ youtube ที่เขาใช้ running total ใน pivot table ใน url นี้ http://www.youtube.com/watch?v=2MjeqlTWUdk&feature=player_embedded#at=77

แต่ของผมมันไม่มี field property เลย

รบกวนท่านอาจารย์ ช่วยแนะนำทีนะครับ

ขอบพระคุณครับ
2 @R06369
รูปใหม่ครับ

3 @R06370
เรียบร้อยแล้วครับบบบ ทำสำเร็จแล้ว

ใช้ Funciton DSUM แต่ระหว่างทาง เจอปัญหาเยอะแยะเลย

ติดอยู่นาน ไอ้ตรง DSUM ไม่เข้าใจว่า คุณจะ Return มาเป็น STring ทำอะไร งมอยู่นานมาก

ใครสนใจ ลองดู file ผมได้ครับ


http://www.4shared.com/file/g7mLD8bc/Inventory_Management.html

หรือเมลล์มาถามผมก็ได้ ยินดีให้ความช่วยเหลือ relaxpor@hotmail.com
4 @R06375
ขอบคุณครับ
5 @R06377
ใช้ วิธีที่ 1 โดยใช้ฟังก์ชั่น DSUM แล้ว ข้อมูลมันช้ามากๆ เลย เพราะถ้ามี 1000 record มันก็จะเริ่มจาก Record แรกเลยทีเดียว

ทำอย่างไรดี ที่จะให้ประมวลผลเร็วขึ้นดีครับ ใครช่วยแชร์ไอเดียทีนะครับ

ขอบพระคุณครับ
6 @R06378
โดยปกติที่เขาทำกัน เขาจะเก็บ ยอดรวม เช่น สินค้าคงเหลือ, ยอดขาย (ทั้งจำนวนและมูลค่า), ยอดซื้อ (ทั้งจำนวนวและมูลค่า) ฯ เอาไว้ในเรคอร์ดใดเรคอร์ดหนึ่ง (เหมือนกับที่คุณเก็บ ยอดยกมา เอาไว้ที่เรคอร์ดหนึ่งนั่นแหล่ะ) เพราะข้อมูลพวกนี้มักเรียกใช้ดูบ่อยๆ ดังนั้นเพื่อลดเวลาในการประมวลผลเพื่อหาผลลัพธ์ เขาจึงมักทำกันเช่นนั้น แม้ว่าจะทำให้เราต้องมานั่งจัดการ ยอดรวม เหล่านี้ทุกครั้งที่มีการทำ transaction ซึ่งดูเหมือนจะทำงานเพิ่มขึ้นและซ้ำซ้อนก็ตาม แต่ก็คุ้มค่าครับ
7 @R06379
ผมอยากเก็บ ยอดคงเหลือไว้ในfield remaining ครับ

แต่ที่ผมทำไปเหมือนมันเป็นการคำนวน ไม่ใช่เก็บ ผมเข้าใจถูกไหมครับ

ถ้าอย่างนั้น ผมควรใช้วิธีไหนดี

มีmacro ง่ายๆ ในการดึงข้อมูลในฟิลด์ที่ต้องการจาก record สุดท้าย โดยมี่เงื่อนไขรึเปล่าครับ

ขอบพระคุณครับ
8 @R06380
- ใช่ ที่คุณทำเป็นการคำนวน    ผมก็ไม่แน่ใจว่า Remaining ของเรคอร์ดที่แล้วของคุณคือ ยอดคงเหลือ หรือไม่ ถ้าใช่ก็นำมาใช้ได้ครับ แต่การดึงข้อมูลจากเรคอร์ดสุดท้ายด้วย แมโคร คิดว่าไม่มีนะครับ ถ้าทำด้วย VBA ก็

Dim DB as DAO.Database
Dim RS as DAO.Recordset

Set DB = CurrentDB
Set RS = DB.OpenRecordset("SELECT TOP 1 ชื่อฟิลด์ FROM ชื่อเทเบิล WHERE เงื่อนไข ORDER BY ฟิลด์ที่บอกถึงลำดับที่ DESC")
Me.ชื่อเท็กซ์บ็อกส์ที่ต้องการแสดง = RS!ชื่อฟิลด์
RS.Close : Set RS = Nothing
DB.Close : Set DB = Nothing
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3295s