แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - prajak

หน้า: 1 ... 5 6 7 [8] 9
127
รู้สึกว่ายอดรวมจะเพี้ยนเดี่ยวแก้ใหม่ก่อน
คุณ Prajak ใช้อันนี้นะครับ
เพราะ ถ้าเรา Join เข้าด้วยกันยอดจะเพี้ยนครับ เลยต้องแก้นิดนึง อันนี้ได้แล้วครับไม่ผิดละ
ตอนแรกทำเหมือนเดิมแบบนี้


แล้ว มา sum อีกทีนึงเพราะจาก Query แรก ถ้าเราเลือกหลายวัน ค่าที่จะนำไปใส่ ต้องเอามารวมอีกทีนึง


หลังจากนั้นก็นำไป สร้างรายงาน โดยเอาคิวรี่ทั้งสองตัวไปวางเลย


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

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

129
1 ทำ Union All
2 แล้วทำ Crosstab Query

เป๊ะเลยจารย์  :love:
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

130
1 ทำ Union All
2 แล้วทำ Crosstab Query

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

131
เป็นผมจะทำ Union All แล้วเอาผลลัพธ์ไปทำ Crosstab Query ครับ

ปล.พอดีใช้ 2003 เปิด .accdb ไม่ได้
ผมแปลงให้แล้วครับจารย์ 
ผมได้ดูตัวอย่างด้วยครับ
ตัวอย่างด้านล่างครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

132
เป็นผมจะทำ Union All แล้วเอาผลลัพธ์ไปทำ Crosstab Query ครับ

ปล.พอดีใช้ 2003 เปิด .accdb ไม่ได้
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

133
1.ผมใช้การ UNION All ที่ Date และ ODNo ก่อนว่ามีอะไรบ้าง
2.ในแต่ละคิวรี่ ผมให้ Group By และ Sum Total ไว้เลย
3.เอามา Join กับ GroupDate&ODno  โดยกำหนดว่าถ้า ODno ไหน มีเหมือนกัน ให้แสดงผลรวมออกมา ครับ
วิธีผมอาจจะดูเยอะไป หรือเปล่า พี่อาจจะลองเอาไป ประยุกต์ดูนะครับ เพื่อเจอแบบที่ง่ายกว่า


ผลลัพท์ที่ได้ ครับ


อันนี้ถ้ากรองแค่วันที่ 1 วันเดียว
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

134
หลายคิวรี่เลย มีตัวอย่างไหมครับ ผมพอจะคิดแนวทางออกละ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

135
แลกเปลี่ยนความรู้กันคับพี่ เจอเคสใหม่ๆเราได้ศึกษาทำกันคับ :yuush:
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

136
ส่งไฟล์ตัวอย่างมาให้ดูครับ
ติดปัญหาจริงๆด้วยครับท่านแต่ถ้าจะสร้างดัดแปลงการค้นหาแบบนี้ได้ไหม
1.เมื่อได้ Crosstab มาแล้ว ให้ Append มายัง ตารางใหม่ และ กำหนด Form กับตารางใหม่นั้นมันก็จะสามารถค้นหาได้เหมือนกันครับ
โค๊ด: [Select]
Private Sub Command62_Click()
DoCmd.ApplyFilter , "[DateA] Between Forms.FinalOutput.DateFrom And Forms.FinalOutput.DateTo"
End Sub
Private Sub Form_Open(Cancel As Integer)
    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE * FROM TblFinalOutput"
    DoCmd.OpenQuery "MakeTblFinalOutput", acViewNormal
    Me.Form.Requery
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

137
มีไฟล์ตัวอย่างไหมครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

138
นำไปใว้ในปุ่มสถานะ Click

โค๊ด: [Select]
Me.Filter = "[DateA] Between Forms.FinalOutput.DateFrom And Forms.FinalOutput.DateTo"
Me.FilterOn = True


หรือ จะใช้  DoCmd.ApplyFilter ก็ทำได้ ตัวอย่างตามนี้ครับ
โค๊ด: [Select]
DoCmd.ApplyFilter , "[DateA] Between Forms.FinalOutput.DateFrom And Forms.FinalOutput.DateTo"
ตัวอย่างด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

139
ไม่ต้องอ้างคำสั่ง form!... แล้วคับ ใส่ชื่อ control ที่ ระบุวันที่ได้เลย
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

140
ถ้าไม่มีเชื่อมเทเบิลอื่นต่อไปอีกแล้ว ก็ไม่ต้องมีคำว่า UNION ALL ปิดท้ายครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

141
ให้ตาราง A ชื่อ TA มีฟิลด์ชื่อ DateA
ให้ตาราง B ชื่อ TB มีฟิลด์ชื่อ DateB และ Output
ให้ตาราง C ชื่อ TC มีฟิลด์ชื่อ DateC และ Output
...

ให้สร้างคิวรี่ชื่อ JoinOutput ซึ่งมี SQL เป็น
SELECT TA.DateA, TB.Output, "OutputB" AS HeadName FROM TA LEFT JOIN TB ON TA.DateA = TB.dateB
UNION ALL
SELECT TA.DateA, TC.Output, "OutputC" AS HeadName FROM TA LEFT JOIN TC ON TA.DateA = TC.dateC
UNION ALL
...

ให้สร้างคิวรี่ชื่อ FinalOutput ซึ่งมี SQL เป็น
TRANSFORM Sum(JoinOutput.Output) AS SumOfOutput
SELECT JoinOutput.DateA
FROM JoinOutput
GROUP BY JoinOutput.DateA
PIVOT JoinOutput.HeadName;

รัน FinalOutput ก็จะได้ผลลัพธ์ที่ต้องการครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

142
ผมว่ามันเป็นเรื่องใหม่นะครับ ตั้งกระทู้ใหม่เถอะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

143
ที่ Event: On mouse up ให้ใส่ Code นี้เข้าไปครับ


Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Me.ชื่อฟิลด์ที่ต้องการซ่อน.ColumnHidden = False Then
    Me.ชื่อฟิลด์ที่ต้อกงารซ่อน.ColumnHidden = True
End If
End Sub

Unhide ได้แป๊บเดียว(ประมาณ 1-2 วินาที)  ก็จะกลับไปซ่อนใหม่ทันที

ถ้ามีหลายฟิลด์ก็เหนื่อยหน่อยนะ
อ้อ! ใช้ได้เฉพาะ Datasheet View เท่านั้นนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

144
ก็ใช้ datasource ที่เป็ฯ Query เฉพาะฟิลด์ที่ต้องการครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

หน้า: 1 ... 5 6 7 [8] 9