กระทู้เก่าบอร์ด อ.Yeadram
        
           4,721   8		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        ทำระบบสินค้าคงคลัง อยากให้แสดง สินค้าคงเหลือ แต่ละ      
    
      ผมใช้ Access ทำเกี่ยวกับระบบสินค้าคงคลัง (Inventory)
ก็มีการบันทึก movement ว่าเพิ่มขึ้น หรือลดลง
พร้อมทั้งระบุวันที่ และ ชนิดสินค้า
แต่ละ transaction ที่เพิ่มไป ผมอยากให้มี ฟิลด์นึงที่ไว้แสดงว่า สินค้าคงเหลือเท่าไหร่
สูตร ที่ผมคิด มี 2 แบบ คือ
1. Sum จาก Quantity ทั้งหมด (Record แรก จะเป็นยอดยกมา)
2. ใช้ Remaining ของ Record ที่แล้ว บวกกับ Movement ของ Record ปัจจุบัน
ซึ่งผมไม่ทราบวิธีในการทำครับ ต้องใช้ query ทำหรือเปล่า
แล้วถ้า transaction มีเป็นร้อยๆ transaction แบบนี้จะช้าไหมครับ
ช่วยแนะนำทีครับ ขอบพระคุณครับ
    
  ก็มีการบันทึก 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 
				
        
    2 @R06369    
        
  
      รูปใหม่ครับ
 
    
    
   
    
        
    3 @R06370    
        
  
      เรียบร้อยแล้วครับบบบ ทำสำเร็จแล้ว
ใช้ Funciton DSUM แต่ระหว่างทาง เจอปัญหาเยอะแยะเลย
ติดอยู่นาน ไอ้ตรง DSUM ไม่เข้าใจว่า คุณจะ Return มาเป็น STring ทำอะไร งมอยู่นานมาก
ใครสนใจ ลองดู file ผมได้ครับ
http://www.4shared.com/file/g7mLD8bc/Inventory_Management.html
หรือเมลล์มาถามผมก็ได้ ยินดีให้ความช่วยเหลือ [email protected]
    
  ใช้ Funciton DSUM แต่ระหว่างทาง เจอปัญหาเยอะแยะเลย
ติดอยู่นาน ไอ้ตรง DSUM ไม่เข้าใจว่า คุณจะ Return มาเป็น STring ทำอะไร งมอยู่นานมาก
ใครสนใจ ลองดู file ผมได้ครับ
http://www.4shared.com/file/g7mLD8bc/Inventory_Management.html
หรือเมลล์มาถามผมก็ได้ ยินดีให้ความช่วยเหลือ [email protected]
        
    4 @R06375    
        
  
      ขอบคุณครับ    
    
  
        
    5 @R06377    
        
  
      ใช้ วิธีที่ 1 โดยใช้ฟังก์ชั่น DSUM แล้ว ข้อมูลมันช้ามากๆ เลย เพราะถ้ามี 1000 record มันก็จะเริ่มจาก Record แรกเลยทีเดียว
ทำอย่างไรดี ที่จะให้ประมวลผลเร็วขึ้นดีครับ ใครช่วยแชร์ไอเดียทีนะครับ
ขอบพระคุณครับ
    
  ทำอย่างไรดี ที่จะให้ประมวลผลเร็วขึ้นดีครับ ใครช่วยแชร์ไอเดียทีนะครับ
ขอบพระคุณครับ
        
    6 @R06378    
        
  
      โดยปกติที่เขาทำกัน เขาจะเก็บ ยอดรวม เช่น สินค้าคงเหลือ, ยอดขาย (ทั้งจำนวนและมูลค่า), ยอดซื้อ (ทั้งจำนวนวและมูลค่า) ฯ เอาไว้ในเรคอร์ดใดเรคอร์ดหนึ่ง (เหมือนกับที่คุณเก็บ ยอดยกมา เอาไว้ที่เรคอร์ดหนึ่งนั่นแหล่ะ) เพราะข้อมูลพวกนี้มักเรียกใช้ดูบ่อยๆ ดังนั้นเพื่อลดเวลาในการประมวลผลเพื่อหาผลลัพธ์ เขาจึงมักทำกันเช่นนั้น แม้ว่าจะทำให้เราต้องมานั่งจัดการ ยอดรวม เหล่านี้ทุกครั้งที่มีการทำ transaction ซึ่งดูเหมือนจะทำงานเพิ่มขึ้นและซ้ำซ้อนก็ตาม แต่ก็คุ้มค่าครับ
    
    
  
        
    7 @R06379    
        
  
      ผมอยากเก็บ ยอดคงเหลือไว้ในfield remaining ครับ
แต่ที่ผมทำไปเหมือนมันเป็นการคำนวน ไม่ใช่เก็บ ผมเข้าใจถูกไหมครับ
ถ้าอย่างนั้น ผมควรใช้วิธีไหนดี
มีmacro ง่ายๆ ในการดึงข้อมูลในฟิลด์ที่ต้องการจาก record สุดท้าย โดยมี่เงื่อนไขรึเปล่าครับ
ขอบพระคุณครับ
    
  แต่ที่ผมทำไปเหมือนมันเป็นการคำนวน ไม่ใช่เก็บ ผมเข้าใจถูกไหมครับ
ถ้าอย่างนั้น ผมควรใช้วิธีไหนดี
มี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
    
  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
      Time: 0.0520s
    
      
		
เนี่ยครับ ผมอยากสร้าง 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 เลย
รบกวนท่านอาจารย์ ช่วยแนะนำทีนะครับ
ขอบพระคุณครับ