ใน query สามารถทำให้แสดง ราคาสินค้าที่ซื้อมาก่อนหน้านี้ได้ไหมค่ะ



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

22 ต.ค. 63 , 11:47:05
อ่าน 184 ครั้ง

MiKu

Ex
รหัสสินค้า          ราคา
  A                    5          บาท
  A                    10        บาท
  A                    15        บาท
อยากให้ query แสดง (ใน query มีแต่ first กับ Last)
รหัสสินค้า          ราคารวมทั้งหมด        ราคาก่อนหน้า     ราคาหลังสุด
  A                        30                      10                  15         

 

22 ต.ค. 63 , 12:42:25
ตอบกลับ #1

PNR

Ex
รหัสสินค้า          ราคา
  A                    5          บาท
  A                    10        บาท
  A                    15        บาท
อยากให้ query แสดง (ใน query มีแต่ first กับ Last)
รหัสสินค้า          ราคารวมทั้งหมด        ราคาก่อนหน้า     ราคาหลังสุด
  A                        30                      10                  15       


อาจจะมีวิธีดีกว่านี้นะครับ
เท่าที่คิดวิธีได้ก็แบบนี้ คือ หา Last แล้วเอาไปเก็บไว้ แล้วหา Last อีกครั้ง (ใช้ 3 คิวรี่เลย)
1.เมื่อเราสร้างคิวรี่ ได้ Last คือตัวสุดท้ายของ รหัสนั้นมาแล้ว
2.สร้างคิวรี่ใหม่เข้ามาอีกแล้วกำหนดให้ แสดงข้อมูลโดยไม่ให้นำ Last จากข้อ 1 มาแสดง ใช้โค้ด ตรง Criteria ว่า
Not In (select ราคาหลังสุด from [Queryราคาหลังสุด])
เราก็จะได้ราคา ที่เหลืออันอื่นๆ โดยเว้น Last ข้อ 1 ครับ
3.เมื่อได้ข้อ 2 มาแล้วสั่ง Last อีกครั่ง เพื่อหา Last เพิ่มอีกตัว
4.นำมา Join Table กันเพื่อแสดงข้อมูลที่ได้ทั้งหมดครับ


« แก้ไขครั้งสุดท้าย: 22 ต.ค. 63 , 15:40:17 โดย PNR »
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: MiKu

27 ต.ค. 63 , 13:17:39
ตอบกลับ #2

MiKu

ขอบคุณมากๆเรยนะค่ะ

 

27 ต.ค. 63 , 15:10:31
ตอบกลับ #3

MiKu

Ex
รหัสสินค้า          ราคา
  A                    5          บาท
  A                    10        บาท
  A                    15        บาท
อยากให้ query แสดง (ใน query มีแต่ first กับ Last)
รหัสสินค้า          ราคารวมทั้งหมด        ราคาก่อนหน้า     ราคาหลังสุด
  A                        30                      10                  15       


อาจจะมีวิธีดีกว่านี้นะครับ
เท่าที่คิดวิธีได้ก็แบบนี้ คือ หา Last แล้วเอาไปเก็บไว้ แล้วหา Last อีกครั้ง (ใช้ 3 คิวรี่เลย)
1.เมื่อเราสร้างคิวรี่ ได้ Last คือตัวสุดท้ายของ รหัสนั้นมาแล้ว
2.สร้างคิวรี่ใหม่เข้ามาอีกแล้วกำหนดให้ แสดงข้อมูลโดยไม่ให้นำ Last จากข้อ 1 มาแสดง ใช้โค้ด ตรง Criteria ว่า
Not In (select ราคาหลังสุด from [Queryราคาหลังสุด])
เราก็จะได้ราคา ที่เหลืออันอื่นๆ โดยเว้น Last ข้อ 1 ครับ
3.เมื่อได้ข้อ 2 มาแล้วสั่ง Last อีกครั่ง เพื่อหา Last เพิ่มอีกตัว
4.นำมา Join Table กันเพื่อแสดงข้อมูลที่ได้ทั้งหมดครับ
หนูลองทำแล้ว access เด้งออกตลอดเรย แต่พอเปิดของอาจารย์ไม่เด้งค่ะ
หรือเป็นที่ ข้อมูลสินค้าหนูมันเยอะเกินไป

 

27 ต.ค. 63 , 15:32:03
ตอบกลับ #4

PNR

Join table มักเจอปัญหาแบบนี้ครับ ความช้ามาเยือนทันที
มั่นใจใช่ไหมครับว่า ทำตามขั้นตอนแล้วช้า
ข้อมูลสินค้าเยอะขนาดไหนครับ ประมาณกี่เรคคอร์ดได้

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

28 ต.ค. 63 , 14:19:06
ตอบกลับ #5

MiKu

อันนี้เป็นฐานข้อมูลค่ะ

หาราคาหลังสุดได้แล้วค่ะ

แล้วก็ใส่ ฟังก์ชั่นเรียบร้อยแล้ว

แสดงผลออกมาไม่ขึ้นอะไรเรย ทั้งๆที่ เมื่อวานข้อมูลตรงนี้ยังขึ้นอยู่เรย งงมากเรยค่ะ

 

28 ต.ค. 63 , 14:31:30
ตอบกลับ #6

PNR

สามารถ รีโมท Anydesk ไปเช็คได้ไหม
ผมส่ง ID LINE ไปทางข้อความนะครับ


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

28 ต.ค. 63 , 14:58:05
ตอบกลับ #7

MiKu

ขอโทดค่ะ เป็นคอมของสำนักงาน บางที่มีคนมาใช้ร่วมกันไม่สะดวกค่ะ ขอบคุณมากจริงเรยนะคะ
 :prettiness: :prettiness: :prettiness: :prettiness:

 

28 ต.ค. 63 , 14:59:23
ตอบกลับ #8

PNR

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

29 ต.ค. 63 , 11:15:28
ตอบกลับ #9

MiKu

อ.ค่ะ หนูเข้าใจแล้วค่ะมันเกิดจากค่าของ Not in ( ราคาหลังสุด ของ qry3 ) คือมันดึง ราคาหลังสุด ของสินค้าทั้งหมด แล้ว not in ซึ่งเราสามารถกำกับให้ตรงกับรหัสสินค้าได้ไหมค่ะ

นำเข้า
รหัสสินค้า       ราคาต่อหน่วย               
   1                     20
   1                     40
   1                     30
   2                     10
   2                     20
   3                     40
 
รหัสสินค้า       ราคาหลังสุด      พอเอาไปคิด not in โปรแกรม ก็จะไม่โชวราคา 30 20 40 ออกมา (หนูเข้าใจถูกหรือป่าวค่ะ)
   1                    30
   2                    20
   3                    40
 

 

29 ต.ค. 63 , 13:17:16
ตอบกลับ #10

PNR

อ้างถึง
พอเอาไปคิด not in โปรแกรม ก็จะไม่โชวราคา 30 20 40 ออกมา (หนูเข้าใจถูกหรือป่าวค่ะ)

เข้าใจถูกแล้วครับ ในส่วนคิวรี่ ที่ 2 นั้น ค่าที่ได้มาจะไม่รวม กับ ราคาหลังสุด(คิวรี่ที่ 1)

พอเราได้ คิวรี่  1 กับ 2 แล้ว
ก็ใช้ การ Join Query ในส่วนของ ID เพื่อจะได้ข้อมูลมาต่อกันคือ(คิวรี่ที่3)
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: MiKu


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