สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

20 มิ.ย. 62 , 11:55:26
อ่าน 530 ครั้ง

Eik Q Sang

จากโค้ดด้านล่าง
โค๊ด: [Select]
Private Sub Form_Current()
    DoCmd.Maximize
    DoCmd.GoToRecord , , acNewRec
End Sub

Sub Ark()
Dim box As String
txt_CIF.SetFocus
box = MsgBox("คุณต้องการบันทึกข้อมูลหรือไม่?", vbQuestion + vbYesNo, "Save Confirmation!!")
If box = vbYes Then
Call checkNull
Else
Call delete
frmCabinatUsed.Requery
End If
End Sub
Sub delete()
On Error Resume Next
DoCmd.SetWarnings False
    DoCmd.GoToControl Screen.PreviousControl.Name
    Err.Clear
    If (Not Form.NewRecord) Then
        DoCmd.RunCommand acCmdDeleteRecord
    End If
    If (Form.NewRecord And Not Form.Dirty) Then
        Beep
    End If
    If (Form.NewRecord And Form.Dirty) Then
        DoCmd.RunCommand acCmdUndo
    End If
    If (MacroError <> 0) Then
        Beep
        MsgBox MacroError.Description, vbOKOnly, ""
    End If
cmdDeleteRecord_Click_Exit:
    Exit Sub
cmdDeleteRecord_Click_Err:
    MsgBox Error$
    Resume cmdDeleteRecord_Click_Exit
End Sub

Sub checkNull()
If IsNull(txt_CIF) Then
MsgBox "กรุณาระบุ CIF !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_TONo) Then
MsgBox "กรุณาระบุ TO No. !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocCode) Then
MsgBox "กรุณาระบุรหัสเอกสาร !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocTypeCode) Then
MsgBox "กรุณาระบุรหัสประเภทเอกสาร !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocName) Then
MsgBox "กรุณาระบุชื่อเอกสาร !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocDate) Then
MsgBox "กรุณาระบุวันที่เอกสาร !!", vbOKOnly, "Warning !!"
End If
DoCmd.GoToRecord , , acNewRec
Me.frmKeyData01.Requery
End Sub

คำถาม ผมต้องการให้เมื่อไม่กดปุ่มบันทึก ก็ไม่ต้องบันทึกหน้านี้เข้าตาราง ต้องแก้ไขอย่างไรบ้างครับ ขอบคุณมากครับ

 

20 มิ.ย. 62 , 12:40:56
ตอบกลับ #1

ปิ่นณรงค์

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #1 เมื่อ: 20 มิ.ย. 62 , 12:40:56 »
ใช้การสร้างตัวแปล มาเช็คสถานะของการบันทึกก็ได้ครับ โดยใช้ Events Form_BeforeUpdate ในการตรวจสอบ โค้ดผมยุบเหลือแค่นี้นะครับ
โค๊ด: [Select]
Private Sub cmb_Save_Click()
Dim IsSave As Boolean
If IsNull(txt_CIF) Then
MsgBox "กรุณาระบุ CIF !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_TONo) Then
MsgBox "กรุณาระบุ TO No. !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocCode) Then
MsgBox "กรุณาระบุรหัสเอกสาร !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocTypeCode) Then
MsgBox "กรุณาระบุรหัสประเภทเอกสาร !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocName) Then
MsgBox "กรุณาระบุชื่อเอกสาร !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocDate) Then
MsgBox "กรุณาระบุวันที่เอกสาร !!", vbOKOnly, "Warning !!"
else
DoCmd.RunCommand (acCmdSaveRecord)
IsSave = True
End If
End Sub

Private Sub Form_BeforeUpdate(Cancel As Integer)  'ก่อนข้อมูลจะถูกบันทึกในตารางต้องผ่านเงื่อนไขนี้ก่อน ครับถ้าตอบ No หรือกดปิดฟอร์มโดยไม่ได้กดบันทึก ข้อมูลจะไม่ถูกบันทึก
Dim msg As Integer
If IsSave = False Then
    msg = MsgBox("คุณต้องการบันทึกข้อมูลนี้หรือไม่?", vbYesNo, "สอบถาม")
    If msg = vbNo Then
       Me.Undo
    End If
End If
End Sub
« แก้ไขครั้งสุดท้าย: 21 มิ.ย. 62 , 09:57:07 โดย ปิ่นณรงค์ »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

20 มิ.ย. 62 , 14:59:06
ตอบกลับ #2

Eik Q Sang

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #2 เมื่อ: 20 มิ.ย. 62 , 14:59:06 »

ขอบพระคุณมากครับอาจารย์

 

20 มิ.ย. 62 , 15:04:49
ตอบกลับ #3

Eik Q Sang

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #3 เมื่อ: 20 มิ.ย. 62 , 15:04:49 »

เออเร่อตรงนี้แก้ตรงไหนครับจารย์

« แก้ไขครั้งสุดท้าย: 21 มิ.ย. 62 , 10:20:32 โดย thaiaccboard »

 

