การหายอดคงเหลือ


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

02 ส.ค. 67 , 13:49:41
อ่าน 418 ครั้ง

prajak

การหายอดคงเหลือ
« เมื่อ: 02 ส.ค. 67 , 13:49:41 »


รบกวนสอบถามตามรูปเลยนะครับ ถ้าผมต้องการหายอดคงเหลือ(ช่องคงเหลือตามรูป)ของสินค้ารายการนี้ จะต้องใช้สูตรหรือคำสั่งยังไงครับ

 

02 ส.ค. 67 , 16:31:21
ตอบกลับ #1

Un

: การหายอดคงเหลือ
« ตอบกลับ #1 เมื่อ: 02 ส.ค. 67 , 16:31:21 »
ถ้ากระทู้นี้ต่อยอดมาจาก กระทู้ที่แล้วนะครับ
ผมว่ามันทำไม่ได้ครับ เนื่องจากมันไม่มีอะไรอ้างอิงก่อนหลัง
จากตารางที่ออกแบบ มีวันที่เป็นตัวอ้างอิง ซึ่ง มันมีวันที่ซ้ำกันได้
ทำให้วันเดียวกันมันจะคำนวนผิด การคำนวนแบบนี้เรียก
Running sum ค้นหาจากกระทู้เก่าๆ ได้ครับ

การคำนวนแบบนี้ ส่วนใหญ่ จะใช้อยู่ในตารางเดียวกัน
และใช้ไอดี เป็นตัวบอกก่อนหลัง

ผมส่งตัวอย่างให้ดู ว่ามันจะไม่ได้ยังงัย

 

02 ส.ค. 67 , 16:44:39
ตอบกลับ #2

prajak

: การหายอดคงเหลือ
« ตอบกลับ #2 เมื่อ: 02 ส.ค. 67 , 16:44:39 »
ถ้ากระทู้นี้ต่อยอดมาจาก กระทู้ที่แล้วนะครับ
ผมว่ามันทำไม่ได้ครับ เนื่องจากมันไม่มีอะไรอ้างอิงก่อนหลัง
จากตารางที่ออกแบบ มีวันที่เป็นตัวอ้างอิง ซึ่ง มันมีวันที่ซ้ำกันได้
ทำให้วันเดียวกันมันจะคำนวนผิด การคำนวนแบบนี้เรียก
Running sum ค้นหาจากกระทู้เก่าๆ ได้ครับ

การคำนวนแบบนี้ ส่วนใหญ่ จะใช้อยู่ในตารางเดียวกัน
และใช้ไอดี เป็นตัวบอกก่อนหลัง

ผมส่งตัวอย่างให้ดู ว่ามันจะไม่ได้ยังงัย
แล้วถ่าผมมี ID กำกับ ในรูปต้องเขียนยังไงครับ

 

02 ส.ค. 67 , 17:15:02
ตอบกลับ #3

prajak

: การหายอดคงเหลือ
« ตอบกลับ #3 เมื่อ: 02 ส.ค. 67 , 17:15:02 »
เบื้องต้นผมแนบไฟล์ตามลิง้ค์นี้ครับ ผมรบกวนช่วยดูตรง Query12 ให้ทีนะครับ ขอบคุณมากครับ

https://wetransfer.com/downloads/9d6f9512df3aa6d6c994114f9d8339af20240802101146/bdb50cb1fdb83d14b2989d3f9b505b3720240802101219/86a723?trk=TRN_TDL_01&utm_campaign=TRN_TDL_01&utm_medium=email&utm_source=sendgrid

 

02 ส.ค. 67 , 21:32:58
ตอบกลับ #4

PookPuy

: การหายอดคงเหลือ
« ตอบกลับ #4 เมื่อ: 02 ส.ค. 67 , 21:32:58 »
เบื้องต้นผมแนบไฟล์ตามลิง้ค์นี้ครับ ผมรบกวนช่วยดูตรง Query12 ให้ทีนะครับ ขอบคุณมากครับ

https://wetransfer.com/downloads/9d6f9512df3aa6d6c994114f9d8339af20240802101146/bdb50cb1fdb83d14b2989d3f9b505b3720240802101219/86a723?trk=TRN_TDL_01&utm_campaign=TRN_TDL_01&utm_medium=email&utm_source=sendgrid

แวะมาแนะว่าถ้าไฟล์ใหญ่ฝาก+แชร์ผ่าน Google Drive น่าจะง่ายและดีกว่านะครับ

 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

03 ส.ค. 67 , 08:59:21
ตอบกลับ #5

prajak

: การหายอดคงเหลือ
« ตอบกลับ #5 เมื่อ: 03 ส.ค. 67 , 08:59:21 »
ขออนุญาตเปลี่ยนเป็น google drive ตามที่แนะนำนะครับ

https://drive.google.com/file/d/1oXuWLsnHV77rYbZDV_8F1C6rNAwVv3T9/view?usp=sharing

 

03 ส.ค. 67 , 11:26:53
ตอบกลับ #6

prajak

: การหายอดคงเหลือ
« ตอบกลับ #6 เมื่อ: 03 ส.ค. 67 , 11:26:53 »
ถ้ากระทู้นี้ต่อยอดมาจาก กระทู้ที่แล้วนะครับ
ผมว่ามันทำไม่ได้ครับ เนื่องจากมันไม่มีอะไรอ้างอิงก่อนหลัง
จากตารางที่ออกแบบ มีวันที่เป็นตัวอ้างอิง ซึ่ง มันมีวันที่ซ้ำกันได้
ทำให้วันเดียวกันมันจะคำนวนผิด การคำนวนแบบนี้เรียก
Running sum ค้นหาจากกระทู้เก่าๆ ได้ครับ

การคำนวนแบบนี้ ส่วนใหญ่ จะใช้อยู่ในตารางเดียวกัน
และใช้ไอดี เป็นตัวบอกก่อนหลัง

ผมส่งตัวอย่างให้ดู ว่ามันจะไม่ได้ยังงัย
แล้วถ่าผมมี ID กำกับ ในรูปต้องเขียนยังไงครับ

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


https://drive.google.com/file/d/1GQ2La_LmomiVDgoGXbGWY9a4NytCb4SZ/view?usp=sharing

ปล.สินค้าจะมีหลายรายการ แต่ว่าแต่ละรายการจะมี ID Product ของมันครับ
« แก้ไขครั้งสุดท้าย: 03 ส.ค. 67 , 11:34:23 โดย prajak »

 

05 ส.ค. 67 , 10:21:49
ตอบกลับ #7

Un

: การหายอดคงเหลือ
« ตอบกลับ #7 เมื่อ: 05 ส.ค. 67 , 10:21:49 »
การออกแบบตารางดูสับสนมากเลยครับ
ถ้าเราออกแบบตารางดี มันจะเขียนโปรแกรมง่าย
ตอนนี้นั่งไล่ตาราง คิวรี ก็งงแล้ว ใช้เวลาสักพัก

ผมว่าคุณเริ่มใหม่ดีกว่า ดูจากตัวอย่างที่ผมส่งไป
มันใช้แค่หลักๆ 4 คิวรี่นี่แหละ ตารางก็ดึงไปใช้ในคิวรี่ได้เลย
ไม่ต้องเอามาเซฟเป็นชื่อใหม่ ถ้าเยอะแบบนี้ งง มาก
« แก้ไขครั้งสุดท้าย: 05 ส.ค. 67 , 10:38:20 โดย Un »

 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

05 ส.ค. 67 , 11:12:32
ตอบกลับ #8

prajak

: การหายอดคงเหลือ
« ตอบกลับ #8 เมื่อ: 05 ส.ค. 67 , 11:12:32 »
การออกแบบตารางดูสับสนมากเลยครับ
ถ้าเราออกแบบตารางดี มันจะเขียนโปรแกรมง่าย
ตอนนี้นั่งไล่ตาราง คิวรี ก็งงแล้ว ใช้เวลาสักพัก

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

 

05 ส.ค. 67 , 12:05:18
ตอบกลับ #9

Un

: การหายอดคงเหลือ
« ตอบกลับ #9 เมื่อ: 05 ส.ค. 67 , 12:05:18 »
เข้าใจครับมือใหม่ คือจะให้ทำให้เลย คนที่เค้ามาดูเค้าไม่รู้ว่า ตารางไหนคืออะไร
แล้วเค้าจะทำให้ได้งัย ผมดูไปชั่วโมงนึง ยังไม่รู้เลยว่า ตารางไหนคือรับ ตารางไหนจ่าย
มันมั่วไปหมด เลยอยากให้ลองทำ ให้เหลือ 3-4 คิวรี่ เอาส่วนที่เกี่ยวข้องในตารางต่างๆ
มารวมใน คิวรี่เดียวจนเหลือคิวรี่สุดท้าย อันไหนไม่ใช้ไม่ต้องดึงลงมา

