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

📄 frmlease.frm

📁 汽车租赁管理系统,采用VB+SQL实现,包含源程序及数据库备份,完美运行,完整无缺.
💻 FRM
📖 第 1 页 / 共 2 页
字号:
  FrmLeaseAddEdit.txtContractNo = Trim(Adodc1.Recordset.Fields(0)) '合同编号
  '根据合同编号提取所有租赁信息
  If MyLease.GetInfo(Trim(Adodc1.Recordset.Fields(0))) = True Then
    FrmLeaseAddEdit.sCarNo = Trim(MyLease.CarNo)
    FrmLeaseAddEdit.sCustId = Trim(MyLease.CustId)
    FrmLeaseAddEdit.txtDeposit = MyLease.Deposit
    FrmLeaseAddEdit.txtDayPrice = MyLease.Price1
    FrmLeaseAddEdit.txtWeekEndPrice = MyLease.Price2
    FrmLeaseAddEdit.txtOKMPrice = MyLease.OPrice1
    FrmLeaseAddEdit.txtOTPrice = MyLease.OPrice2
    FrmLeaseAddEdit.txtDayKM = MyLease.DayKM
    FrmLeaseAddEdit.txtLeaseMode = Trim(MyLease.LeaseMode)
    FrmLeaseAddEdit.txtLeaseTime = Trim(MyLease.LeaseTime)
    FrmLeaseAddEdit.txtReturnTime = Trim(MyLease.ReturnTime)
    FrmLeaseAddEdit.txtOutKM = MyLease.OutKM
    FrmLeaseAddEdit.txtRate = MyLease.Rate * 10
    FrmLeaseAddEdit.txtUserName = Trim(MyLease.UserName)
    '根据租赁模式,设置字段属性
    If Trim(MyLease.LeaseMode) = "日" Then
      FrmLeaseAddEdit.txtWorkDays = MyLease.WorkDays
      FrmLeaseAddEdit.txtWeekEndCount = MyLease.WeekEndCount
      FrmLeaseAddEdit.Label13.Caption = "工作日"
      '计算总租赁金额
      FrmLeaseAddEdit.txtCost = MyLease.WorkDays * MyLease.Price1 + MyLease.WorkDays * MyLease.Price2
      FrmLeaseAddEdit.txtWeekEndCount.Enabled = True
    ElseIf Trim(MyLease.LeaseMode) = "周" Then
      FrmLeaseAddEdit.txtWorkDays = MyLease.WorkDays
      FrmLeaseAddEdit.txtWeekEndCount = 0
      FrmLeaseAddEdit.Label13.Caption = "周数"
      FrmLeaseAddEdit.Label14.Caption = "个"
      FrmLeaseAddEdit.Label19.Caption = "周末数"
      FrmLeaseAddEdit.txtCost = MyLease.WorkDays * MyLease.Price1
      FrmLeaseAddEdit.Label19.Enabled = False
      FrmLeaseAddEdit.Label20.Enabled = False
      FrmLeaseAddEdit.txtWeekEndCount.Enabled = False
    ElseIf Trim(MyLease.LeaseMode) = "月" Then
      FrmLeaseAddEdit.txtWorkDays = MyLease.WorkDays
      FrmLeaseAddEdit.txtWeekEndCount = 0
      FrmLeaseAddEdit.Label13.Caption = "月份数"
      FrmLeaseAddEdit.Label14.Caption = "个"
      FrmLeaseAddEdit.Label19.Caption = "周末数"
      FrmLeaseAddEdit.txtCost = MyLease.WorkDays * MyLease.Price1
      FrmLeaseAddEdit.Label19.Enabled = False
      FrmLeaseAddEdit.Label20.Enabled = False
      FrmLeaseAddEdit.txtWeekEndCount.Enabled = False
    End If
  End If
  '根据车牌号码提取车辆信息
  FrmLeaseAddEdit.CarRefresh
  '根据客户号提取客户信息
  FrmLeaseAddEdit.CustomerRefresh
  '修改时不能更改合同编号
  FrmLeaseAddEdit.txtContractNo.Enabled = False
  FrmLeaseAddEdit.Show 1
  GridRefresh
