Form : เขียน Code อย่างไรครับ ให้ปุ่ม Command Buttom Click ได้ครั้งเดียว
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 386   5
URL.หัวข้อ / URL
Form : เขียน Code อย่างไรครับ ให้ปุ่ม Command Buttom Click ได้ครั้งเดียว

ผมเข้า Website ของ อาจารย์ ไม่ได้มา 2 วันแล้วครับ 
วันนี้เข้าได้เลยขอรบกวน อ.สุภาพ ด้วยครับ ดังนี้  
1. ผมต้องการใช้ User ใช้ปุ่ม Cmd ได้ครั้งเดียว เพื่อใช้ในการโอนข้อมูลไปจัดเก็บ 
2. ถ้าจะทำครั้งที่ 2 ... เป็นต้นไป ให้ใส่ Password ก่อน ครับ (ถ้าใส่ผิด ให้ Close Form) 
รบกวนด้วยครับ 
ขอบพระคุณมากๆ ครับ 
Suchat 
ชลบุรี 

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

1 @R00790
ต้องการให้โอนเข้าทุกวันหรือเปล่า วันละครั้งเท่านั้น หรือ ทำครั้งเดียวก็เสร็จเลย ผมจะอาศัยการใช้ตารางชื่อ tblCheck มีฟีลด์ชื่อ Imported เป็นประเภท Yes/No เป็นตัวช่วยเก็บข้อมูลการโอน โดยต้องเพิ่มข้อมูลเข้าไป 1 อัน คือ ให้คลิกเครื่องหมายถูกลงไปก่อน แล้วค่อยคลิกออก จากนั้นก็สร้างโค้ดในปุ่มที่ต้องการ ดังนี้ Private Sub cmdImportData_Click() Dim dbs As Database Set dbs = CurrentDb If DLookup("Imported", "tblCheck") = True Then If InputBox("What is the password?", "Password") = "abcd" Then ' เรียกฟังก์ชันหรือ sub ที่ใช้ในการโอน MsgBox "Password" Else MsgBox "The password is not correct." & vbCrLf & "You're outa here.", vbOKOnly DoCmd.Close End If Else ' เรียกฟังก์ชันหรือ sub ที่ใช้ในการโอน MsgBox "First Time" dbs.Execute "UPDATE tblCheck SET tblCheck.Imported = True;" End If dbs.Close Set dbs = Nothing End Sub โค้ดนี้เมื่อทำครั้งแรก มันจะทำการการโอนข้อมูลตามปกติ และจะไป update ฟีลด์ Imported ให้เป็น True หรือ Yes ฉะนั้นเมื่อคลิกที่ปุ่มนี้อีกมันจะถามหา Password ลองประยุกต์ใช้ดูครับ
2 @R00801
ขอบพระคุณ อ.สุภาพ มากๆ ครับ ผมทำแล้วครับ ตอบแรก เมื่อผมคลิกที่ Command Buttom จะพบ Bug ที่ Dim dbs As Database ผมหาตั้งหลายชั่วโมง เพิ่งมาถึงบางอ้อ ก็ตรงที่ ผมต้อง Add In Referance Microsoft DAO 3.6 Object Library ก่อน (เนื่องจากเครื่องผมไม่ได้ Add) โดยไปที่ ส่วน Code ใน Form แล้วไปที่ Menu Tools > Referances... > ให้ติกเครื่องหมายถูกที่ Microsoft DAO 3.6 Object Library > OK ก็จะใช้งานได้ตามปกติ ครับ ขอบพระคุณมากๆ ครับ Suchat ชลบุรี
3 @R00804
รบกวน อ.สุภาพ เพิ่มเติมครับ ผมทำ Invoice โดยมี Main Form + Sub Form จาก Main Form และ Sub Form ผม Link กันด้วย Field InvoiceNo และที่ Main Form มี Field ContainerNo และจากคำแนะนำ ของ อาจารย์ ผมเพิ่ม Field ดังนี้ :- Table ชื่อ tblCheck ผมเพิ่ม Field Invoice และ Field ContainerNo :- ผมทำ Relation ใน 3 Table ดังนี้ 1. Table Main Form และ Sub Form ผม Link กันด้วย Field InvoiceNo 2. Table Main Form และ tblCheck ผม Link กันด้วย Field InvoiceNo + ContainerNo ปัญหา คือ เมื่อผม Click ที่ cmdImportData ให้สามารถ Click ครั้งแรก ส่วนครั้งที่ 2... ให้ขึ้น Password มาใส่ เหมือนเดิมครับ แต่ ให้ทำการตรวจสอบ กับ ข้อมูลใน Form ปัจจุบัน ที่เปิดใช้อยู่โดย 1. เมื่อใส่ข้อมูลใหม่ลงใน Field InvoiceNo และ ContainerNo จาก Main Form ให้ Update ข้อมูลใน Table ชื่อ tblCheck และให้ Field Imported = True 2. เมื่อผม Click ที่ cmdImportData ใน Main Form ให้ตรวจสอบ ไปที่ Table tblCheck โดยให้ InvoiceNo และ ContainerNo ต้องตรงกันกับ ข้อมูลบน Main Form ของข้อมูลนั้นๆ รบกวน อ.สุภาพ แนะนำด้วยครับ ขอบพระคุณมากๆ ครับ Suchat ชลบุรี
4 @R00805
ก็ให้เพิ่มเงื่อนไขเข้าไปดังนี้ ... If DLookup("Imported", "tblCheck", "[ContainerNo]='" & Me.ContainerNo & "' And [InvoiceNo] = '" & Me.InvoiceNo & "'") = True Then If InputBox("What is the password?", "Password") = "abcd" Then ' เรียกฟังก์ชันหรือ sub ที่ใช้ในการโอน MsgBox "Password" Else MsgBox "The password is not correct." & vbCrLf & "You're outa here.", vbOKOnly DoCmd.Close End If Else ' เรียกฟังก์ชันหรือ sub ที่ใช้ในการโอน MsgBox "First Time" dbs.Execute "UPDATE tblCheck SET tblCheck.Imported = True " _ & "Where [ContainerNo]='" & Me.ContainerNo & "' And [InvoiceNo] = '" & Me.InvoiceNo & "';" End If ...
5 @R00807
ขอบพระคุณ อ.สุภาพ มากๆ ครับ สามารถใช้งานได้แล้วครับ ขอบพระคุณมากๆ ครับ Suchat ชลบุรี
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0495s