กระทู้เก่าบอร์ด อ.Yeadram
1,064 7
URL.หัวข้อ /
URL
สอบถามเรื่องการเปิดบิลใหม่อัตโนมัติครับ
เรียนถามท่านอาจารย์ครับ
ผมขออธิบายรายละเอียดก่อนนะครับ
หลังจากที่สแกนบาร์โค้ดสินค้าเสร็จ กดปุ่มรับเงิน แล้วระบุจำนวนเงินที่รับมา ระบบจะแจ้งเงินทอน จากนั่้นให้คลิกปุ่มปิดหน้าต่าง แล้วมาคลิกที่ปุุ่มบิลใหม่เพื่อเปิดบิลเลขที่ใหม่ครับ
ปัญหาอยู่ที่ว่า หลังจากที่เรากดปุ่มปิดหน้าต่างแล้ว ให้ระบบเปิดเลขที่บิลใหม่ทันทีโดยที่เราไม่ต้องไปคลิกที่ปุ่มบิลใหม่ได้หรือไม่ครับ ถ้าได้เขียนโค้ดที่ปุ่มปิดหน้าต่างอย่างไร ตอนนี้โค้ดที่ผมเขียน(สำหรับปุ่มบิลใหม่)คือ
Private Sub Command72_Click()
DoCmd.GoToRecord , , acNewRec
Me.Year = Format(Date, "yymm")
Me.DocNo = "IV" & [Year] & Format(No, "000000")
Me.ฟอร์มย่อย_Query1.Enabled = True
Me.ฟอร์มย่อย_Query1.SetFocus
DoCmd.GoToRecord , , acNewRec
End Sub
ผมขออธิบายรายละเอียดก่อนนะครับ
หลังจากที่สแกนบาร์โค้ดสินค้าเสร็จ กดปุ่มรับเงิน แล้วระบุจำนวนเงินที่รับมา ระบบจะแจ้งเงินทอน จากนั่้นให้คลิกปุ่มปิดหน้าต่าง แล้วมาคลิกที่ปุุ่มบิลใหม่เพื่อเปิดบิลเลขที่ใหม่ครับ
ปัญหาอยู่ที่ว่า หลังจากที่เรากดปุ่มปิดหน้าต่างแล้ว ให้ระบบเปิดเลขที่บิลใหม่ทันทีโดยที่เราไม่ต้องไปคลิกที่ปุ่มบิลใหม่ได้หรือไม่ครับ ถ้าได้เขียนโค้ดที่ปุ่มปิดหน้าต่างอย่างไร ตอนนี้โค้ดที่ผมเขียน(สำหรับปุ่มบิลใหม่)คือ
Private Sub Command72_Click()
DoCmd.GoToRecord , , acNewRec
Me.Year = Format(Date, "yymm")
Me.DocNo = "IV" & [Year] & Format(No, "000000")
Me.ฟอร์มย่อย_Query1.Enabled = True
Me.ฟอร์มย่อย_Query1.SetFocus
DoCmd.GoToRecord , , acNewRec
End Sub
7 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R22829
เรียน คุณไพรินทร์
ขอบคุณมากๆนะครับ
สามารถเปิดเลขที่บิลใหม่ได้ แต่ขึ้น ERR ต้องแก้ตรงใหนครับ ตอนนี้ผมลองเปลี่ยนทุกรูปแบบแล้วยังขึ้นERRครับ
ขอบคุณมากๆนะครับ
สามารถเปิดเลขที่บิลใหม่ได้ แต่ขึ้น ERR ต้องแก้ตรงใหนครับ ตอนนี้ผมลองเปลี่ยนทุกรูปแบบแล้วยังขึ้นERRครับ
3 @R22830
ผมหมายถึง ให้เอา code ข้างล่างนี้ ไปใส่ใน code ปุ่ม ปิดหน้าต่างก่อน End sub
ไม่ใช่เป็นการสร้างปุ่มขึ้นมาใหม่ครับ
Forms("ชื่อฟอร์มที่มีปุ่มบิลใหม่").SetFocus
Forms("ชื่อฟอร์มที่มีปุ่มบิลใหม่").ชื่อของปุ่มบิลใหม่.SetFocus
SendKeys "{Enter}", True
DoEvents
ส่วนชื่อฟอร์มที่มีปุ่ม บิลใหม่ (ที่ในรูป ทำกรอบสีแดง) = ให้ใส่เอง เพราะผมไม่รู้
ชื่อของปุ่มบิลใหม่ คือ ดูจาก property--> name ครับ
ผมใช้ access 2010 ตัวนี้ DoEvents ถ้าเป็น version ก่อนหน้านี้ ผมไม่แน่ใจครับว่าเป็น DoEvent หรือเปล่า
ไม่ใช่เป็นการสร้างปุ่มขึ้นมาใหม่ครับ
Forms("ชื่อฟอร์มที่มีปุ่มบิลใหม่").SetFocus
Forms("ชื่อฟอร์มที่มีปุ่มบิลใหม่").ชื่อของปุ่มบิลใหม่.SetFocus
SendKeys "{Enter}", True
DoEvents
ส่วนชื่อฟอร์มที่มีปุ่ม บิลใหม่ (ที่ในรูป ทำกรอบสีแดง) = ให้ใส่เอง เพราะผมไม่รู้
ชื่อของปุ่มบิลใหม่ คือ ดูจาก property--> name ครับ
ผมใช้ access 2010 ตัวนี้ DoEvents ถ้าเป็น version ก่อนหน้านี้ ผมไม่แน่ใจครับว่าเป็น DoEvent หรือเปล่า
4 @R22831
ขอบคุณมากนะครับ คุณไพรินทร์ ผมทำตามทุกขั้นตอนแล้ว แต่น่าจะเป็นเพราะผมใช้ access 2003 ผมจะนำข้อมูลที่ได้ไปศึกษาดูครับ
5 @R22832
จริงๆ ก็นำเอาโค๊ดใน command72 ไปใส่ในปุ่มปิดหน้าต่างรับเงินเลย ก่อนบรรทัด Docmd.Close ก็น่าจะได้แล้วนะครับ เพียงอ้างชื่อฟอร์ม ซับฟอร์มใหม่ให้ถูกต้อง
หรือถ้าง่ายกว่านั้น ก็ลองอย่างนี้ดูครับ
เปลี่ยน Private Sub Command72_Click() เป็น Public Sub Command72_Click() ดังนี้:
Public Sub Command72_Click()
DoCmd.GoToRecord , , acNewRec
Me.Year = Format(Date, "yymm")
Me.DocNo = "IV" & [Year] & Format(No, "000000")
Me.ฟอร์มย่อย_Query1.Enabled = True
Me.ฟอร์มย่อย_Query1.SetFocus
DoCmd.GoToRecord , , acNewRec
End Sub
- ที่ปุ่ม ปิดหน้าต่าง ก็เขียนคำสั่งประมาณนี้ครับ
Forms!ชื่อฟอร์มหลัก.SetFocus
Forms!ชื่อฟอร์มหลัก.Command72_Click
DoCmd.Close acForm, "ชื่อฟอร์มรับเงิน", acSaveNo
ปรับใช้ดูครับ
หรือถ้าง่ายกว่านั้น ก็ลองอย่างนี้ดูครับ
เปลี่ยน Private Sub Command72_Click() เป็น Public Sub Command72_Click() ดังนี้:
Public Sub Command72_Click()
DoCmd.GoToRecord , , acNewRec
Me.Year = Format(Date, "yymm")
Me.DocNo = "IV" & [Year] & Format(No, "000000")
Me.ฟอร์มย่อย_Query1.Enabled = True
Me.ฟอร์มย่อย_Query1.SetFocus
DoCmd.GoToRecord , , acNewRec
End Sub
- ที่ปุ่ม ปิดหน้าต่าง ก็เขียนคำสั่งประมาณนี้ครับ
Forms!ชื่อฟอร์มหลัก.SetFocus
Forms!ชื่อฟอร์มหลัก.Command72_Click
DoCmd.Close acForm, "ชื่อฟอร์มรับเงิน", acSaveNo
ปรับใช้ดูครับ
6 @R22834
เย้ๆๆๆ ขอบคุณคุณTTT เป็นอย่างมาก และขอขอบคุณคุณไพรินทร์ด้วยนะครับ
ทำได้แล้วครับ
ทำได้แล้วครับ
7 @R22835
ยินดีด้วยน๊า...
Time: 0.6234s
Forms("ชื่อฟอร์มที่มีปุ่มบิลใหม่").SetFocus
Forms("ชื่อฟอร์มที่มีปุ่มบิลใหม่").Command72.SetFocus
SendKeys "{Enter}", True
DoEvents
End Sub
ใสเพิ่มในปุ่ม ปิดหน้าต่าง ที่ผมทำประมาณนี้ครับ