ค้นหาข้อมูลแล้วแก้ไข
กระทู้เก่าบอร์ด อ.Yeadram

 4,058   11
URL.หัวข้อ / URL
ค้นหาข้อมูลแล้วแก้ไข

เรียน ผู้รู้ทุกท่าน

ผมทำฟอร์มค้นหาข้อมูลร้านค้าที่รับวางบิลเพื่อแก้ไขข้อมูลโดยใช้ form Unbound ค้นหาข้อมูลได้แล้วแต่เมื่อดับเบิ้ลคลิกที่ข้อมูลที่ค้นเจอเพื่อเปิด form
มาแก้ไขแต่เป็น form เปล่าที่ไม่มีข้อมูล
   ผมเขียนโค้ดที่ property sheet/ event/ onDblclick ดังนี้

    Private Sub lstdata_DblClick(Cancel As Integer)
        DoCmd.OpenForm "frmInvoice", acNormal, , , acFormEdit
    End Sub

ช่วยหน่อยครับไม่รู้จะทำยังไง ถ้าคำถามยังไม่ชัดเจนก็ช่วยแนะนำด้วย
ผมเพิ่งศึกษาได้ไม่นานครับ

ด้วยความนับถือ

11 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R13602
รบกวนแจ้งด้วยครับว่า Record Source ของ frmInvoice มีค่าเป็นอะไรครับ
2 @R13605
Record Source ของ frmInvoice มีค่าเป็น qryinvoice สร้างมาจาก Queries ครับ
3 @R13609
รบกวนแจ้ง SQL ของ qryinvoice ด้วยครับ
4 @R13611
ผมได้สร้าง text box ขึ้นมาชื่อ txtbonus แล้วเขียนโค้ดที่ property sheet/ event/ on Lost Focus ดังนี้
Private Sub txtbonus_LostFocus()
DoCmd.OpenForm "frmInvoice", acNormal, , , acFormEdit
End Sub

ที่ qryinvoice Field : invoiceID ,Table : tblinvocie ตรง Criteria = [Forms]![frmfind]![txtbonus]
ที่ฟอร์มค้นหาร้านค้าได้แล้วผมคีย์ invoiceID ตรง txtbonus กด Enter ปรากฏว่าสามารถเรียกฟอร์มข้อมูลที่ต้องการมาแก้ไขได้ครับ

แต่ติดตรงที่สร้างปุ่มคำสั่งพริ้นแล้วเวลาพริ้นจะมี Massage box ว่า Enter Parameter Value / Form!frmDetail!invoceID ผมต้องคีย์ invoiceID อีกครั้งหนึ่ง
ถึงพริ้นออกมาได้ ถ้าเราจะสั่งพริ้นโดยไม่ให้ใส่ค่าใน Massage box จะต้องทำอย่างไรครับ

ด้วยความนับถือ
5 @R13612
ใช้
Private Sub txtbonus_LostFocus()
DoCmd.OpenForm "frmInvoice", acNormal, , , acFormEdit
End Sub

แทน
Private Sub lstdata_DblClick(Cancel As Integer)
    DoCmd.OpenForm "frmInvoice", acNormal, , , acFormEdit
End Sub

แล้วหรือครับ?

"ที่ฟอร์มค้นหาร้านค้าได้แล้วผมคีย์ invoiceID ตรง txtbonus กด Enter ปรากฏว่าสามารถเรียกฟอร์มข้อมูลที่ต้องการมาแก้ไขได้ครับ"
แปลว่าแก้ปัญหา ไม่มีข้อมูล ได้แล้วใช่ไหมครับ?

ปัญหา Report - ขอทราบ Record Source ของ Report ด้วยครับ
6 @R13613
แก้ปัญหาไม่มีข้อมูลได้แล้วครับ

สำหรับ Report/ Record Source = qryInvoiceprint

ที่ qryInvoiceprint / Field : invoiceID ,Table : tblinvocie ตรง Criteria = [Forms]![frmDetail]![invoiceID]

ด้วยความนับถือ
7 @R13614
Criteria = [Forms]![frmDetail]![invoiceID]

Form "frmDetail" เปิดอยู่หรือเปล่าครับ
ควรเป็น "frmInvoice" หรือเปล่า
8 @R13615
ลองดูนะครับ
ที่ qryInvoiceprint / Field : invoiceID ,Table : tblinvocie ตรง Criteria = [Forms]![frmfind]![txtbonus]

9 @R13616
ผมเปลี่ยนที่ตามที่อาจารย์แนะนำแล้วปรากฏว่าพริ้นได้แต่พอมาที่ frmDetail ซึ่งเป็นฟอร์มคีย์ข้อมูลรับวางบิลพอสั่งพริ้นจะมี Massage box ว่า Enter Parameter Value / Form!frminvoice!invoceID ผมต้องคีย์ invoiceID อีกครั้งหนึ่งถึงพริ้นได้ครับ เหมือนกับแก้ไขฟอร์ม frminvoice ได้แต่ frmDetail กับไม่ได้ครับ

อาจารย์ครับถ้าผมเปลี่ยนวิธีใหม่โดยเขียนโค้ดที่ฟอร์มค้นหา property sheet/ event/ onDblclick ดังนี้

    Private Sub lstdata_DblClick(Cancel As Integer)
        DoCmd.OpenForm "frmDetail", acNormal, , , acFormEdit
    End Sub
จะได้ผลลัพธ์เป็นฟอร์มฟอร์มคีย์ข้อมูลรับวางบิลแต่ข้อมูลที่โชว์จะเป็นร้านค้าหนึ่งซึ่งจะเป็นแบบนี้ตลอดไม่ว่าจะดับเบิ้ลคลิกที่ record ไหนก็ตามที่
    frmDetail /Record Source = SELECT tblInvoice.vendorID, tblVendor.vendorName, tblVendor.creditID, tblVendor.reciveChaqe, tblInvoice.invoiceID, tblInvoice.dateInvoice, tblInvoice.[chaqe Date] FROM tblVendor INNER JOIN tblInvoice ON tblVendor.vendorID=tblInvoice.vendorID;

วิธีใหม่กับวิธีเก่าแบบใหนแก้ไขปัญหาได้ดีกว่าครับ

ขอบคุณสำหรับทุกคำตอบครับ

10 @R13641
เรียน อาจารย์ผู้รู้ทุกท่าน

     ผมเจอปัญหาไม่รู้จะเกี่ยวข้องกันกับปัญหาในกระทู้นี้หรือเปล่าคือ เมื่อค้นหาและเรียกฟอร์มขึ้นมาแก้ไขได้ แล้วพอจะสั่งพริ้ัน Massage box ว่า Enter Parameter Value / Form!frmDetail!invoceID ถ้าผมกด OK โดยไม่ส่งข้อมูลใน
Massage box ก็จะพริ้นฟอร์มเปล่าที่ไม่มีข้อมูล แต่ถ้าผมกด Cancel โดยไม่ใส่ข้อมูลใน Massage box ก็จะมี Massage box ขึ้นมาว่า Microsoft Visual Basic / Run-time error '2501': / The OpenReport action was canceled.
แล้วมีปุ่มคำสั่งถ้ากดปุ่ม Debug ก็จะโชว์ข้อมูลข้างล่างนี้ครับ

Private Sub Command17_Click()
stDocName = "rptDetail"
    DoCmd.OpenReport stDocName, acprint
End Sub

ด้วยความนับถือ
11 @R13643
ผิดตรง Query ที่เป็น Record Source ของ report ครับ
มีการอ้างถึง Form!frmDetail!invoceID
ซึ่งไม่ทราบว่าเปิด form frmDetail เป็น Form View อยู่หรือเปล่า ถ้าเปิดอยู่ปัญหาก็อาจจะเป็นที่ control InvoceID พิมพ์ผิดหรือเปล่าครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3371s