ucenter.ctl

来自「<Visual Basic 数据库开发实例精粹(第二版)>一书首先介」· CTL 代码 · 共 304 行

CTL
304
字号
VERSION 5.00
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Begin VB.UserControl ucEnter 
   BackColor       =   &H80000005&
   ClientHeight    =   5400
   ClientLeft      =   0
   ClientTop       =   0
   ClientWidth     =   9075
   ScaleHeight     =   5400
   ScaleWidth      =   9075
   Begin VB.Frame fraBody 
      BackColor       =   &H80000005&
      Height          =   4665
      Left            =   285
      TabIndex        =   0
      Top             =   255
      Width           =   8310
      Begin VB.Timer Timer1 
         Interval        =   1000
         Left            =   7230
         Top             =   2490
      End
      Begin VB.TextBox txtRemark 
         Height          =   1245
         Left            =   2175
         MultiLine       =   -1  'True
         TabIndex        =   3
         Top             =   2625
         Width           =   4215
      End
      Begin VB.CommandButton CmdRecord 
         Caption         =   "确定"
         Height          =   375
         Left            =   6255
         TabIndex        =   2
         Top             =   4065
         Width           =   1110
      End
      Begin MSComCtl2.DTPicker dtpEnter 
         Height          =   405
         Left            =   2175
         TabIndex        =   1
         Top             =   1920
         Width           =   2490
         _ExtentX        =   4392
         _ExtentY        =   714
         _Version        =   393216
         CustomFormat    =   "yyyy-MM-dd hh:mm:ss"
         Format          =   169082883
         CurrentDate     =   39236
      End
      Begin VB.Label Label7 
         AutoSize        =   -1  'True
         BackStyle       =   0  'Transparent
         Caption         =   "(自动生成,只读)"
         Height          =   180
         Left            =   4860
         TabIndex        =   13
         Top             =   765
         Width           =   1620
      End
      Begin VB.Label Label6 
         AutoSize        =   -1  'True
         BackColor       =   &H80000005&
         BackStyle       =   0  'Transparent
         Caption         =   "当日序号:"
         ForeColor       =   &H00000000&
         Height          =   180
         Left            =   855
         TabIndex        =   12
         Top             =   810
         Width           =   900
      End
      Begin VB.Label labDailyID 
         BackStyle       =   0  'Transparent
         BorderStyle     =   1  'Fixed Single
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   2175
         TabIndex        =   11
         Top             =   750
         Width           =   2490
      End
      Begin VB.Label labIDVal 
         BackStyle       =   0  'Transparent
         BorderStyle     =   1  'Fixed Single
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   2175
         TabIndex        =   10
         Top             =   1320
         Width           =   2490
      End
      Begin VB.Label Label1 
         BackColor       =   &H80000005&
         BackStyle       =   0  'Transparent
         Caption         =   "编号:"
         ForeColor       =   &H00000000&
         Height          =   255
         Left            =   885
         TabIndex        =   9
         Top             =   1380
         Width           =   855
      End
      Begin VB.Label Label3 
         AutoSize        =   -1  'True
         BackStyle       =   0  'Transparent
         Caption         =   "(自动生成,只读)"
         Height          =   180
         Left            =   4890
         TabIndex        =   8
         Top             =   1335
         Width           =   1620
      End
      Begin VB.Label Label2 
         AutoSize        =   -1  'True
         BackColor       =   &H80000005&
         BackStyle       =   0  'Transparent
         Caption         =   "入场时间:"
         ForeColor       =   &H00000000&
         Height          =   180
         Left            =   885
         TabIndex        =   6
         Top             =   2025
         Width           =   900
      End
      Begin VB.Label Label5 
         BackColor       =   &H80000005&
         BackStyle       =   0  'Transparent
         Caption         =   "备注:(可选)"
         ForeColor       =   &H00000000&
         Height          =   720
         Left            =   885
         TabIndex        =   5
         Top             =   2685
         Width           =   1275
      End
      Begin VB.Label lblLogin 
         AutoSize        =   -1  'True
         BackStyle       =   0  'Transparent
         Caption         =   "车辆进场登记"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   14.25
            Charset         =   134
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H00000000&
         Height          =   315
         Index           =   0
         Left            =   3255
         TabIndex        =   4
         Top             =   285
         Width           =   1800
      End
      Begin VB.Label lblLogin 
         AutoSize        =   -1  'True
         BackStyle       =   0  'Transparent
         Caption         =   "车辆进场登记"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   14.25
            Charset         =   134
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H00808080&
         Height          =   285
         Index           =   1
         Left            =   3285
         TabIndex        =   7
         Top             =   300
         Width           =   1800
      End
   End
End
Attribute VB_Name = "ucEnter"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

'============================================
'功能:自动生成编号
'参数: nDailyID: [OUT], 返回当日下一个DailyID
'      szPkID:   [OUT], 返回当日下一个编号(ParkingNO)
'============================================
Private Sub AutoGenerateParkingNO(ByRef nDailyID As Long, _
                                  ByRef szPkID As String)
  Dim rsNext As New adodb.Recordset
  nDailyID = 1
  
  On Error Resume Next
  
  If Not DBCnn.State = adodb.adStateOpen Then
    Exit Sub
  End If
  
  Call rsNext.Open("SELECT MAX(DailyID) AS MaxPkID FROM ParkingInfo WHERE EnterTime > Date()", DBCnn, adOpenKeyset, adLockReadOnly)

  If rsNext.RecordCount <= 0 Then
    nDailyID = 1
  Else
    nDailyID = rsNext("MaxPkID") + 1
  End If

  '注意下面对Format函数的使用
  szPkID = Format(Year(Now), "0000") + Format(Month(Now), "00") + Format(Day(Now), "00") + Format(nDailyID, "0000")
   
End Sub

'============================================
'功能:添加新的车辆入场记录
'============================================
Private Sub CmdRecord_Click()
  Dim SqlStr As String
  Dim DailyID As String
  Dim Remark As String
  Dim sNow As String
  Dim szParkingNO As String
  Dim UsrID As String

  szParkingNO = Replace(Trim(labIDVal.Caption), "'", "''")
  DailyID = labDailyID.Caption
  UsrID = Replace(UserNow.ID, "'", "''")
  sNow = Format(Now, "yyyy-mm-dd hh:mm:ss")
  Remark = Replace(Trim(txtRemark.Text), "'", "''")
        
  SqlStr = "INSERT INTO ParkingInfo"
  SqlStr = SqlStr & "(ParkingNO, DailyID, EnterTime, ParkingRecID, Remark) "
  SqlStr = SqlStr & "VALUES ('" & szParkingNO & "',"
  SqlStr = SqlStr & DailyID & ","
  SqlStr = SqlStr & "#" & sNow & "#,"
  SqlStr = SqlStr & "'" & UsrID & "',"
  SqlStr = SqlStr & "'" & Remark & "');"
  DBCnn.Execute SqlStr
        
  '重新初始化新值
  Call UserControl_Initialize
    
  '记录该操作
  AddRec (1)
    
  '提示用户
  MsgBox "添加记录成功!"
  
End Sub

Private Sub Timer1_Timer()
  dtpEnter.Value = Now
End Sub

Private Sub UserControl_Hide()
  Timer1.Enabled = False
End Sub

Private Sub UserControl_Initialize()
  Dim nDailyID As Long
  Dim szPkID As String
  Call AutoGenerateParkingNO(nDailyID, szPkID)
  labDailyID.Caption = Format(nDailyID, "0000")
  labIDVal.Caption = szPkID
  dtpEnter.Value = Now
  txtRemark.Text = ""
End Sub

'============================================
'功能:响应 用户控件的Resize事件,使fraBody自动居中
'============================================
Private Sub UserControl_Resize()
  Dim nLeft, nTop As Integer
  '计算新的Left值
  nLeft = (UserControl.Width - fraBody.Width) / 2
  '只有当新的Left和Top > 0 时才移动fraBody
  fraBody.Left = IIf(nLeft > 0, nLeft, 0)
  
End Sub

Private Sub UserControl_Show()
  Timer1.Enabled = True
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?