frm_rpair.frm

来自「汽修厂管理软件」· FRM 代码 · 共 1,041 行 · 第 1/3 页

FRM
1,041
字号
  
   If mRsCarRecord.RecordCount = 0 And Len(Comb_Car.Text) > 5 Then
   '来车在库中没有记录,是第一次来厂
    MsgBox "该车第一次来厂请记录该车基本情况"
    frm_CarRecord.Txt_InDate = Date
   For Each objLoop In frm_CarRecord
   If TypeName(objLoop) = "TextBox" Or TypeName(objLoop) = "ComboBox" Then
    objLoop.Text = "未填"
   End If
   frm_CarRecord.Enabled = True
 Next objLoop
 frm_CarRecord.Txt_Chepai = STRCURRENTCARNUMBER
 frm_CarRecord.Txt_InDate = CStr(Date)

   End If
 frm_CarRecord.Show
 frm_CarRecord.Cmd_In.Enabled = True
End Sub

Private Sub Cmd_Delete_Click()
 Dim rsDel As Recordset
 
 Set rsDel = DBSGRG.OpenRecordset("Select * from " & TblWait & " where 车牌 = '" & STRCURRENTCARNUMBER & "'", dbOpenDynaset)
 If rsDel.RecordCount = 0 Then
  rsDel.Close
  MsgBox "您还没有为该车作入厂登记", vbCritical, STRGARAGE
  Exit Sub
 End If
 rsDel.Delete
 rsDel.Close
 Comb_Car.RemoveItem (Comb_Car.ListIndex)
 If Comb_Car.ListCount > 0 Then
   Comb_Car.ListIndex = 0
  Else
   Txt_InDate.Text = ""
   Txt_CarParameter.Text = ""
   Grid_Part.Rows = 1
   Grid_Labor.Rows = 1
   Txt_Sum.Text = ""
   Cmd_Delete.Enabled = False
   CMd_PrintGujia.Enabled = False
   Cmd_Finished.Enabled = False
   Cmd_Begin.Enabled = False
 End If
End Sub

Private Sub Cmd_Exit_Click()

DBSGRG.Close
WKSGRG.Close
Frm_Login.Txt_Name.Text = ""
Frm_Login.Txt_PWD.Text = ""
Unload Me

frm_main.Show
End Sub

Private Sub Cmd_Finished_Click()
Dim rsFixRecord As Recordset '用于打开维修记录表
Dim rsFixWait As Recordset '用于打开待修表
Dim CurMaoLi As Currency '毛利
Dim curDiff As Currency
Dim strCurCarNum As String
Dim intCarSumInGarage As Integer
Frm_Part_SumPrice.lbl_Title = "出厂结算"
Frm_Part_SumPrice.Label4.Caption = "元"
Frm_Part_SumPrice.Lbl_Sum.Caption = "应收"
Frm_Part_SumPrice.lbl_SinglePrice.Caption = "实收"
Frm_Part_SumPrice.Txt_PartSum.Locked = True
Frm_Part_SumPrice.Txt_PartSum.Text = Txt_Sum.Text
Frm_Part_SumPrice.Txt_Price.Text = Txt_Sum.Text
Frm_Part_SumPrice.Txt_Price.SelStart = 0
Frm_Part_SumPrice.Txt_Price.SelLength = Len(Frm_Part_SumPrice.Txt_Price.Text)
Frm_Part_SumPrice.Lbl_Way.Visible = True
Frm_Part_SumPrice.Comb_way.Visible = True
Frm_Part_SumPrice.Show vbModal
If Frm_Part_SumPrice.Dicision = False Then Exit Sub '按取消什么都不做

