ฟอร์มเพิ่มเรคคอร์ดขึ้นมาเองครับ
กระทู้เก่าบอร์ด อ.Yeadram

 1,783   8
URL.หัวข้อ / URL
ฟอร์มเพิ่มเรคคอร์ดขึ้นมาเองครับ

ผมได้สร้างฟอร์มเพิ่มข้อมูลขึ้นมา ทุกครั้งที่มีการเปิดฟอร์ม จะมีการเพิ่มเรคคอร์ดขึ้นมาอัตโนมัติ โดยยังไม่ได้กดปุ่มเพิ่มเรคคอร์ด ผมจะต้องแก้ไขอย่างไรบ้างครับ โดยข้อมูลที่จะเพิ่มขึ้นมาจะต้องกดปุ่มเพิ่มเรคคอร์ดเท่านั้น หลังจากที่เราบันทึกข้อมูลเสร็จ จึงจะมีการเพิ่มข้อมูลขึ้นมา ขอบคุณมากครับ


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

1 @R18110
ไปดูที่ Form_Load และ Form_Open ว่ามีเขียนโค้ดอะไรเอาไว้บ้างหรือไม่ หรือใน On Load และ On Open ใน property ของฟอร์มมีกำหนดอะไร
2 @R18111
On Open ผมกำหนด maximize ครับ ส่วน On Load ผมกำหนด Addrecord ครับ อาจารย์สันติสุขครับผม
3 @R18112
คือผมอยากจะให้เปิดฟอร์มแล้วขึ้นเรคคอร์ดใหม่พร้อมคีย์ข้อมูลครับ จะใส่ next record ไป ก็ต้องทำปุ่มเพิ่มเรดคอร์ดพอเปิดฟอร์มก็ต้องกดปุ่มเพิ่มเรคคอร์ดก่อนถึงจะคีย์ได้ มีวิธีไหนบ้างไหมครับเวลาเปิดฟอร์มมาแล้วพร้อมคีย์โดยที่เมื่อคีย์เสร็จแล้วกดปุ่มเพิ่มเรคคอร์ดแล้วถึงจะมีการบันทึกหรือเพิ่มเข้าไปในเทเบิ้ล ขอบคุณมากครับ
4 @R18114
เวลาคุณอธิบาย อ่านแล้วยากที่จะเข้าใจ

- Addrecord ที่ว่านี้ มันทำอะไรครับ ถ้าอ่านจากชื่อก็เดาว่าเป็นการเพิ่มเรคอร์ดใช่หรือไม่ ถ้าคุณไม่อยากให้เพิ่มเรคอร์ด ทำไมไม่เอา Addrecord ออกไปหล่ะครับ

- เพิ่มฟอร์มแล้วให้ไปอยู่ที่เรคอร์ดใหม่พร้อมคีย์ข้อมูล ก็อาจจะสั่ง DoCmd.GoToRecord , , acNewRec หรือกำหนดค่า Data Entry property ของฟอร์มให้เป็น Yes แต่วิธีหลังนี้ จะทำให้ไม่เห็นเรคอร์ดที่เคยป้อนไปจากการเปิดฟอร์มครั้งก่อนๆ

- คีย์เสร็จแล้ว กดปุ่มเพิ่มเรคคอร์ด แล้วถึงจะมีการบันทึกหรือเพิ่มเข้าไปในเทเบิล http://thai-access.com/yeadram_view.php?topic_id=2194
5 @R18117
ขอโทษด้วยนะครับอาจาย์สันติสุขที่เขียนแล้วอ่านเข้าใจยากครับ ^^" ขอบคุณอาจารย์สันติสุขมากๆครับผม ขอบคุณครับผม
6 @R18119
ในลิ้งค์ http://thai-access.com/yeadram_view.php?topic_id=2194

Option Compare Database
Option Explicit

Dim IsSaveClicked   As Boolean

Private Sub Form_Error(DataErr As Integer, Response As Integer)
    IsSaveClicked = False
End Sub

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Cancel = Not IsSaveClicked
End Sub
Private Sub Form_AfterUpdate()
    IsSaveClicked = False
End Sub

Private Sub btnSave_Click()
    IsSaveClicked = True
    Me.Dirty = False    ' สั่งให้บันทึกข้อมูล
End Sub


คือในฟอร์ม properties

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Cancel = Not IsSaveClicked
End Sub


ไปใส่ใน BeforeUpdate

Private Sub Form_AfterUpdate()
    IsSaveClicked = False
End Sub


ไปใส่ใน AfterUpdate

Private Sub btnSave_Click()
    IsSaveClicked = True
    Me.Dirty = False    ' สั่งให้บันทึกข้อมูล
End Sub


ไปใส่ในปุ่มบันทึก

แล้วข้างล่างนี้ไปใส่ในไหนครับผม

Option Compare Database
Option Explicit

Dim IsSaveClicked   As Boolean

Private Sub Form_Error(DataErr As Integer, Response As Integer)
    IsSaveClicked = False
End Sub



รบกวนชี้แนะด้วยครับ ขอบคุณมากครับอาจารย์
7 @R18120
Dim IsSaveClicked   As Boolean ให้เปิดเข้าไปใน VBA Editor สำหรับฟอร์มนั้นๆ แล้วใส่ไว้ที่ข้างบนของโปรแกรม ส่วน Form_Error ก็ทำเหมือนๆกับที่ทำสำหรับ event อื่นของฟอร์มครับ
8 @R18125
ขอบคุณอารย์สันติสุขมากๆครับผม
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3891s