แล้วจากที่ดู ถ้าออกแบบ 2 ตาราง เป็นตาราง รับ ตารางจ่าย พอมารวมกัน
ไอดีมันจะไม่สามารถลำดับได้ เช่น
ตารางรับ
ID    วันที่       จำนวน
1  30/7/2567    20
2  2/8/2567    10
3  2/8/2567      5
4  2/8/2567    15
5  2/8/2567    25
ตารางจ่าย
ID    วันที่       จำนวน
1   31/7/2567     2
2    1/8/2567      4
3    1/8/2567      5
4    1/8/2567      6
5    2/8/2567      3
ตารางรับ-จ่าย
ID    วันที่       จำนวนรับ    จำนวนจ่าย   คงเหลือ
1  30/7/2567    20             0            20
1  31/7/2567      0             2            18
2    1/8/2567      0             4            14
2    2/8/2567    10             0            24
3    1/8/2567      0             5            19
3    2/8/2567      5             0            ....
4    1/8/2567      0             6            ...
จะเห็นว่าพอเรียงตาม ID วันที่จะเรียงผิด
วิธีแก้คือ ต้องใช้ตารางเดียว หรือต้องเขียนให้โปรแกรมนับไอดี ต่อกันใน 2 ตาราง
ลองทำดูครับ
.........

 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

05 ส.ค. 67 , 12:50:13
ตอบกลับ #10

prajak

: การหายอดคงเหลือ
« ตอบกลับ #10 เมื่อ: 05 ส.ค. 67 , 12:50:13 »
เข้าใจครับมือใหม่ คือจะให้ทำให้เลย คนที่เค้ามาดูเค้าไม่รู้ว่า ตารางไหนคืออะไร
แล้วเค้าจะทำให้ได้งัย ผมดูไปชั่วโมงนึง ยังไม่รู้เลยว่า ตารางไหนคือรับ ตารางไหนจ่าย
มันมั่วไปหมด เลยอยากให้ลองทำ ให้เหลือ 3-4 คิวรี่ เอาส่วนที่เกี่ยวข้องในตารางต่างๆ
มารวมใน คิวรี่เดียวจนเหลือคิวรี่สุดท้าย อันไหนไม่ใช้ไม่ต้องดึงลงมา

แล้วจากที่ดู ถ้าออกแบบ 2 ตาราง เป็นตาราง รับ ตารางจ่าย พอมารวมกัน
ไอดีมันจะไม่สามารถลำดับได้ เช่น
ตารางรับ
ID    วันที่       จำนวน
1  30/7/2567    20
2  2/8/2567    10
3  2/8/2567      5
4  2/8/2567    15
5  2/8/2567    25
ตารางจ่าย
ID    วันที่       จำนวน
1   31/7/2567     2
2    1/8/2567      4
3    1/8/2567      5
4    1/8/2567      6
5    2/8/2567      3
ตารางรับ-จ่าย
ID    วันที่       จำนวนรับ    จำนวนจ่าย   คงเหลือ
1  30/7/2567    20             0            20
1  31/7/2567      0             2            18
2    1/8/2567      0             4            14
2    2/8/2567    10             0            24
3    1/8/2567      0             5            19
3    2/8/2567      5             0            ....
4    1/8/2567      0             6            ...
จะเห็นว่าพอเรียงตาม ID วันที่จะเรียงผิด
วิธีแก้คือ ต้องใช้ตารางเดียว หรือต้องเขียนให้โปรแกรมนับไอดี ต่อกันใน 2 ตาราง
ลองทำดูครับ
.........
ขอบพระคุณมากนะครับ ผมคงต้องทำใหม่ตามที่แนะนำครับ ผิดตั้งแต่ออกแบบตารางใช้งาน

 

06 ส.ค. 67 , 13:29:49
ตอบกลับ #11

prajak

