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 + -
显示快捷键?