End Sub
'续租审核
Private Sub Cmd_ContCheck_Click()
  If Adodc1.Recordset.EOF Then
    MsgBox ("请选择记录")
    Exit Sub
  End If
  If MsgBox("是否审核确认了续租合同", vbYesNo, "请确认") = vbNo Then
    Exit Sub
  End If
  With MyLease
    .Status = "续租审核"
    .UpdateStatus (Trim(Adodc1.Recordset.Fields(0)))
  End With
  '更改车辆状态为“续租”
  Call MyCar.UpdateStatus(Trim(Adodc1.Recordset.Fields(1)), "续租")
  GridRefresh  '更改记录状态
End Sub

Private Sub Cmd_Exit_Click()
  Unload Me
End Sub

Private Sub Cmd_Modi_Click()
  If Adodc1.Recordset.EOF Then
    MsgBox ("请选择记录")
    Exit Sub
  End If
  '修改租赁信息
  FrmLeaseEdit.Modify = True
  FrmLeaseEdit.ContractNo = Trim(Adodc1.Recordset.Fields(0))
  FrmLeaseEdit.sCarNo = Trim(Adodc1.Recordset.Fields(1))
  FrmLeaseEdit.sCustId = Trim(Adodc1.Recordset.Fields(2))
  FrmLeaseEdit.txtContractNo = Trim(Adodc1.Recordset.Fields(0))
  FrmLeaseEdit.txtCarNo = Trim(Adodc1.Recordset.Fields(1))
  FrmLeaseEdit.txtCustId = Trim(Adodc1.Recordset.Fields(2))
  FrmLeaseEdit.cob_Mode.Text = Trim(Adodc1.Recordset.Fields(4))
  FrmLeaseEdit.txtLeaseTime = Trim(Adodc1.Recordset.Fields(3))
  FrmLeaseEdit.txtReturnTime = Trim(Adodc1.Recordset.Fields(5))
  '提取租赁信息
  If MyLease.GetInfo(Trim(Adodc1.Recordset.Fields(0))) = True Then
    FrmLeaseEdit.txtWorkDays.Enabled = True
    FrmLeaseEdit.Label13.Enabled = True
    FrmLeaseEdit.Label14.Enabled = True
    '根据租赁模式计算租赁费用
    If Trim(MyLease.LeaseMode) = "日" Then
      FrmLeaseEdit.txtWorkDays = MyLease.WorkDays
      FrmLeaseEdit.txtWeekEndCount = MyLease.WeekEndCount
      '根据租赁模式设置某些字段不可见
      FrmLeaseEdit.txtWeekEndCount.Enabled = True
      FrmLeaseEdit.Label13.Caption = "工作日"
      FrmLeaseEdit.Label19.Enabled = True
      FrmLeaseEdit.Label20.Enabled = True
    ElseIf Trim(MyLease.LeaseMode) = "周" Then
      FrmLeaseEdit.txtWorkDays = MyLease.WorkDays
      FrmLeaseEdit.txtWeekEndCount = 0
      FrmLeaseEdit.txtWeekEndCount.Enabled = False
      FrmLeaseEdit.Label13.Caption = "周数"
      FrmLeaseEdit.Label19.Enabled = False
      FrmLeaseEdit.Label20.Enabled = False
    ElseIf Trim(MyLease.LeaseMode) = "月" Then
      FrmLeaseEdit.txtWorkDays = MyLease.WorkDays
      FrmLeaseEdit.txtWeekEndCount = 0
      FrmLeaseEdit.txtWeekEndCount.Enabled = False
      FrmLeaseEdit.Label13.Caption = "月份数"
      FrmLeaseEdit.Label19.Enabled = False
      FrmLeaseEdit.Label20.Enabled = False
    End If
    FrmLeaseEdit.txtOutKM = MyLease.OutKM
    FrmLeaseEdit.txtCost = MyLease.Total
    FrmLeaseEdit.txtUserName = Trim(MyLease.UserName)
  End If
  
  FrmLeaseEdit.CarRefresh
  FrmLeaseEdit.CarPriceRefresh
  FrmLeaseEdit.CustomerRefresh

  FrmLeaseEdit.Show 1
  GridRefresh
End Sub

Private Sub Cmd_Check_Click()
  '审核后合同成立,不能修改和删除
  '更新合同状态为出租审核
  If Adodc1.Recordset.EOF = True Then
    MsgBox "请选择记录"
    Exit Sub
  End If
  If MsgBox("是否审核确认了租赁合同", vbYesNo, "请确认") = vbNo Then
    Exit Sub
  End If
  MyLease.Status = "出租审核"
  MyLease.UpdateStatus (Adodc1.Recordset.Fields(0))
  '更改车辆状态为“出租”
  Call MyCar.UpdateStatus(Trim(Adodc1.Recordset.Fields(1)), "出租")
  GridRefresh
