อยากจะขอไอเดียหน่อยครับทุกท่าน



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

22 ก.ค. 63 , 11:23:01
อ่าน 185 ครั้ง

pattan0013

สวัสดีครับ ผมอยากจะขอไอเดียทุกท่านหน่อยครับ เรื่องคือฐานข้อมูลผมตอนนีจะเรียงแบบแนวนอนดังภาพ (เป็นเลขงาน/ Truck1/ Truck2....ถึง Truck10)



แต่พอผมไปทำรายงานว่า Truck ไหนใช้ในหมายเลขงานอะไรบ้างและ Truck นี้ใช้งานกี่งาน?? ผมจะต้องใช้ Query แบบไหนที่จะให้ผลลัพท์ออกมาได้ตามที่ต้องการครับ??

ขอบคุณครับ

 

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

PNR

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #1 เมื่อ: 22 ก.ค. 63 , 12:00:12 »
UNION QUERY เพื่อจับกลุ่ม Truck 1 ถึง 10 ครับ และ JopNo
ตัวอย่างเดี่ยวทำให้ดูเน้อ
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

22 ก.ค. 63 , 12:03:59
ตอบกลับ #2

pattan0013

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #2 เมื่อ: 22 ก.ค. 63 , 12:03:59 »
UNION QUERY เพื่อจับกลุ่ม Truck 1 ถึง 10 ครับ และ JopNo
ตัวอย่างเดี่ยวทำให้ดูเน้อ

ขอบคุณมากครับ

 

22 ก.ค. 63 , 13:31:15
ตอบกลับ #3

