📄 frm_jcxx_sbtx.frm
字号:
ImageIndex = 1
EndProperty
BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "修改"
Key = "modify"
ImageIndex = 2
EndProperty
BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "删除"
Key = "delete"
ImageIndex = 3
EndProperty
BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "保存"
Key = "save"
ImageIndex = 4
EndProperty
BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "取消"
Key = "cancel"
ImageIndex = 5
EndProperty
BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "查找"
Key = "find"
ImageIndex = 6
EndProperty
BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628}
Enabled = 0 'False
EndProperty
BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628}
Enabled = 0 'False
Style = 3
EndProperty
BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "关闭"
Key = "close"
ImageIndex = 7
EndProperty
EndProperty
BorderStyle = 1
End
End
Attribute VB_Name = "Frm_Jcxx_Sbtx"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim rs1 As New ADODB.Recordset
Public blnAdd As Boolean
Dim mybookmark
Dim Mystr As String '定义字符串变量
Sub view_data() '显示数据信息
Dim i As Integer
If Adodc1.Recordset.RecordCount > 0 Then
For i = 0 To Text1.UBound
Text1(i).Text = Dgr_Sbtx.Columns(i)
Next i
End If
End Sub
Private Sub Dgr_Sbtx_Click()
view_data
End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = PublicStr
Call Dgr_Title '调用过程
tlbState Toolbar1, False
Call view_data '调用过程
'设置控件状态
For i = 0 To Text1.UBound
Text1(i).Enabled = False
Next i
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
sql = ""
End Sub
Sub Dgr_Title() '设置DataGrid控件的标题信息
Dgr_Sbtx.Columns(0).Caption = "设备摊销编号"
Dgr_Sbtx.Columns(1).Caption = "设备摊销年限"
End Sub
Private Sub Text1_GotFocus(Index As Integer)
'Text1控件数组获得焦点
Text1(Index).BackColor = &HFFFF80
Text1(Index).SelStart = 0
Text1(Index).SelLength = Len(Text1(Index))
End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
'Text1控件数据按回车键
If KeyCode = vbKeyReturn And Index < 1 Then
If Index = 1 Then Exit Sub
Text1(Index + 1).SetFocus
End If
End Sub
Private Sub Text1_LostFocus(Index As Integer)
'Text1控件数据失去焦点
Text1(Index).BackColor = &HFFFFFF
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.key
Case "add" '添加
blnAdd = True
tlbState Toolbar1, True
rs1.Open "select * from tb_SCGL_sbtx order by sbtx_id", cnn, adOpenStatic
If rs1.RecordCount > 0 Then
rs1.MoveLast
Text1(0) = "TX" + Format(Val(Right(Trim(rs1.Fields("sbtx_id")), 3)) + 1, "###000") '编号自动加1
Else
Text1(0) = "TX001"
End If
rs1.Close
For i = 1 To Text1.UBound
Text1(i) = ""
Text1(i).Locked = False
Next i
Text1(1).Enabled = True
Text1(1).SetFocus
Case "modify" '修改
If Adodc1.Recordset.RecordCount > 0 Then
blnAdd = False
tlbState Toolbar1, True
For i = 1 To Text1.UBound
Text1(i).Locked = False
Next i
view_data
mybookmark = Dgr_Sbtx.Bookmark
Text1(1).Enabled = True
Else
MsgBox "系统没有要修改的数据!", , "提示窗口"
End If
Case "delete" '删除
If Adodc1.Recordset.RecordCount > 0 Then
Dim rs2 As New ADODB.Recordset
rs2.Open "select * from tb_SCGL_scsb where scsb_txsj='" + str(Adodc1.Recordset.Fields("sbtx_txnx")) + "'", cnn, adOpenKeyset
If rs2.RecordCount > 0 Then
MsgBox "该信息正在使用,不能删除!", , "信息提示"
Exit Sub
Else
Adodc1.Recordset.Delete
Adodc1.Refresh
For i = 0 To Text1.UBound
Text1(i).Text = ""
Next i
Call view_data
Call Dgr_Title
End If
Else
MsgBox "系统没有要删除的数据!", , "提示窗口"
End If
Case "save" '保存
On Error GoTo SaveErr
If Text1(1).Text = "" Then
MsgBox "系统不允许" & Label2 & "为空!", , "提示窗口"
Exit Sub
End If
If Not IsNumeric(Text1(1).Text) Then
MsgBox "请在摊销年限中输入数字!", , "提示窗口"
Text1(1).Text = ""
Text1(1).SetFocus
Exit Sub
End If
If Val(Text1(1).Text) < 5 Then
MsgBox "输入的摊销年限应大于5", , "提示窗口"
Text1(1).Text = ""
Text1(1).SetFocus
Exit Sub
End If
If blnAdd = True Then '添加新记录
cnn.Execute ("insert into tb_SCGL_sbtx(sbtx_id,sbtx_txnx) values('" + Text1(0) + "','" + str(Text1(1)) + "')")
' Adodc1.Refresh
' Unload Me
' Frm_Jcxx_Sbtx.Show 1
Adodc1.Refresh
Set Dgr_Sbtx.DataSource = Adodc1
Call Dgr_Title
tlbState Toolbar1, False
For i = 1 To Text1.UBound
Text1(i).Locked = True
Next i
Else '修改原有记录
cnn.Execute ("update tb_SCGL_sbtx set sbtx_txnx =" + Text1(1) + " where sbtx_id='" + Text1(0).Text + "'")
' Adodc1.Refresh
' Unload Me
' Frm_Jcxx_Sbtx.Show 1
Adodc1.Refresh
Set Dgr_Sbtx.DataSource = Adodc1
Call Dgr_Title
Dgr_Sbtx.Bookmark = mybookmark
tlbState Toolbar1, False
For i = 1 To Text1.UBound
Text1(i).Locked = True
Next i
End If
Exit Sub
SaveErr: '出错处理
MsgBox Err.Description, , "信息提示"
Case "cancel" ' 取消
tlbState Toolbar1, False
For i = 1 To Text1.UBound
Text1(i).Locked = True
Next i
Call view_data
Case "find" ' 查询
Mystr = InputBox("请输入要查询的设备摊销编号", "设备摊销查询", "TX001")
rs1.Open "select * from tb_SCGL_sbtx where sbtx_id ='" + Mystr + "'", cnn, adOpenKeyset
If rs1.RecordCount > 0 Then
For i = 0 To rs1.Fields.Count - 1
If rs1.Fields(i) <> "" Then
Text1(i).Text = rs1.Fields(i)
Else
Text1(i).Text = ""
End If
Next i
End If
rs1.Close
Case "close" '关闭
Unload Me
End Select
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -