กระทู้เก่าบอร์ด อ.Yeadram
4,156 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
ช่วยหน่อยครับไม่รู้จะทำยังไง ถ้าคำถามยังไม่ชัดเจนก็ช่วยแนะนำด้วย
ผมเพิ่งศึกษาได้ไม่นานครับ
ด้วยความนับถือ
ผมทำฟอร์มค้นหาข้อมูลร้านค้าที่รับวางบิลเพื่อแก้ไขข้อมูลโดยใช้ 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 จะต้องทำอย่างไรครับ
ด้วยความนับถือ
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 ด้วยครับ
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]
ด้วยความนับถือ
สำหรับ Report/ Record Source = qryInvoiceprint
ที่ qryInvoiceprint / Field : invoiceID ,Table : tblinvocie ตรง Criteria = [Forms]![frmDetail]![invoiceID]
ด้วยความนับถือ
7 @R13614
Criteria = [Forms]![frmDetail]![invoiceID]
Form "frmDetail" เปิดอยู่หรือเปล่าครับ
ควรเป็น "frmInvoice" หรือเปล่า
Form "frmDetail" เปิดอยู่หรือเปล่าครับ
ควรเป็น "frmInvoice" หรือเปล่า
8 @R13615
ลองดูนะครับ
ที่ qryInvoiceprint / Field : invoiceID ,Table : tblinvocie ตรง Criteria = [Forms]![frmfind]![txtbonus]
ที่ 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;
วิธีใหม่กับวิธีเก่าแบบใหนแก้ไขปัญหาได้ดีกว่าครับ
ขอบคุณสำหรับทุกคำตอบครับ
อาจารย์ครับถ้าผมเปลี่ยนวิธีใหม่โดยเขียนโค้ดที่ฟอร์มค้นหา 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
ด้วยความนับถือ
ผมเจอปัญหาไม่รู้จะเกี่ยวข้องกันกับปัญหาในกระทู้นี้หรือเปล่าคือ เมื่อค้นหาและเรียกฟอร์มขึ้นมาแก้ไขได้ แล้วพอจะสั่งพริ้ัน 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 พิมพ์ผิดหรือเปล่าครับ
มีการอ้างถึง Form!frmDetail!invoceID
ซึ่งไม่ทราบว่าเปิด form frmDetail เป็น Form View อยู่หรือเปล่า ถ้าเปิดอยู่ปัญหาก็อาจจะเป็นที่ control InvoceID พิมพ์ผิดหรือเปล่าครับ
Time: 0.3551s