PNR

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #3 เมื่อ: 22 ก.ค. 63 , 13:31:15 »
วิธีนี้ใช้ Union Query นะครับ โดยจับกลุ่ม Jobno ตาม Truck No 1 - 10 ที่มี โดยถ้าเป็นช่องว่างๆ ไม่มีข้อมูลก็จะไม่นำมาแสดง
ตัวอย่างโค้ด
โค๊ด: [Select]
select Jobno,[truck no 1] as TruckNo from tbltruck_imp WHERE [truck no 1] IS NOT NULL
Union
Select Jobno,[truck no 2] from tbltruck_imp WHERE [truck no 2] IS NOT NULL
Union
Select Jobno,[truck no 3] from tbltruck_imp WHERE [truck no 3] IS NOT NULL
Union
Select Jobno,[truck no N] from tbltruck_imp WHERE [truck no [N] IS NOT NULL;
์N คือ Field TruckNo N ที่มี ต่อลงมาเรื่อยๆ
เราจะได้ผลลัพธ์ ตามคิวรี่ชื่อ
UnionTruck_Imp


อ้างถึง
TruckNo นี้ใช้ใน JobNo อะไรบ้าง?
ที่ตัวรายงาน เราใช้การจัดกลุ่ม และใช้  TruckNo เป็น HeadGroup
และนำ Jobno มาวางไว้ในส่วน Detail เพื่อแสดง JobNo ตาม TruckNo ครับ

อ้างถึง
Truck นี้ใช้งานกี่งาน??
เมื่อได้คิวรี่ Union แล้วก็ใช้การ Count เพื่อนับจำนวนของ JobNo โดยลำดับตาม TruckNo ที่มี
โค๊ด: [Select]
SELECT UnionTruck_Imp.TruckNo, Count(UnionTruck_Imp.Jobno) AS จำนวนงาน
FROM UnionTruck_Imp
GROUP BY UnionTruck_Imp.TruckNo;
ลองดูการแสดงผลจากตัวอย่างนะครับ ถ้าต้องการแสดงแบบไหนอีกจะทำตัวอย่างให้ดูเน้อ :cool:

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

22 ก.ค. 63 , 14:10:12
ตอบกลับ #4

pattan0013

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #4 เมื่อ: 22 ก.ค. 63 , 14:10:12 »
วิธีนี้ใช้ Union Query นะครับ โดยจับกลุ่ม Jobno ตาม Truck No 1 - 10 ที่มี โดยถ้าเป็นช่องว่างๆ ไม่มีข้อมูลก็จะไม่นำมาแสดง
ตัวอย่างโค้ด
โค๊ด: [Select]
select Jobno,[truck no 1] as TruckNo from tbltruck_imp WHERE [truck no 1] IS NOT NULL
Union
Select Jobno,[truck no 2] from tbltruck_imp WHERE [truck no 2] IS NOT NULL
Union
Select Jobno,[truck no 3] from tbltruck_imp WHERE [truck no 3] IS NOT NULL
Union
Select Jobno,[truck no N] from tbltruck_imp WHERE [truck no [N] IS NOT NULL;
์N คือ Field TruckNo N ที่มี ต่อลงมาเรื่อยๆ
เราจะได้ผลลัพธ์ ตามคิวรี่ชื่อ
UnionTruck_Imp


อ้างถึง
TruckNo นี้ใช้ใน JobNo อะไรบ้าง?
ที่ตัวรายงาน เราใช้การจัดกลุ่ม และใช้  TruckNo เป็น HeadGroup
และนำ Jobno มาวางไว้ในส่วน Detail เพื่อแสดง JobNo ตาม TruckNo ครับ

อ้างถึง
Truck นี้ใช้งานกี่งาน??
เมื่อได้คิวรี่ Union แล้วก็ใช้การ Count เพื่อนับจำนวนของ JobNo โดยลำดับตาม TruckNo ที่มี
โค๊ด: [Select]
SELECT UnionTruck_Imp.TruckNo, Count(UnionTruck_Imp.Jobno) AS จำนวนงาน
FROM UnionTruck_Imp
GROUP BY UnionTruck_Imp.TruckNo;
ลองดูการแสดงผลจากตัวอย่างนะครับ ถ้าต้องการแสดงแบบไหนอีกจะทำตัวอย่างให้ดูเน้อ :cool:

ขอบคุณมากๆเลยครับ เดี๋ยวผมลองไปศึกษาดูจากไฟล์ที่ให้ครับ

 

22 ก.ค. 63 , 14:21:12
ตอบกลับ #5

pattan0013

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #5 เมื่อ: 22 ก.ค. 63 , 14:21:12 »
วิธีนี้ใช้ Union Query นะครับ โดยจับกลุ่ม Jobno ตาม Truck No 1 - 10 ที่มี โดยถ้าเป็นช่องว่างๆ ไม่มีข้อมูลก็จะไม่นำมาแสดง
ตัวอย่างโค้ด
โค๊ด: [Select]
select Jobno,[truck no 1] as TruckNo from tbltruck_imp WHERE [truck no 1] IS NOT NULL
Union
Select Jobno,[truck no 2] from tbltruck_imp WHERE [truck no 2] IS NOT NULL
Union
Select Jobno,[truck no 3] from tbltruck_imp WHERE [truck no 3] IS NOT NULL
Union
Select Jobno,[truck no N] from tbltruck_imp WHERE [truck no [N] IS NOT NULL;
์N คือ Field TruckNo N ที่มี ต่อลงมาเรื่อยๆ
เราจะได้ผลลัพธ์ ตามคิวรี่ชื่อ
UnionTruck_Imp


อ้างถึง
TruckNo นี้ใช้ใน JobNo อะไรบ้าง?
ที่ตัวรายงาน เราใช้การจัดกลุ่ม และใช้  TruckNo เป็น HeadGroup
และนำ Jobno มาวางไว้ในส่วน Detail เพื่อแสดง JobNo ตาม TruckNo ครับ

อ้างถึง
Truck นี้ใช้งานกี่งาน??
เมื่อได้คิวรี่ Union แล้วก็ใช้การ Count เพื่อนับจำนวนของ JobNo โดยลำดับตาม TruckNo ที่มี
โค๊ด: [Select]
SELECT UnionTruck_Imp.TruckNo, Count(UnionTruck_Imp.Jobno) AS จำนวนงาน
FROM UnionTruck_Imp
GROUP BY UnionTruck_Imp.TruckNo;
ลองดูการแสดงผลจากตัวอย่างนะครับ ถ้าต้องการแสดงแบบไหนอีกจะทำตัวอย่างให้ดูเน้อ :cool:

แล้วถ้ามี Columns Truck Owner 1-10 อยากจะเพิ่มต้องใช่ code ยังไงครับ??


 

22 ก.ค. 63 , 14:38:18
ตอบกลับ #6

PNR

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #6 เมื่อ: 22 ก.ค. 63 , 14:38:18 »
Truck Owner 1-10 คือฟิลล์ที่อยู่ใน tblTruck_Imp เหมือนกับ truck no 1 หรือเปล่าครับ
หรือ อยู่ในตารางอื่นๆ อธิบายเพิ่มหน่อยหรือมีภาพด้วยก็ดี
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

22 ก.ค. 63 , 14:50:41
ตอบกลับ #7

pattan0013

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #7 เมื่อ: 22 ก.ค. 63 , 14:50:41 »
Truck Owner 1-10 คือฟิลล์ที่อยู่ใน tblTruck_Imp เหมือนกับ truck no 1 หรือเปล่าครับ
หรือ อยู่ในตารางอื่นๆ อธิบายเพิ่มหน่อยหรือมีภาพด้วยก็ดี

ขอโทษครับ อยู่ใน Table เดียวกันครับ

 

22 ก.ค. 63 , 15:13:34
ตอบกลับ #8

PNR

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #8 เมื่อ: 22 ก.ค. 63 , 15:13:34 »
สร้างแบบเดียวกันครับ แต่สร้าง Union Query อีกตารางหนึ่ง เพราะข้อมูลที่ได้ต้องแยกกัน แต่สามารถรวมกันแสดงภายหลังได้จาก JobNo ครับ

โดยต้องปรับเปลี่ยน เอา IS NOT Null ออกทั้ง 2 คิวรี่เลยนะครับ เพราะเราต้องเก็บ JobNo ทั้งหมดของทั้ง TruckNo และ TruckOwn ไว้สร้างความสัมพันธ์กัน
โดยตัวรายงานต้องปรับเปลี่ยนเล็กน้อย โดยกำหนดแหล่งระเบียนสำหรับรายงานนี้ใหม่ครับตามตัวอย่าง
« แก้ไขครั้งสุดท้าย: 22 ก.ค. 63 , 15:25:29 โดย PNR »
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

22 ก.ค. 63 , 15:35:12
ตอบกลับ #9

pattan0013

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #9 เมื่อ: 22 ก.ค. 63 , 15:35:12 »
ขอบคุณมากครับ

 

22 ก.ค. 63 , 16:12:06
ตอบกลับ #10

pattan0013

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #10 เมื่อ: 22 ก.ค. 63 , 16:12:06 »
ผมใส่ข้อมูล Truck Owner ใน Table ที่ให้มา



แล้วปรากฏว่ามันเบิ้ล Jobno ดังภาพครับ



แล้วพอผมเอาทั้ง 2 มารวมกันโดย Query แล้วเป็นดังรูปครับ ผมทำอะไรผิดไหมครับ??





 

22 ก.ค. 63 , 16:28:23
ตอบกลับ #11

pattan0013

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #11 เมื่อ: 22 ก.ค. 63 , 16:28:23 »
เบื้องต้นผมแก้ไขโดยวิธีนี้ครับ

ใส่ Criteria ใน Query ที่รวม TruckNo กับ TruckOwner โดยใส่ Not Is Null ดังรูป



แล้วก็ได้ผลลัพท์แบบนี้ครับ



ก็เป็นแบบที่ผมต้องการแล้วล่ะครับ แต่ต้องลองไฟล์จริงก่อนครับ

 

22 ก.ค. 63 , 17:13:19
ตอบกลับ #12

PNR

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #12 เมื่อ: 22 ก.ค. 63 , 17:13:19 »
ใน 1JobNo
 truckNo1 กับ TruckOwner1 คือชุดเดียวกันไหมครับ
เช่น TruckNo1 คู่กับ Truckowner1
TruckNo2 คู่กับ Truckowner2

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

23 ก.ค. 63 , 08:43:49
ตอบกลับ #13

PNR

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #13 เมื่อ: 23 ก.ค. 63 , 08:43:49 »
น่าจะแบบนี้นะครับงั้น
จากตาราง



ในคิวรี่

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

23 ก.ค. 63 , 11:08:20
ตอบกลับ #14

pattan0013

: อยากจะขอไอเดียหน่อยครับทุกท่าน
« ตอบกลับ #14 เมื่อ: 23 ก.ค. 63 , 11:08:20 »
น่าจะแบบนี้นะครับงั้น
จากตาราง



ในคิวรี่


ใช่เลยครับ Truck No1 ต้องคู่กับ Truck Owner 1 ครับ

ขอบคุณมากครับ

 


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