📄 frmrepair1.frm
字号:
VERSION 5.00
Begin VB.Form frmRepair1
BorderStyle = 3 'Fixed Dialog
Caption = "维修信息"
ClientHeight = 3444
ClientLeft = 48
ClientTop = 336
ClientWidth = 7224
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3444
ScaleWidth = 7224
ShowInTaskbar = 0 'False
StartUpPosition = 1 'CenterOwner
Begin VB.Frame Frame2
Caption = "其它信息"
Height = 2655
Left = 3840
TabIndex = 16
Top = 240
Width = 3135
Begin VB.TextBox txtItem
Height = 1815
Index = 5
Left = 240
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 6
Top = 600
Width = 2655
End
Begin VB.Label Label2
Caption = "备 注:"
Height = 255
Index = 4
Left = 240
TabIndex = 17
Top = 360
Width = 855
End
End
Begin VB.Frame Frame1
Caption = "维修基本信息"
Height = 2655
Left = 240
TabIndex = 9
Top = 240
Width = 3495
Begin VB.ComboBox cboItem
Height = 300
Left = 1200
Style = 2 'Dropdown List
TabIndex = 0
Top = 360
Width = 2055
End
Begin VB.TextBox txtItem
Height = 270
Index = 4
Left = 1200
MaxLength = 30
TabIndex = 5
Top = 2160
Width = 2055
End
Begin VB.TextBox txtItem
Height = 270
Index = 3
Left = 1200
MaxLength = 10
TabIndex = 4
Top = 1800
Width = 2055
End
Begin VB.TextBox txtItem
Height = 270
Index = 2
Left = 1200
MaxLength = 40
TabIndex = 3
Top = 1440
Width = 2055
End
Begin VB.TextBox txtItem
Height = 270
Index = 1
Left = 1200
MaxLength = 30
TabIndex = 2
Top = 1080
Width = 2055
End
Begin VB.TextBox txtItem
Height = 270
Index = 0
Left = 1200
MaxLength = 10
TabIndex = 1
Top = 720
Width = 2055
End
Begin VB.Label Label2
Caption = "配 件:"
Height = 255
Index = 3
Left = 240
TabIndex = 15
Top = 2160
Width = 855
End
Begin VB.Label Label2
Caption = "价 格:"
Height = 255
Index = 2
Left = 240
TabIndex = 14
Top = 1800
Width = 855
End
Begin VB.Label Label2
Caption = "维修单位:"
Height = 255
Index = 6
Left = 240
TabIndex = 13
Top = 1080
Width = 855
End
Begin VB.Label Label2
Caption = "车 牌 号:"
Height = 255
Index = 0
Left = 240
TabIndex = 12
Top = 360
Width = 855
End
Begin VB.Label Label2
Caption = "时 间:"
Height = 255
Index = 1
Left = 240
TabIndex = 11
Top = 720
Width = 855
End
Begin VB.Label Label2
Caption = "维修内容:"
Height = 255
Index = 16
Left = 240
TabIndex = 10
Top = 1440
Width = 855
End
End
Begin VB.CommandButton cmdExit
Caption = "返回 (&X)"
Height = 375
Left = 5520
TabIndex = 8
Top = 3000
Width = 1215
End
Begin VB.CommandButton cmdSave
Caption = "保存 (&S)"
Height = 375
Left = 4080
TabIndex = 7
Top = 3000
Width = 1215
End
End
Attribute VB_Name = "frmRepair1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'是否改动过记录,ture为改过
Dim mblChange As Boolean
Public txtSQL As String
Dim mrc As ADODB.Recordset
Private Sub cmdExit_Click()
If mblChange And cmdSave.Enabled Then
If MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then
'保存
Call cmdSave_Click
End If
End If
Unload Me
End Sub
Private Sub cmdSave_Click()
Dim intCount As Integer
Dim sMeg As String
Dim MsgText As String
If Trim(txtItem(0) & " ") = "" Then
sMeg = "维修时间不能为空!"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtItem(0).SetFocus
Exit Sub
End If
If Trim(txtItem(0) & "") <> "" Then
If Not IsDate(txtItem(0)) Then
MsgBox "维修时间应输入日期(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtItem(0).SetFocus
Exit Sub
Else
txtItem(0) = Format(txtItem(0), "yyyy-mm-dd")
End If
End If
'添加判断是否有相同的ID记录
If gintrMode = 1 Then
txtSQL = "select * from repair where wxid='" & Trim(cboItem) & "' and wxdate='" & Format(txtItem(0), "yyyy-mm-dd") & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
MsgBox "已经存在此维修记录!", vbOKOnly + vbExclamation, "警告"
txtItem(0).SetFocus
Exit Sub
End If
End If
'先删除已有记录
txtSQL = "delete from repair where wxid='" & Trim(cboItem) & "' and wxdate='" & Format(txtItem(0), "yyyy-mm-dd") & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
'再加入新记录
txtSQL = "select * from repair"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.AddNew
mrc.Fields(0) = Trim(cboItem)
For intCount = 0 To 5
mrc.Fields(intCount + 1) = Trim(txtItem(intCount))
Next intCount
mrc.Update
mrc.Close
If gintrMode = 1 Then
For intCount = 0 To 5
txtItem(intCount) = ""
Next intCount
mblChange = False
ElseIf gintrMode = 2 Then
Unload Me
If flagrEdit Then
Unload frmRepair
End If
frmRepair.txtSQL = "select * from repair"
frmRepair.Show
End If
End Sub
Private Sub Form_Load()
Dim intCount As Integer
Dim MsgText As String
If gintrMode = 1 Then
Me.Caption = Me.Caption & "添加"
'初始化车牌号
txtSQL = "select DISTINCT clid from vehicle"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not mrc.EOF Then
Do While Not mrc.EOF
cboItem.AddItem Trim(mrc!clid)
mrc.MoveNext
Loop
cboItem.ListIndex = 0
Else
MsgBox "请先建立车辆档案!", vbOKOnly + vbExclamation, "警告"
cmdSave.Enabled = False
Exit Sub
End If
mrc.Close
ElseIf gintrMode = 2 Then
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
With mrc
cboItem.AddItem .Fields(0)
cboItem.ListIndex = 0
For intCount = 0 To 5
If Trim(.Fields(intCount + 1) & " ") <> "" Then
txtItem(intCount) = .Fields(intCount + 1)
End If
Next intCount
txtItem(0).Enabled = False
End With
End If
Me.Caption = Me.Caption & "修改"
mrc.Close
End If
mblChange = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
gintrMode = 0
End Sub
Private Sub txtItem_Change(Index As Integer)
'有变化设置gblchange
mblChange = True
End Sub
Private Sub txtItem_GotFocus(Index As Integer)
txtItem(Index).SelStart = 0
txtItem(Index).SelLength = Len(txtItem(Index))
End Sub
Private Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
EnterToTab KeyCode
End Sub
Private Sub txtItem_KeyPress(Index As Integer, KeyAscii As Integer)
If Index = 3 Then
'MsgBox KeyCode
'对键入字符进行控制
'txtQuantity(Index).Locked = False
'小数点只允许输入一次
If KeyAscii = 190 Then
If InStr(Trim(txtItem(Index)), ".") = 0 Then
If Len(Trim(txtItem(Index))) > 0 Then
txtItem(Index).Locked = False
Else
txtItem(Index).Locked = True
End If
Else
txtItem(Index).Locked = True
End If
Exit Sub
End If
'非数字不能输入
If KeyAscii > 57 Or KeyAscii < 48 Then
txtItem(Index).Locked = True
Else
txtItem(Index).Locked = False
End If
'允许Backspace
If KeyAscii = 8 Then
txtItem(Index).Locked = False
End If
'Delete键
If KeyAscii = 46 Then
txtItem(Index).Locked = False
End If
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -