สอบถามเรื่องการเปิดบิลใหม่อัตโนมัติครับ
กระทู้เก่าบอร์ด อ.Yeadram

 910   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

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

1 @R22828
ขออนุญาต ตอบน๊ะครับ ไม่ทราบว่าจะตรงไหม ถ้าไม่ตรงคง รอ อ.สันติสุขครับ ผมมือใหม่
Forms("ชื่อฟอร์มที่มีปุ่มบิลใหม่").SetFocus
Forms("ชื่อฟอร์มที่มีปุ่มบิลใหม่").Command72.SetFocus
    SendKeys "{Enter}", True
    DoEvents
End Sub

ใสเพิ่มในปุ่ม ปิดหน้าต่าง ที่ผมทำประมาณนี้ครับ
2 @R22829
เรียน คุณไพรินทร์
ขอบคุณมากๆนะครับ
สามารถเปิดเลขที่บิลใหม่ได้ แต่ขึ้น ERR ต้องแก้ตรงใหนครับ ตอนนี้ผมลองเปลี่ยนทุกรูปแบบแล้วยังขึ้นERRครับ
3 @R22830
ผมหมายถึง ให้เอา code ข้างล่างนี้ ไปใส่ใน code ปุ่ม ปิดหน้าต่างก่อน End sub
ไม่ใช่เป็นการสร้างปุ่มขึ้นมาใหม่ครับ

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

ปรับใช้ดูครับ
6 @R22834
เย้ๆๆๆ ขอบคุณคุณTTT เป็นอย่างมาก และขอขอบคุณคุณไพรินทร์ด้วยนะครับ

ทำได้แล้วครับ
7 @R22835
ยินดีด้วยน๊า...
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2826s