21 มิ.ย. 62 , 09:00:42
ตอบกลับ #4

Eik Q Sang

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #4 เมื่อ: 21 มิ.ย. 62 , 09:00:42 »
เกิด Error แบบนี้อ่าคับ ไม่ทราบว่าแก้ไขอย่างไรบ้างครับ ขอบคุณมากครับผม

 

21 มิ.ย. 62 , 09:04:57
ตอบกลับ #5

Eik Q Sang

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #5 เมื่อ: 21 มิ.ย. 62 , 09:04:57 »

 

21 มิ.ย. 62 , 09:40:04
ตอบกลับ #6

ปิ่นณรงค์

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #6 เมื่อ: 21 มิ.ย. 62 , 09:40:04 »
ไม่รู้แบบนี้ไหมนะครับ ที่ฟอร์มสอง ถ้าไม่กดบันทึก เวลาจะปิดจะมีการสอบถามเรื่องการบันทึกข้อมูลถ้าตอบ No ข้อมูลจะไม่บันทึกใน ตาราง tblFollowDetail
เพิ่มระบบค้นหา No มาแสดง ลองดูครับ

« แก้ไขครั้งสุดท้าย: 21 มิ.ย. 62 , 09:55:29 โดย ปิ่นณรงค์ »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

21 มิ.ย. 62 , 09:40:43
ตอบกลับ #7

Eik Q Sang

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #7 เมื่อ: 21 มิ.ย. 62 , 09:40:43 »
ไม่รู้แบบนี้ไหมนะครับ ที่ฟอร์มสอง ถ้าไม่กดบันทึก เวลาจะปิดจะมีการสอบถามเรื่องการบันทึกข้อมูลถ้าตอบ No ข้อมูลจะไม่บันทึกใน ตาราง tblFollowDetail
เพิ่มระบบค้นหา No มาแสดง ลองดูครับ

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

 

21 มิ.ย. 62 , 09:45:56
ตอบกลับ #8

ปิ่นณรงค์

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #8 เมื่อ: 21 มิ.ย. 62 , 09:45:56 »
รบกวนถ้าจะอ้างอิง Code ยาวๆ จากโพสก่อน ผมว่าไม่ต้องก็ได้ครับให้กดโพสข้อความไปเลยไม่ต้องอ้างอิงมาเพราะมันจะดูรก และอ่านยากครับ
« แก้ไขครั้งสุดท้าย: 21 มิ.ย. 62 , 09:51:40 โดย ปิ่นณรงค์ »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: thaiaccboard, Eik Q Sang

21 มิ.ย. 62 , 11:09:30
ตอบกลับ #9

Eik Q Sang

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #9 เมื่อ: 21 มิ.ย. 62 , 11:09:30 »
รบกวนถ้าจะอ้างอิง Code ยาวๆ จากโพสก่อน ผมว่าไม่ต้องก็ได้ครับให้กดโพสข้อความไปเลยไม่ต้องอ้างอิงมาเพราะมันจะดูรก และอ่านยากครับ
ครับ อาจารย์ ขอบคุณมากครับผม

 

21 มิ.ย. 62 , 14:45:43
ตอบกลับ #10

Eik Q Sang

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #10 เมื่อ: 21 มิ.ย. 62 , 14:45:43 »
รบกวนดูไฟล์หน่อยคับ คือ พอผมกรอกรายละเอียดใน frmFollowMain แล้วกดปุ่ม Follow เพื่อที่จะเปิดฟอร์ม frmFollowDetail พบว่า มี pop up แจ้งเตือนให้กรอก parameter ต้องแก้ตรงไหนคับถึงจะไม่ให้ขึ้นครับขอบคุณมากครับผม

 

21 มิ.ย. 62 , 14:55:14
ตอบกลับ #11

ปิ่นณรงค์

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #11 เมื่อ: 21 มิ.ย. 62 , 14:55:14 »
ต้องดู ประเภทของข้อมูลด้วยครับ เช่น เป็น text / Date/Time / หรือ ตัวเลข การกำหนดจะไม่เหมืิอนกัน
ที่มันแสดงป๊อบอัพขึ้นมาเพราะเงื่อนไขนั้น Doccode ต้องเป็นตัวเลข แต่ในงานของคุณเป็น text ครับ
แก้เป็นแบบนี้ครับ

โค๊ด: [Select]
DoCmd.OpenForm "frmFollowDetail", WhereCondition:="[Doccode]= '" & txt_DocCode1 & "'"
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

21 มิ.ย. 62 , 15:00:44
ตอบกลับ #12

Eik Q Sang

: สอบถามโค้ดไม่ต้องบันทึกข้อมูลครับ
« ตอบกลับ #12 เมื่อ: 21 มิ.ย. 62 , 15:00:44 »
อ่อเข้าใจแล้วครับ อาจารย์ ขอบคุณมากครับผม

 


บอร์ดเรียนรู้ Access สำหรับคนไทย