对象或提供者不能执行所需的操作
Option Explicit
Private rsOrigin As ADODB.Recordset
Private strMaxNum As String
Private blnIsSQL As Boolean
Private Sub CmdAct_Click(Index As Integer)
On Error GoTo eRR:
With rsProType
Select Case Index
Case 0
.UpdateBatch
.MoveLast
Case 1
.CancelUpdate
If .RecordCount <> 0 Then
.MoveFirst
End If
End Select
End With
Call IsEdit(False)
Me.DataGrid1.Refresh
Exit Sub
eRR:
If eRR.Number = -2147467259 Then
MsgBox "物品类别编号重复!请重新录入新的物品类别编号!", vbCritical, "错误"
End If
End Sub
'Private Sub CmdAct_Click(Index As Integer)
' On Error GoTo eRR:
' With rsOrigin
' Select Case Index
' Case 0
' .UpdateBatch
' .MoveLast
' Case 1
' .CancelUpdate
' If .RecordCount <> 0 Then
' .MoveFirst
' End If
' End Select
' End With
' Call IsEdit(False)
' Me.DataGrid1.Refresh
'Exit Sub
'eRR:
' If eRR.Number = -2147467259 Then
' MsgBox "资产来源编号重复!请重新录入新的编号!", vbCritical, "错误"
' End If
'End Sub
Private Sub CmdDep_Click(Index As Integer)
Dim intAnswer As Integer
Select Case Index
Case 0
Call PrTyAddNew
Case 1
Call IsEdit(True)
Me.txtOrigin_id.SetFocus
Case 2
FrmSql.intNumField = 2
FrmSql.Show vbModal
Select Case FrmSql.intNumField
Case -1
blnIsSQL = False
CmdDep(0).Enabled = True
CmdDep(3).Enabled = True
rsOrigin.Filter = Me.DataGrid1.Columns.Item(0).DataField & _
"<>''"
Case -2
Case Else
blnIsSQL = True
CmdDep(0).Enabled = False
CmdDep(3).Enabled = False
rsOrigin.Filter = Me.DataGrid1.Columns.Item(FrmSql.intNumField).DataField & _
" like '*" & FrmSql.strSqlField & "*'"
End Select
Case 3
intAnswer = MsgBox("确认删除当前记录吗?", vbYesNo + vbQuestion, "删除确认")
If intAnswer = vbYes Then
With rsOrigin
.Delete
.UpdateBatch
If .RecordCount <> 0 Then
.MoveFirst
Else
For intAnswer = 1 To 4
CmdDep(intAnswer).Enabled = False
Next
End If
End With
End If
Case 4
Case 5
Unload Me
End Select
End Sub
Private Sub Form_Load()
intNumWindows = OpenWindow(intNumWindows)
Me.Height = 6300
Me.Width = 5325
Call SetFormStu(Me, frmMain)
Set rsOrigin = DEjxc.rscomOrigin
Call IsEdit(False)
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If CmdDep(5).Enabled = False Then
MsgBox "请先退出编辑状态后再退出该程序!", , "提示"
Cancel = True
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
intNumWindows = Closewindow(intNumWindows)
rsOrigin.Filter = Me.DataGrid1.Columns.Item(0).DataField & "<>''"
rsOrigin.Close
Set rsOrigin = Nothing
End Sub
Private Sub PrTyAddNew()
Dim strSQL As String
With rsOrigin
'If .RecordCount = 0 Then
' strMaxNum = 0
'Else
' .MoveLast
' strMaxNum = !origin_id
'End If
.AddNew "origin_id", "" ‘出错
Call IsEdit(True)
Me.txtOrigin_id.SetFocus
End With
End Sub
Private Sub IsEdit(blnIsEdit As Boolean)
Dim intNum As Integer
Me.txtOrigin_id.Enabled = blnIsEdit
Me.txtOrigin_name.Enabled = blnIsEdit
For intNum = 0 To 1
Me.CmdAct(intNum).Enabled = blnIsEdit
Next
For intNum = 0 To 5
If intNum <> 4 Then
Me.CmdDep(intNum).Enabled = Not blnIsEdit
End If
Next
If blnIsSQL = True Then
CmdDep(0).Enabled = False
CmdDep(3).Enabled = False
End If
If rsOrigin.RecordCount = 0 Then
For intNum = 1 To 4
If intNum <> 4 Then
Me.CmdDep(intNum).Enabled = False
End If
Next
End If
End Sub
Private Sub txtorigin_id_KeyPress(KeyAscii As Integer)
Dim strValid As String
strValid = "0123456789"
If KeyAscii > 26 Then
If InStr(strValid, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End If
If KeyAscii = 13 Then txtOrigin_name.SetFocus
End Sub