ทำปุ่ม Command Buttom ให้คลิกได้ครั้งเดียว
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 317   7
URL.หัวข้อ / URL
ทำปุ่ม Command Buttom ให้คลิกได้ครั้งเดียว

รบกวน อ.สุภาพ , อ.BADMAN และพี่ๆ ท่านอื่นๆ แนะนำด้วยครับ
ที่ Table ชื่อ TblCheck2Field และที่ Form ชื่อ FrmTblCheck2Field
ผมต้องการให้สามารถคลิกได้แค่ 1 ครั้งเท่านั้น ถ้าคลิกซ้ำอีก ก็จะถาม Password เพื่อให้กรอกข้อมูล
ปัญหาคือ เมื่อคลิกที่ CmdImportData ผมอยากให้แต่ละ Record เป็นอิสระต่อกัน
กล่าวคือปุ่มของใครของมัน เนื่องจากตอนนี้ เมื่อผมคลิกที่ปุ่ม CmdImportData ที่ Record ไหน 1 ครั้ง
ปุ่ม CmdImportData ของ Record อื่นๆ จะถูก Update โดย Auto ในขณะที่ผมยังไม่ได้คลิกที่ปุ่ม CmdImportData ของ Record นั้นๆ เลย
ผมส่งตัวอย่าง File แนบมาด้วยครับ
ขอบพระคุณมากๆ ครับ
Suchat
ชลบุรี

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

1 @R02175
..ผมเปิดไฟล์ที่แนบมาไม่ได้เข้าใจว่าคงเป็น Access 2K ขึ้นไป... แต่มีข้อคิดเห็น ดังนี้..
1. เข้าใจว่าคุณคงสร้างปุ่มไว้ที่ส่วนของ Detail Form และเป็น Continuous Form
เพราะเมื่อคุณสั่ง Command.Enable = False ทำให้มีผลกระทบต่อเรคคอร์ดอื่นๆด้วย
(เคยเจอประสบการณ์เหมือนกัน)
2. ลองสร้างปุ่มไว้ที่ Header หรือ Footer แทน แล้วใช้เหตุการณ์ On Cีurrent ตรวจสอบ เรคคอร์ด
ปัจจุบันเพราะเมื่อตัวชี้เรคคอร์ดเลื่อนไปถึงเรคคอร์ดไหน ก็จะตรวจสอบเรคคอร์ดนั้นและทำตามคำสั่ง
ได้อย่างแม่นยำ
2 @R02177
คุณ Suchat ครับ คุณต้องใส่เงื่อนไข ว่าจะ Update Record ใหน
3 @R02178
ผมส่ง File ที่เป็น Version 97 มาให้แล้วครับ
รบกวน แนะนำด้วยครับ
ขอบพระคุณมากๆ ครับ
4 @R02181
1. ตอนคุณตรวจสอบเงื่อนไขด้วยคำสั่ง Dlookup คุณไม่ได้จำเพาะเจาะจง
ว่าเป็นเรคคอร์ดไหน ฉะนั้นมันจะดูที่เรคคอร์ดแรกเท่านั้น
2. ผมได้เพิ่มฟิลด์ [DocNo] เข้าไปด้วยเพื่อให้ง่ายในการตรวจสอบเงื่อนไข
3. ตอนคุณสั่ง Run SQL คุณก็ไม่ได้ใส่เงื่อนไขอย่างเจาะจงเรคคอร์ด มันจึง
Update ให้ทุกเรคคอร์ จึงเป็นผลให้เรคคอร์ดอื่นๆเป็นด้วย

..ลองดูตัวอย่างที่ผมแก้ไขให้ครับ...
5 @R02194
ขอบพระคุณมากๆ ครับ อ.BADMAN
ผมลองเอา Code ไปปรับใช้กับงานที่บริษัทแล้ว ผมพบปัญหาตรงที่ว่า
เผอิญชื่อ Table ของผมมันมี digi หนึ่งตัวเป็นเคาะ (เนื่องจากว่าผมคงมือไวไปนะครับ)
เมื่อผม Run เลยเกิด Debug ที่บรรทัดนี้ คือ
dbs.Execute "UPDATE TblCheck2 Field SET Imported = -1 WHERE DocNo = '" & [Forms]![frmTblCheck2 Field]![DocNo] & "';"
หรือมีวิธี แก้ไขชื่อ Table ในโครงสร้างทั้งหมดใน Access ให้เปลี่ยนทุกตัวไหมครับ
คือว่าผมลองเปลี่ยนตรงชื่อ Table โดย Rename เลย ปรากฏว่าต้องไล่ทุกตัวในโครงสร้างเลย
ไม่ไหวครับ เยอะมากๆ เลย
รบกวน อ.BADMAN แนะนำอีกครั้งด้วยครับ
ขอบพระคุณมากๆ ครับ
Suchat
ชลบุรี
6 @R02196
ลองใส่ [ ] ชื่อตารางไว้ด้วยครับ

dbs.Execute "UPDATE [TblCheck2 Field] SET Imported = -1 WHERE DocNo = '" & [Forms]![frmTblCheck2 Field]![DocNo] & "';"

ใน Access 2000 ขึ้นไป จะมี Name AutoCorrect ให้ช่วยในการเปลี่ยนชื่อฟีลด์ต่างๆ ในตาราง แล้วมันจะไปเปลี่ยนชื่อฟีลด์นั้นให้ใน Query/Form หรือ Report ให้เอง

แต่มันจะไม่เปลี่ยนชื่อฟีลด์ต่างๆ ในส่วนที่นำไปเขียนโค้ดเองนะครับ

และผมไม่สามารถใช้ตัวนี้ได้ใน Access 2000 แต่ Access 2002 จะทำได้ค่อนข้างดี

ให้ลองค้นหา Name AutoCorrect เพิ่มเติมใน Help เพื่อหาจุดอ่อนของมันก่อนครับ

และให้ค้นกระทู้เก่าๆ ด้วยคำว่า AutoCorrect อ่านประกอบด้วย


7 @R02201
ขอขอบพระคุณ อาจารย์ สุภาพ และ อาจารย์ BADMAN และพี่ๆ ทุกท่าน มากๆ ครับ
ตอนนี้สามารถแก้ไขปัญหาได้แล้วครับ
ขอบพระคุณมากๆ ครับ
Suchat
ชลบุรี
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1263s