แสดงกระทู้

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 - ปิ่นณรงค์

หน้า: 1 ... 16 17 18 [19] 20 21
325
ผมใช้ SELECT Final2.*, SumHR2.* คือเอาทุกฟิลล์มาแสดง แล้วไปกำหนด is not null แต่ละฟิลล์อีกที
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

326

ตัวอย่างนี้ใช้วิธีการ Running Sum นะครับ
ตัวอย่างคำสั่ง SQL
โค๊ด: [Select]
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;

ลองดูนะครับว่าตรงแบบที่ต้องการหรือเปล่า
ตัวอย่างด้านล่าง

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

327
กำหนดว่า ถ้า อันใดอันหนึ่ง is not null ก็ให้แสดง ODNo ครับ แบบนี้


SQL ก็แบบนี้
โค๊ด: [Select]
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]
SELECT Final2.*, SumHR2.*
FROM Final2, SumHR2
WHERE CostQIns or CostQCut or CostQIron or  CostQPack or CostQQc or CostQSaw IS NOT NULL;
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

328
รู้สึกว่ายอดรวมจะเพี้ยนเดี่ยวแก้ใหม่ก่อน
คุณ Prajak ใช้อันนี้นะครับ
เพราะ ถ้าเรา Join เข้าด้วยกันยอดจะเพี้ยนครับ เลยต้องแก้นิดนึง อันนี้ได้แล้วครับไม่ผิดละ
ตอนแรกทำเหมือนเดิมแบบนี้


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


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


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

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

330
ไม่ต้อง Join Table ไม่ต้อง อ้างอิงฟอร์ม ให้กำหนด
Criteria ของ Type2 เป็น
Not In (select [Type] from [Not_FG])
โพสต์นี้ได้รับคำขอบคุณจาก: Earth, royaltool

331
ห้อง MS Access / > > Update field in table
« เมื่อ: 02 พ.ค. 61 , 21:36:22 »
ลองคำสั่งทั้งสองแบบ ผลลัพธ์ที่ได้มีค่าเหมือนกันเลยค่ะ
แตกต่างกันยังไงหรอคะ

DoCmd.SetWarnings (0)
...คำสั่งที่ใช้
DoCmd.SetWarnings (1)

และ

DoCmd.SetWarnings (0)
...คำสั่งที่ใช้
DoCmd.SetWarnings (-1)

โดยปกติแล้ว Boolean values = (True; False; Yes; No)
เป็นการแสดงค่าสองค่าโดยปกติครับแต่ Access (VBA) ได้เก็บค่าแบบ numeric variables.

ค่าที่กำหนดใช้แสดงค่า True and False หรือ -1 and 0 หรือ ค่าอื่นๆ ที่ต้้งค่าเพื่อให้ตรงข้ามกับอีกค่าหนึ่ง
ที่จริงแล้วสามารถเก็บค่าได้มากกว่า 2 ค่า นี้ครับ เช่น 0 คือ false แล้ว ค่าตัวเลขอื่นๆที่ไม่ใช่ 0 ที่ใส่ไปก็จะเท่า true หมดครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Earth

332
แก้เป็น

[Forms]![ชื่อฟอร์มหลัก]![frmtbl_Purdet].[Form]![Part_desc].Requery


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

333
ขอบคุณมากค่ะ

ลองทำดูแล้วพยายามแก้ 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

รบกวนสอบถามอีกครั้งค่ะ

ถ้าพี่จะทำแค่เพิ่มรายการแล้วให้ requery ที่ Control ตัวนี้ให้แสดงรายการล่าสุดนั้น เพิ่ม ที่ ตัว Control ตัวนั้นเลยก็ได้ครับ
ที่ frmtbl_purdet ใส่คำสั่ง ที่ Control Part_desc ใน event GotFocus
โค๊ด: [Select]
Private Sub Part_desc_GotFocus()
me.Part_desc.requery
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: สุภาพร

334
อ้างถึง
1. Form Purchase order จะต้องเขียนคำสั่งใน combobox.afterupdate() อย่างไรคะ

ผมว่าถ้าต้องการจะหาค่าที่ไม่ได้อยู่ในรายการนั้นใช้ Event NotInList ดีกว่าครับดังในรายการนี้
เป็นคำสั่งที่กำหนดไว้ที่ตัว Combobox ครับ เมื่อไม่มีในรายการให้ แจ้งเตือน ถ้าตอบ Yes ก็จะเปิดฟอร์มที่ต้องการให้เรา
โค๊ด: [Select]
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 ลงไปในรายการใหม่โดยอัตโนมัติครับ
โค๊ด: [Select]
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

ตัวอย่างด้านล่างครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pirin, สุภาพร

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

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

336
Private Sub SendMail_Click()
Dim App As New Outlook.Application
Dim Email As Outlook.MailItem
Dim fileName As String, today As String
today = Format(Date, "DDMMYYYY")
fileName = Application.CurrentProject.Path & "\Report1_" & today & ".pdf"
DoCmd.OutputTo acReport, "Report1", acFormatPDF, fileName, False

Set Email = App.CreateItem(olMailItem)
With Email
    .Recipients.Add "ใส่อีเมลผู้รับจดหมาย"
    .Subject = "ชื่อเรื่อง"
    .Body = "รายละเอียดเนื้อหา"
    .Attachments.Add fileName
    .Send
End With

MsgBox "ส่ง Email เสร็จแล้ว!", vbInformation, "EMAIL STATUS"

Set Email = Nothing
Set App = Nothing

End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: Su, kitisak, lalerster

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

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

338
งั้นใช้ โปรแกรมเสริมครับโหลดตัว cutepdf Writer มาครับ
Link  http://www.cutepdf.com/download/CuteWriter.exe
ติดตั้งให้เรียบร้อย
พอเรากด Print  เลือกเครื่องปริ้นเป็น CuteWriter ก่อนครับ

จะได้คุณภาพที่เหมือนต้นฉบับ
โพสต์นี้ได้รับคำขอบคุณจาก: Su, lalerster

339


ดูใน Design View ปกติ

ดูใน Print Preview ปกติ

แต่พอแปลงเป็น .PDF คุณภาพของรูปภาพลดลง ต้องตั้งค่าตรงไหนอย่างไรครับ

ตอน Export ติ๊กเลือกตรงนี้หรอยังครับ
โพสต์นี้ได้รับคำขอบคุณจาก: lalerster

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


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


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

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

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

หน้า: 1 ... 16 17 18 [19] 20 21