Running sum ค่าคงเหลือเบิกจ่ายวัสดุ แบบมีเงื่อนไข



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

07 ก.ค. 64 , 11:24:13
อ่าน 287 ครั้ง

Un


ขอ Query Running sum ฟิลด์ Totel ครับ
โดย MCode เป็นตัวแปลตามชนิดวัสดุ
      MType เป็นตัวแปลถ้ารับ(เท่ากับ1)จะเอาค่าที่รับมาบวก ถ้าเบิก(เท่ากับ2)เอามาลบ
Table แรกชื่อ qMrep

ขอความช่วยเหลือด้วยครับ

 

07 ก.ค. 64 , 11:39:35
ตอบกลับ #1

PNR

ถ้าใช้คิวรี่ยังคิดไม่ออก
แต่ถ้าเป็นการ Loop check แล้วนำมาเพิ่มหรือหักลบกับค่าด้านบนเหมือนการรับยอดตัดยอดผมพอทำได้ครับ
วิธีการที่คิดได้ต้องสร้างตารางเพื่อแสดงผลครับ
เอาไหม ?
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Un

07 ก.ค. 64 , 11:43:27
ตอบกลับ #2

Un

ถ้าใช้คิวรี่ยังคิดไม่ออก
แต่ถ้าเป็นการ Loop check แล้วนำมาเพิ่มหรือหักลบกับค่าด้านบนเหมือนการรับยอดตัดยอดผมพอทำได้ครับ
วิธีการที่คิดได้ต้องสร้างตารางเพื่อแสดงผลครับ
เอาไหม ?
เอาสิครับอาจารย์ ได้เพิ่มความรู้ใหม่ด้วย

 

07 ก.ค. 64 , 12:09:57
ตอบกลับ #3

OddyWriter

ถ้าใช้ 1 กับ 2 แบบนี้ เวลาทำ Total Query เพื่อหาผลรวม มันก็ทำได้นะครับ แต่จะยุ่งยากหน่อยๆ
แนะนำให้เปลี่ยนจาก 1 กับ 2 เป็น 1 กับ -1 แล้วเพิ่มคอลัมน์ ที่นำจำนวนมาคูณกับ 1 กับ -1

จากนั้นทำ Total Query จากค่าผลลัพธ์ที่ได้

อีกอย่าง "ตัวแปร" คือ Variable ส่วน "ตัวแปล" ก็ประมาณ "วุ้นแปลภาษาของโดเรมอน" ครับ



ขอ Query Running sum ฟิลด์ Totel ครับ
โดย MCode เป็นตัวแปลตามชนิดวัสดุ
      MType เป็นตัวแปลถ้ารับ(เท่ากับ1)จะเอาค่าที่รับมาบวก ถ้าเบิก(เท่ากับ2)เอามาลบ
Table แรกชื่อ qMrep

ขอความช่วยเหลือด้วยครับ
วิกฤติโควิดทำให้ร้อนเงิน
ใครอยากจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: Un, PNR

07 ก.ค. 64 , 12:20:45
ตอบกลับ #4

Un

ถ้าใช้ 1 กับ 2 แบบนี้ เวลาทำ Total Query เพื่อหาผลรวม มันก็ทำได้นะครับ แต่จะยุ่งยากหน่อยๆ
แนะนำให้เปลี่ยนจาก 1 กับ 2 เป็น 1 กับ -1 แล้วเพิ่มคอลัมน์ ที่นำจำนวนมาคูณกับ 1 กับ -1

จากนั้นทำ Total Query จากค่าผลลัพธ์ที่ได้

อีกอย่าง "ตัวแปร" คือ Variable ส่วน "ตัวแปล" ก็ประมาณ "วุ้นแปลภาษาของโดเรมอน" ครับ


555 ขอบคุณครับอาจารย์ รีบไปหน่อย พิมพ์ผิด

ในส่วนที่อาจารย์แนะนำ ช่วงที่รอ ผมคิดถึงจุดนี้พอดี เลยเอา -1 คูณกับค่าที่เป็นเบิกไปแล้วครับ
ปัญหาตอนนี้ ติดที่เราเบิกจ่าย ในวันเดียวกัน สงสัยต้องใช้ ตัวแปร รหัสการเบิกมาร่วมด้วย(ซึ่งต้องเรียงลำดับด้วย)
แล้ว วันแรกที่รับเข้า เรคคอดแรกของโปรแกรม มันจะคิดรวมยังงัย พอ อ.PNR มาบอกจะเขียนโคตให้ เลยคิดว่า
น่าจะดีกว่า Runnig sum เพราะถ้าข้อมูลมากๆ อาจช้า แต่ก็จะลองหลายๆ แบบ เป็นความรู้ด้วยครับ

 

07 ก.ค. 64 , 12:37:30
ตอบกลับ #5

OddyWriter

1. ข้อมูลแบบนี้ต้องมี MovementID ร่วมด้วย
2. "วันแรกที่รับเข้า เรคคอดแรกของโปรแกรม มันจะคิดรวมยังงัย" ขึ้นอยู่กับเงื่อนไขการรับเข้าครับ ถ้าจะไม่ให้มารวม ก็ใส่เป็น 0 แทนที่จะเป็น 1 หรือ -1
3. การเขียน Code ก็ดีนะครับ แต่ปัญหาคือมันทำงานช้ากว่า Query ครับ ผมเคยเขียน Code Loop 10,000 รอบ สำหรับข้อมูล 10,000 เรคอร์ด กว่าจะทำงานเสร็จ สุดท้ายใช้ Query ซ้อน Query เร็วกว่ากันเยอะ (กดปุ๊บ ได้ปั๊บ)
วิกฤติโควิดทำให้ร้อนเงิน
ใครอยากจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: Un

07 ก.ค. 64 , 12:39:09
ตอบกลับ #6

PNR

ลองแบบที่อาจารย์ OddyWriter บอกดีกว่าครับ ผมก็คิดอยากจะทำกับคิวรี่แต่คิดวิธีไม่ออกครับ
เมื่อมีแนวทางแล้ว เอาแบบที่ อาจารย์ OddyWriter แนะนำดีกว่าครับ เร็วกว่าจริงๆ
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Un

07 ก.ค. 64 , 16:26:54
ตอบกลับ #7

Un

1. ข้อมูลแบบนี้ต้องมี MovementID ร่วมด้วย
2. "วันแรกที่รับเข้า เรคคอดแรกของโปรแกรม มันจะคิดรวมยังงัย" ขึ้นอยู่กับเงื่อนไขการรับเข้าครับ ถ้าจะไม่ให้มารวม ก็ใส่เป็น 0 แทนที่จะเป็น 1 หรือ -1
3. การเขียน Code ก็ดีนะครับ แต่ปัญหาคือมันทำงานช้ากว่า Query ครับ ผมเคยเขียน Code Loop 10,000 รอบ สำหรับข้อมูล 10,000 เรคอร์ด กว่าจะทำงานเสร็จ สุดท้ายใช้ Query ซ้อน Query เร็วกว่ากันเยอะ (กดปุ๊บ ได้ปั๊บ)

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

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

 

08 ก.ค. 64 , 09:53:25
ตอบกลับ #8

PNR

ลองดูตัวอย่างนะครับ
ใช้การเช็คเงื่อนไขโดยใช้ Field Mcode มาแยกหมวดหมู่
Time to stop for me  :dizzy:
 

08 ก.ค. 64 , 11:19:25
ตอบกลับ #9

Un

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

 


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