End Sub

Private Sub Cmd_Del_Click()
  If Adodc1.Recordset.EOF = True Then
    MsgBox "请选择记录"
    Exit Sub
  End If
  If MsgBox("是否确定要删除租赁信息", vbYesNo, "请确认") = vbNo Then
    Exit Sub
  End If
  MyLease.Delete (Adodc1.Recordset.Fields(0))
  GridRefresh
End Sub

Private Sub cob_Status_Click()
  GridRefresh
End Sub

'根据记录的当前状态指定操作按钮的可用性
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
  If Trim(Adodc1.Recordset.Fields(6)) = "出租" Then
    Cmd_Modi.Enabled = True
    Cmd_Del.Enabled = True
    Cmd_Check.Enabled = True
    Cmd_Cont.Enabled = False
    Cmd_ContCheck.Enabled = False
  ElseIf Trim(Adodc1.Recordset.Fields(6)) = "出租审核" Then
    Cmd_Modi.Enabled = False
    Cmd_Del.Enabled = False
    Cmd_Check.Enabled = False
    Cmd_Cont.Enabled = True
    Cmd_ContCheck.Enabled = False
  ElseIf Trim(Adodc1.Recordset.Fields(6)) = "续租" Then  '续租修改也是使用这个按钮
    Cmd_Modi.Enabled = False
    Cmd_Del.Enabled = False
    Cmd_Check.Enabled = False
    Cmd_Cont.Enabled = True
    Cmd_ContCheck.Enabled = True
  ElseIf Trim(Adodc1.Recordset.Fields(6)) = "续租审核" Then
    Cmd_Modi.Enabled = False
    Cmd_Del.Enabled = False
    Cmd_Check.Enabled = False
    Cmd_Cont.Enabled = False
    Cmd_ContCheck.Enabled = False
  End If
End Sub

Private Sub Form_Load()
  GridRefresh   '刷新数据
  '加载状态名称
  cob_Status.AddItem "出租", 0
  cob_Status.AddItem "出租审核", 1
  cob_Status.AddItem "续租", 2
  cob_Status.AddItem "续租审核", 3
  
  '设置部分按钮不可用
  Cmd_Modi.Enabled = False      '修改
  Cmd_Del.Enabled = False       '删除
  Cmd_Check.Enabled = False     '租赁审核
  Cmd_Cont.Enabled = False      '续租
  Cmd_ContCheck.Enabled = False '续租审核
End Sub
Private Sub GridRefresh()
  '按照选择的租赁状态查找记录
  If Trim(cob_Status.Text) = "" Or Trim(cob_Status.Text) = "全部" Then
    SchCnd = ""
  Else
    SchCnd = " AND Status='" + Trim(cob_Status.Text) + "'"
  End If
  Adodc1.ConnectionString = conn  '设置连接字符串
  Adodc1.RecordSource = "SELECT ContractNo AS 合同编号,CarNo AS 车牌号," _
    + "CustId AS 客户号,LeaseTime AS 租赁时间,LeaseMode AS 租赁模式, " _
    + "ReturnTime AS 归还时间,Status AS 状态," _
    + "CASE Status WHEN '日' THEN Price1*WorkDays+Price2*WeekEndCount ELSE Price1*WorkDays END AS 租车费用," _
    + "OtherCost AS 其他费用,Payment AS 实际支付,Deposit AS 押金,Total AS 总额 " _
    + " FROM Lease WHERE Status NOT IN ('归还','结算审核') " + SchCnd _
    + " ORDER BY ReturnTime DESC,LeaseTime DESC"
  Adodc1.Refresh
  Set DataGrid1.DataSource = Adodc1   '设置数据源
  DataGrid1.Columns(0).Width = 1000   '表格列宽度设置
  DataGrid1.Columns(1).Width = 1000
  DataGrid1.Columns(2).Width = 1000
  DataGrid1.Columns(3).Width = 1800
  DataGrid1.Columns(4).Width = 1000
  DataGrid1.Columns(5).Width = 1800
  DataGrid1.Columns(6).Width = 1000
  DataGrid1.Columns(7).Width = 1000
  DataGrid1.Columns(8).Width = 1000
  DataGrid1.Columns(9).Width = 1000
  DataGrid1.Columns(10).Width = 1000
  DataGrid1.Columns(11).Width = 1000
End Sub

⌨️ 快捷键说明

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