กระทู้เก่าบอร์ด อ.Yeadram
5,904 13
URL.หัวข้อ /
URL
สร้างปุ่มคำสั่งขึ้นมาเองเพื่อปริ้น Report หน้าปัจจ
ได้ใช้โค้ดแบบด้านนี้ถูกหรือไม่
แต่ทดลองใช้แล้วตอนแรกใช้งานได้ แต่พอปิดแล้วเปิดขึ้นมาใช้อีกครั้งมัน Error
1.ได้ใส่โค้ดนี้ลงในปุ่ม ของฟอร์มใบส่งสิ้นค้า เพื่อปริ้นใบส่งสินค้า แล้วไม่ได้ผล
2. มันสามารถที่จะใส่โค้ดที่ออื่นได้หรือไม่ หรือจะต้องมีขั้นตอนอย่างไร
พยายามอยู่ยังไม่ได้สักที
Dim strDocName As String
Dim strWhere As String
strDocName = "ปริ้นใบส่งสินค้า" ---------- ชื่อ Report--------
strWhere = "[ลำดับใบส่งสินค้า]=" & me!ลำดับใบส่งสินค้า' -----ชื่อ Key
DoCmd.OpenReport strDocName, acPreview, , strWhere
ภาพที่แสดงการ Error
แต่ทดลองใช้แล้วตอนแรกใช้งานได้ แต่พอปิดแล้วเปิดขึ้นมาใช้อีกครั้งมัน Error
1.ได้ใส่โค้ดนี้ลงในปุ่ม ของฟอร์มใบส่งสิ้นค้า เพื่อปริ้นใบส่งสินค้า แล้วไม่ได้ผล
2. มันสามารถที่จะใส่โค้ดที่ออื่นได้หรือไม่ หรือจะต้องมีขั้นตอนอย่างไร
พยายามอยู่ยังไม่ได้สักที
Dim strDocName As String
Dim strWhere As String
strDocName = "ปริ้นใบส่งสินค้า" ---------- ชื่อ Report--------
strWhere = "[ลำดับใบส่งสินค้า]=" & me!ลำดับใบส่งสินค้า' -----ชื่อ Key
DoCmd.OpenReport strDocName, acPreview, , strWhere
ภาพที่แสดงการ Error
13 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R10611
- ที่ On Click ตรวจสอบแล้วถูกต้องคะ [Event Procedure]
และได้ใส่ Code ที่
- [ลำดับใบส่งสินค้า] เป็น AutoNumber คะ
ก็เลยปรับเปลี่ยน Code ตามที่ K. สันติสุข บอก ดังนี้ ถูกต้องหรือไม่
Dim strDocName As String
Dim stWhere As String
strDocName = "ปริ้นใบส่งสินค้า"
stWhere = "[ลำดับใบส่งสินค้า]=" & me!ลำดับใบส่งสินค้า'
DoCmd.OpenReport strDocName, acPreview, , stWhere
ทดลองแล้วมันยังไม่ได้ จึงขอรบกวนขอคำแนะนำอีกครั้งคะ
และได้ใส่ Code ที่
- [ลำดับใบส่งสินค้า] เป็น AutoNumber คะ
ก็เลยปรับเปลี่ยน Code ตามที่ K. สันติสุข บอก ดังนี้ ถูกต้องหรือไม่
Dim strDocName As String
Dim stWhere As String
strDocName = "ปริ้นใบส่งสินค้า"
stWhere = "[ลำดับใบส่งสินค้า]=" & me!ลำดับใบส่งสินค้า'
DoCmd.OpenReport strDocName, acPreview, , stWhere
ทดลองแล้วมันยังไม่ได้ จึงขอรบกวนขอคำแนะนำอีกครั้งคะ
3 @R10612
ทดลองอีกครั้งก็ยัง error เหมือนเดิมคะ โดยปรับเป็นด้านล่างนี้
Private Sub printreal_Click()
Dim strDocName As String
Dim stWhere As String
strDocName = "ปริ้นใบส่งสินค้า" --------> ชื่อรายงาน-----
stWhere = "[ลำดับใบส่งสินค้า]='" & me!ลำดับใบส่งสินค้า & "' "
DoCmd.OpenReport strDocName, acPreview, , stWhere
End Sub
- [ลำดับใบส่งสินค้า] เป็น Autonumber คะ
Private Sub printreal_Click()
Dim strDocName As String
Dim stWhere As String
strDocName = "ปริ้นใบส่งสินค้า" --------> ชื่อรายงาน-----
stWhere = "[ลำดับใบส่งสินค้า]='" & me!ลำดับใบส่งสินค้า & "' "
DoCmd.OpenReport strDocName, acPreview, , stWhere
End Sub
- [ลำดับใบส่งสินค้า] เป็น Autonumber คะ
4 @R10613
มัน error แสดงดังนี้
Run-time error '424'
Object required
เป็นแบบดิฉันทำผิดที่จุดใด พอทราบหรือเปล่าคะ
Run-time error '424'
Object required
เป็นแบบดิฉันทำผิดที่จุดใด พอทราบหรือเปล่าคะ
5 @R10624
[ลำดับใบส่งสินค้า] เป็นประเภท AutoNumber ซึ่งเทียบเท่ากับ Long Integer ดังนั้นมันเป็น Numeric ครับ ไม่ต้องแก้ตามที่ผมบอก ที่คุณเขียนมาแต่แรกนั้นถูกแล้ว
อีกอย่างที่จะให้ลองคือ me!ลำดับใบส่งสินค้า ให้แก้เป็น me![ลำดับใบส่งสินค้า] จริงๆผมไม่แนะนำให้ตั้งชื่ออะไรเป็นภาษาไทยนะครับ ไม่มั่นใจว่ามีปัญหาอย่างไรหรือไม่
และลองว่า ถ้าคำสั่งมีแค่ DoCmd.OpenReport strDocName, acPreview (ไม่มีต่อท้าย ,, stWhere ดูว่าจะเกิด error อีกไหม ถ้าเกิด ก็น่าจะเป็น error มาจากโค้ดในตัวรายงานแล้วหล่ะครับ
อีกอย่างที่จะให้ลองคือ me!ลำดับใบส่งสินค้า ให้แก้เป็น me![ลำดับใบส่งสินค้า] จริงๆผมไม่แนะนำให้ตั้งชื่ออะไรเป็นภาษาไทยนะครับ ไม่มั่นใจว่ามีปัญหาอย่างไรหรือไม่
และลองว่า ถ้าคำสั่งมีแค่ DoCmd.OpenReport strDocName, acPreview (ไม่มีต่อท้าย ,, stWhere ดูว่าจะเกิด error อีกไหม ถ้าเกิด ก็น่าจะเป็น error มาจากโค้ดในตัวรายงานแล้วหล่ะครับ
6 @R10625
ปล. เขียน คะ กับ ค่ะ ให้ถูกด้วย คะ เสียงสูง ค่ะ เสียงต่ำกว่า
7 @R10630
ขอบคุณคะ
8 @R10632
ขอบคุณคะ ต้องเขียน ขอบคุณค่ะ
9 @R10633
ได้ทดลองอย่างไรก็ไม่ได้มีวิธีอื่นที่จะแนะนำหรือไม่
ดิฉันได้เปลี่ยนชื่อเป็นภาษาอังกฤษแล้ว และ ปรับโค้ดก็ยังไม่ได้
ตอนนี้ คุณสันติสุขพอวิธีอื่นแนะหรือไม่
ขอคำแนะนำ
ดิฉันได้เปลี่ยนชื่อเป็นภาษาอังกฤษแล้ว และ ปรับโค้ดก็ยังไม่ได้
ตอนนี้ คุณสันติสุขพอวิธีอื่นแนะหรือไม่
ขอคำแนะนำ
10 @R10635
ส่งโปรแกรมมาที่ accboard@gmail.com พอมีเวลาแล้วผมจะดูให้ ถ้าเป็นไฟล์นามสกุล .acxxx ให้แปลงเป็นฟอร์แมทของ Access 2002/2003 ที่มีนามสกุลเป็น .mdb ด้วยครับ
11 @R10775
ลอง คำสั่ง Save ดูยังครับ
ผมเข้าใจว่า น่าจะเกิดจาก พิมพ์ข้อมูลแล้วยังไม่ได้ SAVE ครับ
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
หากใครมี คำสั่ง SAVE ตรงๆ ช่วยบอกทีนะครับ
ผมเข้าใจว่า น่าจะเกิดจาก พิมพ์ข้อมูลแล้วยังไม่ได้ SAVE ครับ
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
หากใครมี คำสั่ง SAVE ตรงๆ ช่วยบอกทีนะครับ
12 @R10785
ปัญหา ที่ว่านี่คือ ไม่ได้ เซฟ ก่อน สั่งพิมพ์ หรือเปล่าครับ
คำสั่งเซฟ
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
ถ้าใครมี คำสั่งเซฟตัวอื่นบอกด้วยนะครับ กำลังหาอยู่ครับ
คำสั่งเซฟ
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
ถ้าใครมี คำสั่งเซฟตัวอื่นบอกด้วยนะครับ กำลังหาอยู่ครับ
13 @R10787
เรียนท่าน Teerapat คำสั่ง Save
อ่านเจอที่นี่แหละครับ แต่จำไม่ได้ว่าท่านได้เขียน (ขออภัยด้วย)
Me.Dirty = False
อ่านเจอที่นี่แหละครับ แต่จำไม่ได้ว่าท่านได้เขียน (ขออภัยด้วย)
Me.Dirty = False
Time: 0.3434s
- [ลำดับใบส่งสินค้า] เป็นฟิลด์ประเภท Text หรือ Numeric ถ้าเป็น Text ต้องแก้เป็น strWhere = "[ลำดับใบส่งสินค้า]='" & me!ลำดับใบส่งสินค้า & "' "