📄 frmstatistic1.frm
字号:
VERSION 5.00
Begin VB.Form frmStatistic1
BorderStyle = 3 'Fixed Dialog
Caption = "运营统计"
ClientHeight = 3456
ClientLeft = 48
ClientTop = 336
ClientWidth = 3852
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3456
ScaleWidth = 3852
ShowInTaskbar = 0 'False
StartUpPosition = 1 'CenterOwner
Begin VB.Frame Frame1
Caption = "运营信息"
Height = 2655
Left = 240
TabIndex = 8
Top = 240
Width = 3375
Begin VB.TextBox txtItem
Height = 270
Index = 3
Left = 1200
MaxLength = 10
TabIndex = 5
Top = 2160
Width = 1935
End
Begin VB.TextBox txtItem
Height = 270
Index = 2
Left = 1200
MaxLength = 10
TabIndex = 4
Top = 1800
Width = 1935
End
Begin VB.TextBox txtItem
Height = 270
Index = 1
Left = 1200
MaxLength = 10
TabIndex = 3
Top = 1440
Width = 1935
End
Begin VB.TextBox txtItem
Height = 270
Index = 0
Left = 1200
MaxLength = 10
TabIndex = 2
Top = 1080
Width = 1935
End
Begin VB.ComboBox cboItem
Height = 300
Index = 1
Left = 1200
Style = 2 'Dropdown List
TabIndex = 1
Top = 720
Width = 1935
End
Begin VB.ComboBox cboItem
Height = 300
Index = 0
Left = 1200
Style = 2 'Dropdown List
TabIndex = 0
Top = 360
Width = 1935
End
Begin VB.Label Label2
Caption = "耗 油:"
Height = 255
Index = 3
Left = 240
TabIndex = 14
Top = 2160
Width = 975
End
Begin VB.Label Label2
Caption = "运行公里:"
Height = 255
Index = 2
Left = 240
TabIndex = 13
Top = 1800
Width = 975
End
Begin VB.Label Label2
Caption = "开始时间:"
Height = 255
Index = 6
Left = 240
TabIndex = 12
Top = 1080
Width = 975
End
Begin VB.Label Label2
Caption = "姓 名:"
Height = 255
Index = 0
Left = 240
TabIndex = 11
Top = 720
Width = 975
End
Begin VB.Label Label2
Caption = "车 号:"
Height = 255
Index = 1
Left = 240
TabIndex = 10
Top = 360
Width = 975
End
Begin VB.Label Label2
Caption = "结束时间:"
Height = 255
Index = 16
Left = 240
TabIndex = 9
Top = 1440
Width = 975
End
End
Begin VB.CommandButton cmdExit
Caption = "返回 (&X)"
Height = 375
Left = 2280
TabIndex = 7
Top = 3000
Width = 1215
End
Begin VB.CommandButton cmdSave
Caption = "保存 (&S)"
Height = 375
Left = 840
TabIndex = 6
Top = 3000
Width = 1215
End
End
Attribute VB_Name = "frmStatistic1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'是否改动过记录,ture为改过
Dim mblChange As Boolean
Dim mrc As ADODB.Recordset
Public txtSQL As String
Private Sub cboItem_Change(Index As Integer)
'有变化设置gblchange
mblChange = True
End Sub
Private Sub cboItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
EnterToTab KeyCode
End Sub
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
For intCount = 0 To 1
If Trim(txtItem(intCount) & " ") = "" Then
Select Case intCount
Case 0
sMeg = "开始时间"
Case 1
sMeg = "结束时间"
End Select
sMeg = sMeg & "不能为空!"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtItem(intCount).SetFocus
Exit Sub
End If
Next intCount
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
If Not IsDate(txtItem(1)) Then
MsgBox "结束时间应输入日期(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtItem(1).SetFocus
Exit Sub
Else
txtItem(1) = Format(txtItem(1), "yyyy-mm-dd")
End If
'添加判断是否有相同的ID记录
If gintsMode = 1 Then
txtSQL = "select * from statistic where yyid='" & Trim(cboItem(0)) & "' and yydriver='" & Trim(cboItem(1)) & "' and yybegin_date='" & Format(Trim(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
mrc.Close
End If
'先删除已有记录
txtSQL = "delete from statistic where yyid='" & Trim(cboItem(0)) & "' and yydriver='" & Trim(cboItem(1)) & "' and yybegin_date='" & Format(Trim(txtItem(0)), "yyyy-mm-dd") & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
'再加入新记录
txtSQL = "select * from statistic"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.AddNew
mrc.Fields(0) = Trim(cboItem(0))
mrc.Fields(1) = Trim(cboItem(1))
For intCount = 0 To 3
mrc.Fields(intCount + 2) = Trim(txtItem(intCount))
Next intCount
mrc.Update
mrc.Close
If gintsMode = 1 Then
For intCount = 0 To 3
txtItem(intCount) = ""
Next intCount
mblChange = False
ElseIf gintsMode = 2 Then
Unload Me
If flagsEdit Then
Unload frmStatistic
End If
frmStatistic.txtSQL = "select * from statistic"
frmStatistic.Show
End If
End Sub
Private Sub Form_Load()
Dim intCount As Integer
Dim MsgText As String
If gintsMode = 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(0).AddItem Trim(mrc!clid)
mrc.MoveNext
Loop
cboItem(0).ListIndex = 0
Else
MsgBox "请先建立车辆档案!", vbOKOnly + vbExclamation, "警告"
cmdSave.Enabled = False
Exit Sub
End If
mrc.Close
'初始化部门
txtSQL = "select DISTINCT sjname from driver"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not mrc.EOF Then
Do While Not mrc.EOF
cboItem(1).AddItem Trim(mrc!sjname)
mrc.MoveNext
Loop
cboItem(1).ListIndex = 0
Else
MsgBox "请先建立司机档案!", vbOKOnly + vbExclamation, "警告"
cmdSave.Enabled = False
Exit Sub
End If
ElseIf gintsMode = 2 Then
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
With mrc
For intCount = 0 To 1
cboItem(intCount).AddItem .Fields(intCount)
cboItem(intCount).ListIndex = 0
Next intCount
For intCount = 0 To 3
If Trim(.Fields(intCount + 2) & " ") <> "" Then
txtItem(intCount) = .Fields(intCount + 2)
End If
Next intCount
End With
txtItem(0).Enabled = False
End If
Me.Caption = Me.Caption & "修改"
End If
mblChange = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
gintsMode = 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 = 2 Or 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 + -