我想要關閉一個access2000的表單
Private Sub Command20_Click()
Select Case MsgBox("你是否要儲存這一筆紀錄", 3, "注意")
Case 6
DoCmd.Close , , acSaveYes
Case 7
If 產品序號 <> "" Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
   DoCmd.Close , , acSaveNo
Case 2
DoCmd.CancelEvent
End Select
End Sub

但是我在輸入產品序號的欄位有作檢查
Private Sub 產品序號_BeforeUpdate(Cancel As Integer)
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "provider=sqloledb;server=tigersql;database=專題2_2;user id=sa;password=12345"
rs.CursorLocation = adUseServer
rs.Open "不良品資料表", cn, adOpenKeyset, adLockPessimistic
rs.Find "產品序號 = '" & 產品序號 & "'"
If rs.EOF = True Then
MsgBox "沒有這個產品的不良紀錄", 0, "輸入錯誤"
  MsgBox "請刪掉產品序號 重新輸入一次", 0, "輸入錯誤"
  DoCmd.CancelEvent
Else
End If
End Sub

可是每次關閉時都會去update 產品序號 而程式就自動去檢查
導致我如果沒有輸入資料或是輸入一筆 不良品資料表 上面沒有的
資料就會關不起來
T_T 不知如何是好
請各位不吝指教
謝謝
arrow
arrow
    全站熱搜

    vbqa 發表在 痞客邦 留言(2) 人氣()