: การหายอดคงเหลือ
« ตอบกลับ #11 เมื่อ: 06 ส.ค. 67 , 13:29:49 »
เข้าใจครับมือใหม่ คือจะให้ทำให้เลย คนที่เค้ามาดูเค้าไม่รู้ว่า ตารางไหนคืออะไร
แล้วเค้าจะทำให้ได้งัย ผมดูไปชั่วโมงนึง ยังไม่รู้เลยว่า ตารางไหนคือรับ ตารางไหนจ่าย
มันมั่วไปหมด เลยอยากให้ลองทำ ให้เหลือ 3-4 คิวรี่ เอาส่วนที่เกี่ยวข้องในตารางต่างๆ
มารวมใน คิวรี่เดียวจนเหลือคิวรี่สุดท้าย อันไหนไม่ใช้ไม่ต้องดึงลงมา

แล้วจากที่ดู ถ้าออกแบบ 2 ตาราง เป็นตาราง รับ ตารางจ่าย พอมารวมกัน
ไอดีมันจะไม่สามารถลำดับได้ เช่น
ตารางรับ
ID    วันที่       จำนวน
1  30/7/2567    20
2  2/8/2567    10
3  2/8/2567      5
4  2/8/2567    15
5  2/8/2567    25
ตารางจ่าย
ID    วันที่       จำนวน
1   31/7/2567     2
2    1/8/2567      4
3    1/8/2567      5
4    1/8/2567      6
5    2/8/2567      3
ตารางรับ-จ่าย
ID    วันที่       จำนวนรับ    จำนวนจ่าย   คงเหลือ
1  30/7/2567    20             0            20
1  31/7/2567      0             2            18
2    1/8/2567      0             4            14
2    2/8/2567    10             0            24
3    1/8/2567      0             5            19
3    2/8/2567      5             0            ....
4    1/8/2567      0             6            ...
จะเห็นว่าพอเรียงตาม ID วันที่จะเรียงผิด
วิธีแก้คือ ต้องใช้ตารางเดียว หรือต้องเขียนให้โปรแกรมนับไอดี ต่อกันใน 2 ตาราง
ลองทำดูครับ
.........




ตอนนี้ผมทำตารางใหม่ตามที่แนะนำแล้วครับ โดยลำดับก่อนหลังจะมี ID เป็นตัวกำหนด แต่สินค้ามีหลายItem ซึ่งแต่ละ item จะมี product ID ของมันเอง แบบนี้เราต้องเขียนคำสั่งยังไงเพื่อไม่ให้มันมารวมกันครับ

ปล. ตอนนี้ช่อง balance ใช้คำสั่งนี้ครับ Balance: (SELECT Sum([In]-[Out]) FROM [Query13] AS q WHERE (q.ID<=[Query13].[ID]))

 

06 ส.ค. 67 , 13:49:23
ตอบกลับ #12

prajak

: การหายอดคงเหลือ
« ตอบกลับ #12 เมื่อ: 06 ส.ค. 67 , 13:49:23 »
เข้าใจครับมือใหม่ คือจะให้ทำให้เลย คนที่เค้ามาดูเค้าไม่รู้ว่า ตารางไหนคืออะไร
แล้วเค้าจะทำให้ได้งัย ผมดูไปชั่วโมงนึง ยังไม่รู้เลยว่า ตารางไหนคือรับ ตารางไหนจ่าย
มันมั่วไปหมด เลยอยากให้ลองทำ ให้เหลือ 3-4 คิวรี่ เอาส่วนที่เกี่ยวข้องในตารางต่างๆ
มารวมใน คิวรี่เดียวจนเหลือคิวรี่สุดท้าย อันไหนไม่ใช้ไม่ต้องดึงลงมา

แล้วจากที่ดู ถ้าออกแบบ 2 ตาราง เป็นตาราง รับ ตารางจ่าย พอมารวมกัน
ไอดีมันจะไม่สามารถลำดับได้ เช่น
ตารางรับ
ID    วันที่       จำนวน
1  30/7/2567    20
2  2/8/2567    10
3  2/8/2567      5
4  2/8/2567    15
5  2/8/2567    25
ตารางจ่าย
ID    วันที่       จำนวน
1   31/7/2567     2
2    1/8/2567      4
3    1/8/2567      5
4    1/8/2567      6
5    2/8/2567      3
ตารางรับ-จ่าย
ID    วันที่       จำนวนรับ    จำนวนจ่าย   คงเหลือ
1  30/7/2567    20             0            20
1  31/7/2567      0             2            18
2    1/8/2567      0             4            14
2    2/8/2567    10             0            24
3    1/8/2567      0             5            19
3    2/8/2567      5             0            ....
4    1/8/2567      0             6            ...
จะเห็นว่าพอเรียงตาม ID วันที่จะเรียงผิด
วิธีแก้คือ ต้องใช้ตารางเดียว หรือต้องเขียนให้โปรแกรมนับไอดี ต่อกันใน 2 ตาราง
ลองทำดูครับ
.........




ตอนนี้ผมทำตารางใหม่ตามที่แนะนำแล้วครับ โดยลำดับก่อนหลังจะมี ID เป็นตัวกำหนด แต่สินค้ามีหลายItem ซึ่งแต่ละ item จะมี product ID ของมันเอง แบบนี้เราต้องเขียนคำสั่งยังไงเพื่อไม่ให้มันมารวมกันครับ

ปล. ตอนนี้ช่อง balance ใช้คำสั่งนี้ครับ Balance: (SELECT Sum([In]-[Out]) FROM [Query13] AS q WHERE (q.ID<=[Query13].[ID]))
ผมลองใช้ตามนี้ Balance: (SELECT Sum([In]-[Out]) FROM [Query13] AS q WHERE (q.ID<=[Query13].[ID] and q.PD_ID=[Query13].[PD_ID]))
 
ปรากฏว่าได้ตามที่ต้องการครับ ไม่ทราบว่าถูกต้องไหมครับ

 

06 ส.ค. 67 , 18:23:54
ตอบกลับ #13

Un

: การหายอดคงเหลือ
« ตอบกลับ #13 เมื่อ: 06 ส.ค. 67 , 18:23:54 »
ผมก็ใช้วิธีการลองผิดลองถูกแบบนี้
โดยใช้ตัวอย่างจาก อาจารย์หรือเพื่อนๆ ในนี้
ทำบ่อยๆ จะพบจุดผิด จุดที่เป็นเงื่อนไข
ดูคำสั่งแล้วทำความเข้าใจ มันจะเอาไปประยุกต์
ใช้ได้อีกเยอะเลยครับ

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

 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

07 ส.ค. 67 , 08:13:44
ตอบกลับ #14

prajak

: การหายอดคงเหลือ
« ตอบกลับ #14 เมื่อ: 07 ส.ค. 67 , 08:13:44 »
ผมก็ใช้วิธีการลองผิดลองถูกแบบนี้
โดยใช้ตัวอย่างจาก อาจารย์หรือเพื่อนๆ ในนี้
ทำบ่อยๆ จะพบจุดผิด จุดที่เป็นเงื่อนไข
ดูคำสั่งแล้วทำความเข้าใจ มันจะเอาไปประยุกต์
ใช้ได้อีกเยอะเลยครับ

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

 

07 ส.ค. 67 , 08:23:30
ตอบกลับ #15

Un

: การหายอดคงเหลือ
« ตอบกลับ #15 เมื่อ: 07 ส.ค. 67 , 08:23:30 »
กรณีบันทึกย้อนหลัง มีแนวทางแก้ปัญหาตรงนี้ยังไงครับ แล้วถ้าเรายึดวันที่เป็นหลักแล้วตามด้วย ID จะได้หรือเปล่าครับ เช่น ถ้าวันที่ซ้ำให้ดูที่ ID

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

 

07 ส.ค. 67 , 10:42:33
ตอบกลับ #16

apirak

: การหายอดคงเหลือ
« ตอบกลับ #16 เมื่อ: 07 ส.ค. 67 , 10:42:33 »
ตามที่คุณ Un บอกเลยครับ มีอาจารย์เคยให้แนวทางการ ยกยอด รับเข้า จ่ายออก คงเหลือ ใว้ในกระทู้ลองคนหาดูนะครับ

 
โพสต์นี้ได้รับคำขอบคุณจาก: Un, prajak

08 ส.ค. 67 , 13:27:18
ตอบกลับ #17

prajak

: การหายอดคงเหลือ
« ตอบกลับ #17 เมื่อ: 08 ส.ค. 67 , 13:27:18 »
ตามที่คุณ Un บอกเลยครับ มีอาจารย์เคยให้แนวทางการ ยกยอด รับเข้า จ่ายออก คงเหลือ ใว้ในกระทู้ลองคนหาดูนะครับ
ขอบคุณครับ เดี๋ยวลองหาดูครับ

 


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


 

Sitemap 1 2 3 4 5