📄 formrep.frm
字号:
TabIndex = 6
Top = 600
Width = 2175
End
Begin VB.TextBox TxtQueRemark
Height = 375
Left = 2280
TabIndex = 5
Top = 1800
Width = 2175
End
Begin VB.CommandButton CmdQue
Caption = "查询"
Height = 375
Left = 3240
TabIndex = 4
Top = 2280
Width = 1215
End
Begin VB.ComboBox CmbCarID
Height = 300
Left = -73440
Style = 2 'Dropdown List
TabIndex = 3
Top = 720
Width = 2175
End
Begin MSComCtl2.DTPicker DTPQueDate
Height = 375
Left = 2280
TabIndex = 2
Top = 1200
Width = 2175
_ExtentX = 3836
_ExtentY = 661
_Version = 393216
Format = 20774913
CurrentDate = 38718
End
Begin MSComCtl2.DTPicker DTPDate
Height = 375
Left = -69120
TabIndex = 16
Top = 1080
Width = 2175
_ExtentX = 3836
_ExtentY = 661
_Version = 393216
Format = 20774913
CurrentDate = 38718
End
Begin VB.Label Label8
Caption = "维修花费:"
Height = 375
Index = 1
Left = -70320
TabIndex = 25
Top = 720
Width = 1455
End
Begin VB.Label Label8
Caption = "维修场站:"
Height = 375
Index = 0
Left = -74760
TabIndex = 23
Top = 1200
Width = 1455
End
Begin VB.Label Label10
Caption = "备注:"
Height = 375
Index = 0
Left = -74760
TabIndex = 19
Top = 1560
Width = 735
End
Begin VB.Label Label4
Caption = "维修日期:"
Height = 255
Index = 0
Left = -70320
TabIndex = 18
Top = 1200
Width = 1215
End
Begin VB.Label Label1
Caption = "维修车辆ID:"
Height = 255
Index = 0
Left = -74760
TabIndex = 17
Top = 720
Width = 1215
End
End
End
Attribute VB_Name = "FormRep"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'返回按钮
Private Sub CmdBack_Click()
Me.LvResult.Visible = False
Me.CmdBack.Visible = False
End Sub
'删除按钮
Private Sub CmdDel_Click()
If MsgBox("确定要删除选定档案吗?", vbOKCancel, "删除维修信息") = vbOK Then
Adodc1.Recordset.Delete
MsgBox "删除成功!", , "删除维修信息"
CmdEmpty_Click
End If
Exit Sub
End Sub
'清空按钮
Private Sub CmdEmpty_Click()
Me.DTPDate.Value = Format(Now, "yyyy-mm-dd")
Me.TxtPlace.Text = ""
Me.TxtCost.Text = ""
Me.TxtRemark.Text = ""
End Sub
'修改按钮
Private Sub CmdMod_Click()
DataGrid1.Columns(1).Text = Me.CmbCarID.Text
DataGrid1.Columns(2).Text = Me.TxtPlace.Text
DataGrid1.Columns(3).Text = Me.TxtCost.Text
DataGrid1.Columns(4).Text = Me.DTPDate.Value
DataGrid1.Columns(5).Text = Me.TxtRemark.Text
MsgBox "修改成功", , "修改维修信息"
End Sub
'查询按钮
Private Sub CmdQue_Click()
Dim Questr As String
Dim RsQuery As New ADODB.Recordset
Dim LtItm As ListItem
Dim Remark As String
Dim i As Integer
'按车辆ID查询
If Me.OptQue(0).Value = True Then
'判断查询条件
If Me.TxtQueCar.Text = "" Then
MsgBox "请输入要查询的车辆ID!", , "查询维修信息"
Exit Sub
End If
'生成查询语句
Questr = "select * from RepairRec where RepairCarID = " & Val(Me.TxtQueCar.Text)
'按维修日期查询
ElseIf Me.OptQue(1).Value = True Then
'生成查询语句
Questr = "select * from RepairRec where RepairDate= #" & Me.DTPQueDate.Value & "#"
'按备注查询
ElseIf Me.OptQue(2).Value = True Then
'替换单引号
Remark = Replace(Trim(Me.TxtQueRemark.Text), "'", "''")
'生成查询语句
Questr = "select * from RepairRec where Remark Like '%" & Remark & "%'"
End If
'打开数据集
Debug.Print Questr
RsQuery.Open Questr, DBCn, adOpenStatic, adLockOptimistic
'显示查询结果
If RsQuery.EOF Then
MsgBox "数据库中没有符合要求的记录!", , "查询维修信息"
Exit Sub
End If
Me.LvResult.Visible = True
Me.CmdBack.Visible = True
'清空列表
Me.LvResult.ListItems.Clear
'数据集指针指向第一个记录
RsQuery.MoveFirst
For i = 1 To RsQuery.RecordCount
Set LtItm = Me.LvResult.ListItems.Add()
LtItm.Text = RsQuery.Fields("RepairID").Value
LtItm.SubItems(1) = RsQuery.Fields("RepairCarID").Value
LtItm.SubItems(2) = RsQuery.Fields("RepairPlace").Value
LtItm.SubItems(3) = RsQuery.Fields("RepairPay").Value
LtItm.SubItems(4) = RsQuery.Fields("RepairDate").Value
If RsQuery.Fields("Remark").Value <> "" Then
LtItm.SubItems(5) = RsQuery.Fields("Remark").Value
End If
'数据集指针指向下一条记录
RsQuery.MoveNext
Next i
'关闭数据集
RsQuery.Close
End Sub
'DataGrid控件中的焦点变换
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
'检验是否为空行
If DataGrid1.Columns(0).Text = "" Then
Exit Sub
End If
'将DataGrid中数据读入各个控件显示
Me.CmbCarID.Text = DataGrid1.Columns(1).Text
Me.TxtPlace.Text = DataGrid1.Columns(2).Text
Me.TxtCost.Text = DataGrid1.Columns(3).Text
Me.DTPDate.Value = DataGrid1.Columns(4).Text
Me.TxtRemark.Text = DataGrid1.Columns(5).Text
End Sub
Private Sub Form_Load()
Dim RsDB As New ADODB.Recordset
Dim i As Integer
'初始化日期
Me.DTPDate.Value = Format(Now, "yyyy-mm-dd")
Me.DTPQueDate.Value = Format(Now, "yyyy-mm-dd")
'初始化ADO控件,连接数据库,设置列首
Adodc1.ConnectionString = CnStr
Adodc1.RecordSource = "Select RepairID as 维修信息记录号," & _
"RepairCarID as 维修车辆ID," & _
"RepairPlace as 维修场站," & _
"RepairPay as 维修花费," & _
"RepairDate as 维修日期," & _
"Remark as 备注 " & _
"From RepairRec"
Debug.Print Adodc1.RecordSource
Set DataGrid1.DataSource = Adodc1 '不能缺少
'读入已有车辆ID
RsDB.Open "select CarID from CarInfo order by CarID ", DBCn, adOpenStatic, adLockReadOnly, -1
If RsDB.RecordCount > 0 Then
If Not RsDB.BOF Then RsDB.MoveFirst
For i = 1 To RsDB.RecordCount
Me.CmbCarID.AddItem (RsDB.Fields("CarID").Value)
If Not RsDB.EOF Then RsDB.MoveNext
Next i
Else
MsgBox "还没有车辆档案,不能添加维修信息", , "车辆运营记录管理"
End If
RsDB.Close
End Sub
'添加维修信息
Private Sub CmdAdd_Click()
Dim rsAdd As New ADODB.Recordset
Dim SqlStr As String
Dim Remark As String
'首先检验输入
'没有选择车辆ID
If Len(Trim(Me.CmbCarID.Text)) <= 0 Then
MsgBox "请选择车辆ID!", , "添加维修信息"
Exit Sub
End If
'没有输入TxtPlace
If Len(Trim(Me.TxtPlace.Text)) <= 0 Then
MsgBox "请输TxtPlaceD!", , "添加维修信息"
Exit Sub
End If
'没有输入花费
If Len(Trim(Me.TxtCost.Text)) <= 0 Then
MsgBox "请输入维修花费!", , "添加维修信息"
Exit Sub
End If
'检验完毕,数据入库,备注项可选
If Me.TxtRemark.Text = vbNullString Then '没有备注项
SqlStr = "INSERT INTO RepairRec"
SqlStr = SqlStr & "(RepairCarID,RepairPlace,RepairPay,RepairDate) "
SqlStr = SqlStr & "VALUES ('" & Me.CmbCarID.Text & "',"
SqlStr = SqlStr & "'" & Me.TxtPlace.Text & "',"
SqlStr = SqlStr & "'" & Me.TxtCost.Text & "',"
SqlStr = SqlStr & "#" & Me.DTPDate.Value & "#);"
Debug.Print SqlStr
DBCn.Execute SqlStr
Else '有备注项
Remark = Replace(Trim(Me.TxtRemark.Text), "'", "''")
SqlStr = "INSERT INTO RepairRec"
SqlStr = SqlStr & "(RepairCarID,RepairPlace,RepairPay,RepairDate,Remark) "
SqlStr = SqlStr & "VALUES ('" & Me.CmbCarID.Text & "',"
SqlStr = SqlStr & "'" & Me.TxtPlace.Text & "',"
SqlStr = SqlStr & "'" & Me.TxtCost.Text & "',"
SqlStr = SqlStr & "#" & Me.DTPDate.Value & "#,"
SqlStr = SqlStr & "'" & Remark & "');"
Debug.Print SqlStr
DBCn.Execute SqlStr
End If
MsgBox "添加成功", , "添加维修信息"
Adodc1.Refresh
End Sub
'设置焦点对应的单选按钮
Private Sub TxtQueCar_GotFocus()
Me.OptQue(0).Value = True
EmptyQue
End Sub
Private Sub DTPQueDate_Click()
Me.OptQue(1).Value = True
EmptyQue
End Sub
Private Sub TxtQueRemark_GotFocus()
Me.OptQue(2).Value = True
EmptyQue
End Sub
'清空查询内容函数
Private Sub EmptyQue()
Me.TxtQueCar.Text = ""
Me.DTPQueDate.Value = "2006-1-1"
Me.TxtQueRemark.Text = ""
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -