สร้างปุ่มสั่งปริ้นซ์ไม่สำเร็จ รบกวนทีค่ะ



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

19 พ.ค. 64 , 14:54:03
อ่าน 188 ครั้ง

I love movies

ลองทั้ง 2 วิธีคือ

1.ใส่โค้ดที่ macro Builder คือ
="[rpt_Sale_H2]![SaleNo]="&[Forms]![fmSale_H]![SaleNo]

2. ใส่โค้ดที่ code Builder  คือ
if Not isnull(me.SaleNo) Then
DoCmd OpenReport"rpt_Sale_H2",acViewPreview,,"[SaleNo]="& me.SaleNo
End if

ผลลัพธืที่ออกมาคือ
คลิกแล้ว มีหน้าต่างเล็กๆให้ใส่เลขที่บิลบ้าง (พอลบปุ่มทำใหม่ ก็ไม่มีหน้าต่างให้ใส่เลขที่บิลบ้าง)
และปัญหาหลักเลยคือ หน้ารายงาน ไม่ขึ้นเลขที่บิลที่อยากจะพิมพ์ค่ะ เช่น อยากพิมพ์ บิลที่ 0002  แต่ขึ้น 0001 บางทีก็ไม่มีข้อมูลเลย

ต้องทำยังไงคะ เกิดจากอะไรคะ

 

19 พ.ค. 64 , 15:18:18
ตอบกลับ #1

PNR

ถ้า textbox รหัสบิลเป็น 0002 คือตัวอักษรครับโค้ดจึงควรจะเป็น
โค๊ด: [Select]
DoCmd.OpenReport "rpt_Sale_H2",acViewPreview,,"[SaleNo]= '" & me.SaleNo & "'"
หรือใช้แบบนี้
DoCmd.OpenReport "rpt_Sale_H2", acViewPreview, , "[SaleNo] ='" & Forms![ชื่อฟอร์ม]!SaleNo & "'"
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: I love movies

19 พ.ค. 64 , 16:02:52
ตอบกลับ #2

I love movies

ขอบพระคุณอย่างสุดซึ้งค่ะ ได้ผลแล้วค่ะ ขอบคุณอย่างยิ่งค่ะ

รบกวนถามเพิ่มค่ะ

เราสามารถทำแบบใส่โค้ดที่ macro หรือ code Builder เลือกอย่างใดก็ได้ใช่มั๊ยคะ

 

19 พ.ค. 64 , 16:17:02
ตอบกลับ #3

PNR

ขอบพระคุณอย่างสุดซึ้งค่ะ ได้ผลแล้วค่ะ ขอบคุณอย่างยิ่งค่ะ

รบกวนถามเพิ่มค่ะ

เราสามารถทำแบบใส่โค้ดที่ macro หรือ code Builder เลือกอย่างใดก็ได้ใช่มั๊ยคะ

ใช้ Code builder ได้คับ
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: I love movies

19 พ.ค. 64 , 16:27:28
ตอบกลับ #4

I love movies

โค้ดที่ใช้ตอนแรกเอามาจากที่สอนในยูทูป 2 ท่านค่ะ

โค้ดหลายตัวแล้วที่ใช้แล้วไม่ได้ (ทั้งโค้ดบาท,แปลงอักษร,โค้ดปุ่มพิมพ์ ฯลฯ) ต้องได้จากหลายท่านในนี้ เป็นเพราะอะไรคะ ที่เค้าใช้ได้ แต่เราใช้ไม่ได้  ขึ้นอยู่กับเวอร์ชั่น Access หรือว่าอะไรคะ

แล้วพอเมื่อไม่ได้ ก็ไปต่อไม่เป็นค่ะ ถ้าอยากเป็น ต้องเริ่มจากอะไรคะ (ถ้าโค้ดนั้นใช้ไม่ได้ ควรใช้โค้ดไหนยังไง ต้องเรียนรู้จากอะไรคะ )

 

20 พ.ค. 64 , 08:24:34
ตอบกลับ #5

PNR

โค้ดที่ใช้ตอนแรกเอามาจากที่สอนในยูทูป 2 ท่านค่ะ

โค้ดหลายตัวแล้วที่ใช้แล้วไม่ได้ (ทั้งโค้ดบาท,แปลงอักษร,โค้ดปุ่มพิมพ์ ฯลฯ) ต้องได้จากหลายท่านในนี้ เป็นเพราะอะไรคะ ที่เค้าใช้ได้ แต่เราใช้ไม่ได้  ขึ้นอยู่กับเวอร์ชั่น Access หรือว่าอะไรคะ

แล้วพอเมื่อไม่ได้ ก็ไปต่อไม่เป็นค่ะ ถ้าอยากเป็น ต้องเริ่มจากอะไรคะ (ถ้าโค้ดนั้นใช้ไม่ได้ ควรใช้โค้ดไหนยังไง ต้องเรียนรู้จากอะไรคะ )

โค้ดพวกนี้สิ่งที่เราต้องรู้ก่อนก็คือชนิดของข้อมูลครับ เช่น ต้องดูว่า SaleNo นั้นชนิดข้อมูลเป็นอะไร

1.ถ้าเป็นตัวเลข หรือตัวแปรที่เป็นตัวเลข
ถ้าเป็นตัวเลขท่านจะใช้แบบที่ทำอยู่ได้เลย
1.ใส่โค้ดที่ macro Builder คือ
="[rpt_Sale_H2]![SaleNo]=" & [Forms]![fmSale_H]![SaleNo]
หรือ
="[rpt_Sale_H2]![SaleNo]=" & [Forms]![fmSale_H]![SaleNo] & ""

2. ใส่โค้ดที่ code Builder  คือ
if Not isnull(me.SaleNo) Then
DoCmd.OpenReport"rpt_Sale_H2",acViewPreview,,"[SaleNo]=" & me.SaleNo
End if
หรือ
DoCmd.OpenReport"rpt_Sale_H2",acViewPreview,,"[SaleNo]= " & me.SaleNo & ""

2.ถ้าเป็นข้อความ(text)
ปัญหาของข้อความคือต้องมีเครื่องหมาย ' หรือ single quote เพื่อบอกให้โปรแกรมทราบว่าเราอ้างอิง คอนโทรลที่เป็นข้อความ ในกรณี SaleNo ของคุณเก็บข้อมูล 0001 นั้นเป็นข้อความ โค้ดที่ใช้เลยต้องมี single quote ปิดหัวท้ายด้วยเช่น
1.ใส่โค้ดที่ macro Builder คือ
="[rpt_Sale_H2]![SaleNo]= '" & [Forms]![fmSale_H]![SaleNo] & "'"
2. ใส่โค้ดที่ code Builder  คือ
if Not isnull(me.SaleNo) Then
DoCmd.OpenReport"rpt_Sale_H2",acViewPreview,,"[SaleNo]='" & me.SaleNo & "'"
End if
หรือ
DoCmd.OpenReport"rpt_Sale_H2",acViewPreview,,"[SaleNo]='" & [Forms]![fmSale_H]![SaleNo] & "'"
« แก้ไขครั้งสุดท้าย: 20 พ.ค. 64 , 08:30:08 โดย PNR »
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: I love movies

20 พ.ค. 64 , 08:45:37
ตอบกลับ #6

kunlek

มีคัวอย่างไหมครับ

 

20 พ.ค. 64 , 16:25:15
ตอบกลับ #7

I love movies

ขอบพระคุณมากๆค่ะ

 


บอร์ดเรียนรู้ Access สำหรับคนไทย