⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmstatistic1.frm

📁 车辆管理信息系统,一个非常好的vb源码
💻 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 + -