สมัครสมาชิก
 

ต้องการรวมข้อมูลจากสองตาราง (ยอดซื้อ ยอดขาย แต่ละเดือน)



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

23 พ.ค. 62 , 16:35:12
อ่าน 220 ครั้ง

pim

  • สมาชิกไท.Access
  • กระทู้: 5

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

คือมีตารางซื้อ กับ ขาย แต่ละเดือน ต้องการรวมข้อมูลแต่ละเดือน ซื้อ-ขาย=เท่าไร
ลองทำคิวรี่ดูแล้ว ไม่ได้ อยากขอคำแนะนำหน่อยค่ะ ว่าควรปรับตารางหรือแก้ไขตรงไหน หรือทำอย่างไร
(มือใหม่ค่ะ ช่วยแนะนำด้วยนะคะ)
ขอบคุณค่ะ






 

23 พ.ค. 62 , 19:31:21
ตอบกลับ #1

ปิ่นณรงค์

ลองดูโค้ดนี้ครับ ไม่รู้รันผ่านไหมยังไม่ได้เทสครับ สร้างคิวรี่ใหม่ขึ้นมาเอา SQL นี้ไปวางแล้วรันดู

โค๊ด: [Select]
SELECT [VATBUY QUERY1].VatMonth, [VATSALE QUERY1].[Sum Of Price] AS Sale, [VATBUY QUERY1].[Sum Of Price] AS Buy, Format(Nz([sale])-Nz([buy]),"Standard") AS [Sale-Buy]
FROM [VATBUY QUERY1] INNER JOIN [VATSALE QUERY1] ON [VATBUY QUERY1].VatMonth = [VATSALE QUERY1].VatMonth;
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: pim, apirak

24 พ.ค. 62 , 09:02:24
ตอบกลับ #2

pim

  • สมาชิกไท.Access
  • กระทู้: 5

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

ลองดูแล้วได้ตามนั้นเลยค่ะ
จะเอาความรู้ที่ได้ไปต่อยอดศึกษาเพิ่มเติมอีก

ขอบคุณมากนะคะ

*เพิ่มเติมค่ะ ลองไปทำดูอีกครั้ง ตอนแรกที่ทำไม่ได้เพราะมัวแต่ใช้ wizard แล้ว Error
ลองทำแบบสร้างคิวรีเองทำได้ค่ะ
« แก้ไขครั้งสุดท้าย: 24 พ.ค. 62 , 09:26:00 โดย pim »

 

24 พ.ค. 62 , 12:12:52
ตอบกลับ #3

ปิ่นณรงค์

หรือจะใช้ Dlookup แทนการ Join Table ก็น่าจะแสดงผลเร็วดีครับ
โค๊ด: [Select]
SELECT [VATSALE Query1].Vatmonth, [VATSALE Query1].[Sum Of Price] AS SALE, Format(DLookUp("[Sum Of Price]","[Vatbuy Query1]","Vatmonth = '" & [Vatmonth] & "'"),"Standard") AS Buy, Format(Nz([sale])-Nz([buy]),"Standard") AS [Sale-Buy], *
FROM [VATSALE Query1];
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: pim

24 พ.ค. 62 , 15:01:12
ตอบกลับ #4

pim

  • สมาชิกไท.Access
  • กระทู้: 5

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

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

 

24 พ.ค. 62 , 15:11:30
ตอบกลับ #5

ปิ่นณรงค์

ใช้การดักค่าว่างด้วย Nz Fuction ครับถ้าค่ามันว่างให้แทนค่าเป็น 0
รูปแบบ คือ Nz([ชื่อฟิลล์]),0)

โค๊ด: [Select]
SELECT [VATSALE Query1].Vatmonth, [VATSALE Query1].[Sum Of Price] AS SALE, Format(Nz(DLookUp("[Sum Of Price]","[Vatbuy Query1]","Vatmonth = '" & [Vatmonth] & "'"),0),"Standard") AS Buy, Format(Nz([sale])-Nz([buy]),"Standard") AS [Sale-Buy]
FROM [VATSALE Query1];
« แก้ไขครั้งสุดท้าย: 24 พ.ค. 62 , 15:31:52 โดย ปิ่นณรงค์ »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: pim

25 พ.ค. 62 , 09:31:06
ตอบกลับ #6

pim

  • สมาชิกไท.Access
  • กระทู้: 5

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

ได้แล้ว
ขอบคุณมากค่ะ

 


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