Frm_Part_SumPrice.Lbl_Way.Visible = False
Frm_Part_SumPrice.Comb_way.Visible = False

 Set pmCarNum = DBSGRG.QueryDefs("用车牌查找车记录").Parameters![carnum]
         pmCarNum = STRCURRENTCARNUMBER
    Set rsCarRecord = DBSGRG.QueryDefs("用车牌查找车记录").OpenRecordset
        Set rsFixWait = DBSGRG.OpenRecordset("Select * from " & TblWait & " where 车牌 = '" & STRCURRENTCARNUMBER & "'", dbOpenDynaset)
  intCarSumInGarage = rsFixWait.RecordCount
 If rsFixWait.RecordCount = 0 Then
  rsFixWait.Close
  MsgBox "您还没有为该车作入厂登记", vbCritical, STRGARAGE
  Exit Sub
End If
 curDiff = 0
 If Grid_Part.Rows > 1 Then
    For i = 1 To Grid_Part.Rows - 1
    'Set rsCard = dbMeiRong.OpenRecordset("select * from 次卡消费表 where ID =  " & CLng(Grid_Resumed.TextMatrix(Grid_Resumed.Row, 0)) _
                       , dbOpenDynaset)
                       
     Set rsFixRecord = DBSGRG.OpenRecordset("select 成本 from 库存表 where ID =  " & CLng(Grid_Part.TextMatrix(i, 0)) _
                       , dbOpenDynaset, dbReadOnly)
     curDiff = curDiff + rsFixRecord.Fields("成本") * CCur(Grid_Part.TextMatrix(i, 3))
     rsFixRecord.Close
    Next i
   
 End If
    CurMaoLi = CCur(Txt_Sum.Text) - curDiff
    Set rsFixRecord = DBSGRG.OpenRecordset(TblFixRecord, dbOpenDynaset)
    With rsFixRecord
     .AddNew
     .Fields("车牌") = Comb_Car.Text & ""
     .Fields("进厂日期时间") = rsFixWait.Fields("送修日期")
     .Fields("出厂日期时间") = Date
     .Fields("人工") = rsFixWait.Fields("人工")
     .Fields("材料") = rsFixWait.Fields("材料")
     .Fields("应收") = CSng(Txt_Sum.Text)
     .Fields("实收") = CSng(Frm_Part_SumPrice.Txt_Price.Text)
     .Fields("接车员") = Txt_JieCheYuan.Text
     .Fields("毛利") = CurMaoLi
     .Fields("状态") = Comb_ZhuangTai.Text
     .Update
     .MoveLast
    End With
     'Call PrintJieSuan(Frm_Repair.Grid_Part, Frm_Repair.Grid_Labor, 0, 0, 200, 80, STRGRGINFO, CSng(Frm_Part_SumPrice.Txt_Price.Text), rsCarRecord.Fields("联系人"), rsFixWait.Fields("送修日期"), rsFixRecord.Fields("ID"))
    '删除comb_car中的 该车牌号
     strCurCarNum = Comb_Car.Text
        Comb_Car.Refresh
        If Comb_Car.ListCount > 0 Then
            For i = 0 To Comb_Car.ListCount - 1
            If Comb_Car.List(i) = rsFixWait.Fields("车牌") Then Comb_Car.RemoveItem i
            Next i
            Else
            
      
        End If
       
        If Comb_Car.ListCount = 0 Then RepairClear
    rsFixWait.Delete
    rsFixWait.Close
    
    If Frm_Repair.Comb_Car.ListCount > 0 Then
       Frm_Repair.Comb_Car.ListIndex = 0
    End If
   Frm_Part_SumPrice.lbl_Title.Caption = ""
    Set rsFixWait = DBSGRG.OpenRecordset("财务登记表", dbOpenTable, dbAppendOnly)
     With rsFixWait
      .AddNew
      .Fields("日期") = Date
      .Fields("出入帐") = "收入"
      .Fields("标的金额") = CCur(Frm_Part_SumPrice.Txt_PartSum.Text)
      .Fields("实际金额") = CCur(Frm_Part_SumPrice.Txt_Price.Text)
      .Fields("交易方式") = Frm_Part_SumPrice.Comb_way.Text
      .Fields("活动原因") = "维修" & strCurCarNum & "(维修ID:" & CStr(rsFixRecord.Fields("ID")) & ")所得收入"
      .Fields("经手人") = WKSGRG.UserName
      .Fields("批准人") = WKSGRG.UserName
      .Fields("毛利") = CurMaoLi
      .Fields("对方") = rsCarRecord.Fields("客户名称")
      .Fields("账目种类") = "汽车维修"
      .Update
      .Close
     End With
     
       rsCarRecord.Close
        
    If intCarSumInGarage = 1 Then
   Cmd_AddPart.Enabled = False
  Cmd_Labor.Enabled = False
  CMd_PrintGujia.Enabled = False
  Cmd_Begin.Enabled = False
  Cmd_Finished.Enabled = False
  Cmd_Delete.Enabled = False
  Txt_CarParameter.Text = ""
  txt_Custom.Text = ""
  End If
      
End Sub

Private Sub CMd_PrintGujia_Click()

Call PrintGujia(Grid_Part, Grid_Labor, 0, 0, 200, 80) '0,0,200,80
'DPGujia.Show
End Sub

Private Sub Comb_Car_Change()
Dim rsInWait As Recordset
 Set rsInWait = DBSGRG.OpenRecordset("Select * from 待修表 Where 车牌 = '" & Comb_Car.Text & "'", dbOpenSnapshot)
 If rsInWait.RecordCount = 1 Then
  Cmd_AddPart.Enabled = True
  Cmd_Labor.Enabled = True
  CMd_PrintGujia.Enabled = True
  Cmd_Begin.Enabled = True
  Cmd_Finished.Enabled = True
  Cmd_Delete.Enabled = True
  Else
  Cmd_AddPart.Enabled = False
  Cmd_Labor.Enabled = False
  CMd_PrintGujia.Enabled = False
  Cmd_Begin.Enabled = False
  Cmd_Finished.Enabled = False
  Cmd_Delete.Enabled = fasle
 End If
 

End Sub

Private Sub Comb_Car_click()
Dim pmCarNum As Parameter
Dim rsCarRecord As Recordset
Dim rsCarWait As Recordset
 STRCURRENTCARNUMBER = Comb_Car.Text
 
 Set rsCarRecord = DBSGRG.OpenRecordset("Select * from 待修表 Where 车牌 = '" & Comb_Car.Text & "'", dbOpenSnapshot)
  If rsCarRecord.RecordCount = 0 Then Exit Sub
Set pmCarNum = DBSGRG.QueryDefs("用车牌查找车记录").Parameters![carnum]
pmCarNum = STRCURRENTCARNUMBER
Set rsCarRecord = DBSGRG.QueryDefs("用车牌查找车记录").OpenRecordset
  
   If rsCarRecord.RecordCount = 0 Then
   
     '来车在库中没有记录,是第一次来厂
    If Comb_Car.Text = "" Then
    Else
      MsgBox "该车第一次来厂请记录该车基本情况"
      frm_CarRecord.Show
    End If
   Else
    Call ShowSetup(rsCarRecord)
    STRCURRENTCARNUMBER = Comb_Car.Text
    Set rsCarWait = DBSGRG.OpenRecordset("Select 人工 ,材料,状态 from 待修表 Where 车牌 = '" & STRCURRENTCARNUMBER & "'", dbOpenSnapshot)
    Comb_ZhuangTai.Text = rsCarWait.Fields("状态")
    If ReadFromTBLWait(rsCarWait, Grid_Part, "材料") = False Then Grid_Part.Rows = 1
    If ReadFromTBLWait(rsCarWait, Grid_Labor, "人工") = False Then Grid_Labor.Rows = 1
    rsCarWait.Close
     Txt_Sum.Text = CStr(sngSumFee(Grid_Part) + sngSumFee(Grid_Labor))
 End If
 rsCarRecord.Close
 Cmd_AddPart.Enabled = True
 Cmd_Labor.Enabled = True
End Sub



Private Sub Cmd_Labor_Click()
Dim rsWait As Recordset
Dim mRs As Recordset
Me.Hide
 STRCURRENTCARNUMBER = Comb_Car.Text
 Set rsWait = DBSGRG.OpenRecordset("Select * from 待修表 Where 车牌 = '" & STRCURRENTCARNUMBER & "'", dbOpenSnapshot)
If rsWait.RecordCount = 0 Then
  If MsgBox("您还没有为" & STRCURRENTCARNUMBER & "做入厂登记,是否入厂估价?", vbYesNo, STRGARAGE) = vbYes Then
   Set mRs = DBSGRG.OpenRecordset("待修表", dbOpenTable, dbAppendOnly) '将它借用于carRecord
     With mRs
      .AddNew
      !车牌 = Comb_Car.Text
      !状态 = "估价"
      !送修日期 = Date
      !接车员 = Frm_Login.Txt_Name.Text
      .Update
     End With
    mRs.Close
    Grid_Part.Rows = 1
    Grid_Labor.Rows = 1
  Else
    Exit Sub
  
  End If
End If

 Call ReadFromTBLWait(rsWait, Frm_AddLabor.Grid_SelectedLabor, "人工")
rsWait.Close
Frm_AddLabor.Show

End Sub




Private Sub Comb_Car_KeyPress(KeyAscii As Integer)
Comb_Car.Text = UCase(Comb_Car.Text)
Comb_Car.SelStart = Len(Comb_Car.Text)

End Sub

Private Sub Form_Load()


Dim intFieldPoint As Integer
Dim boSucess As Boolean


On Error GoTo ErrHandle
Frm_Login.Caption = "汽车维修"
Frm_Login.Txt_Name.Text = ""
Frm_Login.Txt_PWD.Text = ""
Frm_Login.Show vbModal
If strOkorEsc = "确定" Then
    Set WKSGRG = DBEngine.CreateWorkspace("wrkRepair", Frm_Login.Txt_Name.Text, Frm_Login.Txt_PWD.Text, dbUseJet)
    Set DBSGRG = WKSGRG.OpenDatabase(DBPATH, False, False)
    
    Grid_Part.Rows = 1
    Grid_Labor.Rows = 1
    Set mRsRepairing = DBSGRG.OpenRecordset("库存表", dbOpenSnapshot)
     'Set mRsRepairing = dbsgrg.OpenRecordset("Select * from " & TblWait & " where 车牌 = '" & STRCURRENTCARNUMBER & "'", dbOpenDynaset)
     
     
    '对两个grid控件的col宽度设定合适的比例
    With Grid_Part
         .Cols = 6
         .FixedCols = 0
         .CellAlignment = flexAlignRightBottom
         .ColWidth(0) = 400
         .ColWidth(2) = 2000
         .ColWidth(1) = 1000
         .ColWidth(3) = 500
         .ColWidth(4) = 700
         .ColWidth(5) = 400
         .SelectionMode = flexSelectionByRow
    End With
    For intFieldPoint = 0 To 5
       Grid_Part.TextMatrix(0, intFieldPoint) = mRsRepairing.Fields(intFieldPoint).Name
     Next intFieldPoint
    mRsRepairing.Close
    
    Set mRsRepairing = DBSGRG.OpenRecordset("人工价格表", dbOpenSnapshot)
     
     
    
    With Grid_Labor
         .Cols = 7
         .FixedCols = 0
         .CellAlignment = flexAlignRightBottom
         .ColWidth(0) = 1000
         .ColWidth(2) = 600
         .ColWidth(1) = 1000
         .ColWidth(3) = 1000
         .ColWidth(4) = 800
         .ColWidth(5) = 1000
         .ColWidth(6) = 1000
         .SelectionMode = flexSelectionByRow
         
    End With
    For intFieldPoint = 1 To 7
       Grid_Labor.TextMatrix(0, intFieldPoint - 1) = mRsRepairing.Fields(intFieldPoint).Name
    Next intFieldPoint
    mRsRepairing.Close
    Set mRsRepairing = DBSGRG.OpenRecordset(TblWait, dbOpenSnapshot)
    '加载车牌下拉框
    Comb_Car.Clear
      Do Until mRsRepairing.EOF

⌨️ 快捷键说明

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