ต้องการปิดการบันทึกแบบ Real-time
กระทู้เก่าบอร์ด อ.Yeadram

 772   4
URL.หัวข้อ / URL
ต้องการปิดการบันทึกแบบ Real-time

สวัสดีครับ มีปัญหาเกี่ยวกับโปรแกรมครับ

ทดลองรันฟอร์มดู แล้วถ้าเกิดค่าใน Textbox มีการเปลี่ยนแปลง(แก้ไข/เพิ่ม) พบว่า บันทึกข้อมูลเอง โดยที่ยังไม่ได้กด Save เลยครับ ไม่ทราบว่าต้องไปแก้ตรงไหนครับ

ขอบพระคุณมากๆ ครับ

ปล. แต่ละ Textbox ผมตั้ง Locked ไว้ครับ ถ้ากดปุ่มแก้ไข / เพิ่ม ถึงแก้ไขได้

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

1 @R22871
น่าจะเกิดขึ้นที่โค้ดนะ ตรวจสอบโค้ดดูก่อนเพราะปกติเรคคอร์ดจะไม่บันทึกหากไม่มีการเลื่อนไปยังเรคคอร์ดก่อนหน้าหรือเรคคอร์ดถัดไป
2 @R22878
ขออนุญาต Copy Code มาเลยนะครับ

Option Compare Database



Private Sub add_Click()
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec
save.Enabled = True
add.Enabled = False
del.Enabled = False
dup.Enabled = False


heatno.Locked = False
c.Locked = False
si.Locked = False
mn.Locked = False
p.Locked = False
s.Locked = False
c_mn_6.Locked = False
ceq.Locked = False
cr.Locked = False
cu.Locked = False
n.Locked = False
mo.Locked = False
v.Locked = False
Text100 = ""

End Sub


Private Sub Command46_Click()
'search
            If Text100 = "" Then
               MsgBox ("¡ÃسÒãÊèàÅ¢ Heat")
            Else
               Forms!F_billet.RecordSource = "Q_billet"
               Text100 = ""
              
                 If IsNull([heatno]) Then
                    MsgBox ("äÁ辺àÅ¢ Heat ¹Õé")
                    DoCmd.GoToRecord , , acFirst
                    End If
              
            End If
    
End Sub


Private Sub Command73_Click()
    If MsgBox("¤Ø³á¹èã¨ÇèÒµéͧ¡ÒÃźãªèËÃ×ÍäÁè? ", 4) = 7 Then
        MsgBox ("·Ó¡ÒáàÅÔ¡áÅéÇ")
    Else
        MsgBox "źàÃÕºÃéÍÂáÅéÇ"
        SendKeys "{F5}", True
    End If
End Sub

Private Sub dup_Click()
'á¡éä¢
MsgBox ("à»Ô´¡ÒÃá¡éä¢")
    heatno.Locked = False
    c.Locked = False
    si.Locked = False
    mn.Locked = False
    p.Locked = False
    s.Locked = False
    c_mn_6.Locked = False
    ceq.Locked = False
    cr.Locked = False
    cu.Locked = False
    n.Locked = False
    mo.Locked = False
    v.Locked = False
    Text100 = ""
    add.Enabled = False
    save.Enabled = True
    del.Enabled = False
    dup.Enabled = False
    


End Sub


Private Sub save_Click()
'save
If heatno = "" Then
    On Error Resume Next
    MsgBox ("¡ÃسÒãÊèËÁÒÂàÅ¢ãËé¤Ãº¶éǹ")
    Else
       
        If MsgBox("¤Ø³á¹èã¨ÇèÒµéͧ¡Òúѹ·Ö¡ãªèËÃ×ÍäÁè? ", vbYesNo, "Â×¹Âѹ¡Òúѹ·Ö¡") = vbNo Then
            MsgBox ("·Ó¡ÒáàÅÔ¡áÅéÇ")
            Cancel = True
            
            
            Else
            DoCmd.save
            MsgBox ("¤Ø³ä´éºÑ¹·Ö¡àÃÕºÃéÍÂáÅéÇ")
            Me.AllowAdditions = True
            DoCmd.GoToRecord , , acNewRec
            
            
             
        End If
       
       
End If
add.Enabled = True
del.Enabled = True
dup.Enabled = True
save.Enabled = False
heatno.SetFocus



heatno.Locked = True
c.Locked = True
si.Locked = True
mn.Locked = True
p.Locked = True
s.Locked = True
c_mn_6.Locked = True
ceq.Locked = True
cr.Locked = True
cu.Locked = True
n.Locked = True
mo.Locked = True
v.Locked = True
Text100 = ""


End Sub



หลังจากที่รันโปรแกรม เมื่อค่าใน Textbox มีการเปลี่ยนแปลง (เพิ่ม/ลบ/แก้ไข) และเมื่อเราออกจากโปรแกรม (กด x , End task) โปรแกรมจะทำการ Save เองตลอด เมื่อเข้าโปรแกรมใหม่ จะแสดงค่าที่เราพิมพ์ค้างไว้ตลอดครับ
3 @R22879
ปล. เอ ในโปรแกรมเป็นภาษาไทยปกตินะครับ ก๊อบมาลงเพี้ยนเลย ฮ่าๆ
4 @R22880
คร่าวๆก่อนละกันนะ
การที่คุณ lock คอนโทรลไว้นั้นคุณต้องรู้ว่าโฟกัสถัดไปคืออะไร ถ้าเป็นปุ่ม save ล่ะก็มันก็รันคำสั่งนั้นเลย

เอาล่ะตรวจสอบกันเลยจ้า
ใส่ break point ไว้ที่ procedure ทุกตัวของฟอร์ม

กลับไปที่ฟอร์ม ทดลองแก้ไข text box แล้วดูว่า debugger หยุดที่ breakpoint ไหน
แล้วไล่ดูทีละ step
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3243s