325
ห้อง MS Access / > สอบถามการทำ Query ข้อมูลจากตารางครับ
« เมื่อ: 08 พ.ค. 61 , 12:09:54 »
ผมใช้ SELECT Final2.*, SumHR2.* คือเอาทุกฟิลล์มาแสดง แล้วไปกำหนด is not null แต่ละฟิลล์อีกที
โพสต์นี้ได้รับคำขอบคุณจาก: prajak
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.
SELECT Table1.Name, Format([Date],"mmmm yyyy") AS OnDate, Table1.SumofDebit, Table1.SumofCradit, (SELECT Sum(a2.SumofDebit) FROM Table1 AS a2
WHERE
a2.Name = Table1.Name
AND a2.Date <= Table1.Date
) AS รวมสะสมเดบิต, (SELECT Sum(a3.SumofCradit) FROM Table1 AS a3
WHERE
a3.Name = Table1.Name
AND a3.Date <= Table1.Date
) AS รวมสะสมเครดิต, Table1.Date AS จัดลำดับเดือน
FROM Table1
ORDER BY Table1.Date;
SELECT Final2.*, SumHR2.*
FROM Final2, SumHR2
WHERE CostQIns IS NOT NULL
OR CostQCut IS NOT NULL
OR CostQIron IS NOT NULL
OR CostQPack IS NOT NULL
OR CostQQc IS NOT NULL
OR CostQSaw IS NOT NULL;
SELECT Final2.*, SumHR2.*
FROM Final2, SumHR2
WHERE CostQIns or CostQCut or CostQIron or CostQPack or CostQQc or CostQSaw IS NOT NULL;
ลองคำสั่งทั้งสองแบบ ผลลัพธ์ที่ได้มีค่าเหมือนกันเลยค่ะ
แตกต่างกันยังไงหรอคะ
DoCmd.SetWarnings (0)
...คำสั่งที่ใช้
DoCmd.SetWarnings (1)
และ
DoCmd.SetWarnings (0)
...คำสั่งที่ใช้
DoCmd.SetWarnings (-1)
ขอบคุณมากค่ะถ้าพี่จะทำแค่เพิ่มรายการแล้วให้ requery ที่ Control ตัวนี้ให้แสดงรายการล่าสุดนั้น เพิ่ม ที่ ตัว Control ตัวนั้นเลยก็ได้ครับ
ลองทำดูแล้วพยายามแก้ code แต่มันขึ้น error ตอนที่คำสั่งให้ Combo Box ทำ requery เนื่องจาก combo box อยู่ใน subform ชื่อ frmtbl_purdet จะต้องเขียนคำสั่งยังไงคะ
ตอนนี้เขียน code ตอนปิดฟอร์มที่บันทึกรายการอะไหล่ แล้วสั่งไป requery คอมโบ้บอกซ์ซี่งอยู่ใน subform ชื่อ frmtbl_purdet แล้วมันขี้น error ตลอด
Private Sub Form_Close()
Forms.frmtbl_Purdet.Part_desc.Requery
End Sub
รบกวนสอบถามอีกครั้งค่ะ
Private Sub Part_desc_GotFocus()
me.Part_desc.requery
End Sub
1. Form Purchase order จะต้องเขียนคำสั่งใน combobox.afterupdate() อย่างไรคะ
Private Sub ReviewParts_NotInList(NewData As String, Response As Integer)
Dim i As Integer
Dim Msg As String
If NewData = "" Then Exit Sub
Msg = "'" & NewData & "' ไม่มีในรายการ" & vbCr & vbCr
Msg = Msg & "ต้องการเพิ่มรายการใหม่ ?"
i = MsgBox(Msg, vbQuestion + vbYesNo, "ระบบตรวจสอบ")
If i = vbYes Then
DoCmd.OpenForm "frmAddtbl_product", acNormal
Response = acDataErrAdd
Else
Me.ReviewParts.Undo
Response = acDataErrContinue
End If
End Sub
ส่วน 2. Form frmaddtbl_product จะต้องกำหนด property อย่างไรบ้างเพื่อให้รับค่าจาก Purchase order แล้วส่งค่ากลับหลังจาก user ปิดฟอร์ม frmaddtbl_productผมใช้การทำให้แสดง รายการที่เพิ่มล่าสุดจากฟอร์ม frmAddtbl_product ลงไปในรายการใหม่โดยอัตโนมัติครับ
Private Sub Form_Close()
Dim i As String
Forms.form_main.ReviewParts = Me.ReviewParts
Forms.form_main.ReviewParts.Requery
Forms.form_main.ReviewParts.SetFocus
i = Forms.form_main.ReviewParts.ListCount - 1
Forms.form_main.ReviewParts = Forms.form_main.ReviewParts.ItemData(i)
End Sub
เป็นผมจะทำ Union All แล้วเอาผลลัพธ์ไปทำ Crosstab Query ครับผมแปลงให้แล้วครับจารย์
ปล.พอดีใช้ 2003 เปิด .accdb ไม่ได้
ดูใน Design View ปกติ
ดูใน Print Preview ปกติ
แต่พอแปลงเป็น .PDF คุณภาพของรูปภาพลดลง ต้องตั้งค่าตรงไหนอย่างไรครับ