📄 frm_addpart.frm
字号:
'在库存表中记录零配件的数量
Frm_Part_SumPrice.Show vbModal
If Frm_Part_SumPrice.Dicision = False Then Exit Sub '按取消什么都不做
Call PartInOut(CLng(intPartId), CInt(Frm_Part_SumPrice.Txt_PartSum), 1, 0)
Grid_ShowPart.TextMatrix(Grid_ShowPart.Row, 3) = CStr(CInt(Grid_ShowPart.TextMatrix(Grid_ShowPart.Row, 3)) - _
CInt(Frm_Part_SumPrice.Txt_PartSum))
'在已选Grid中显示
strLine = CStr(intPartId) & vbTab & strPartName & vbTab & strType & vbTab & Frm_Part_SumPrice.Txt_PartSum.Text & vbTab & Frm_Part_SumPrice.Txt_Price.Text
Grid_SelectedPart.AddItem strLine
Cmd_Ok.Enabled = True
End If
End Sub
Private Sub Cmd_AllPart_Click()
Call ShowParts(mRsForTitle, Grid_ShowPart, 0, 5, KcsShowExistPart)
Cmd_AddPart.Enabled = False
End Sub
Private Sub Cmd_Deduce_Click()
Dim rsNeed As Recordset
Set rsNeed = DBSGRG.OpenRecordset("库存表")
Call ShowParts(rsNeed, Grid_ShowPart, 0, 6, KcsShowDeducePart)
rsNeed.Close
End Sub
Private Sub Cmd_Exit_Click()
Me.Hide
End Sub
Private Sub Cmd_Ok_Click()
Dim boSucess As Boolean
Dim rsCarWait As Recordset
Me.Hide
Frm_Repair.Show
boSucess = WriteToTBLWait(Grid_SelectedPart, WRITEPART)
Frm_Repair.Grid_Part.Rows = 1
Set rsCarWait = DBSGRG.OpenRecordset("Select * from 待修表 Where 车牌 = '" & STRCURRENTCARNUMBER & "'", dbOpenSnapshot)
Call ReadFromTBLWait(rsCarWait, Frm_Repair.Grid_Part, "材料")
rsCarWait.Close
Frm_Repair.Txt_Sum = CStr(sngSumFee(Grid_SelectedPart) + sngSumFee(Frm_Repair.Grid_Labor))
End Sub
Private Sub Cmd_PartSearch_Click()
Dim RsSearchPart As Recordset
Dim PTRPartName As Parameter
Set PTRPartName = DBSGRG.QueryDefs("用部件名称查找库存部件").Parameters![partname]
PTRPartName = "*" & Txt_PartName.Text & "*"
Set RsSearchPart = DBSGRG.QueryDefs("用部件名称查找库存部件").OpenRecordset
If RsSearchPart.RecordCount = 0 Then
MsgBox "对不起!库中没有该部件"
Grid_ShowPart.Rows = 1
Cmd_AddPart.Enabled = False
Else
Call ShowParts(RsSearchPart, Grid_ShowPart, 0, 5, KcsShowExistPart)
End If
RsSearchPart.Close
End Sub
Private Sub Cmd_Delselected_Click()
Dim intFlag As Integer
Dim i As Integer
Dim rsTmp As Recordset
intFlag = Grid_SelectedPart.Row
Call PartInOut(CLng(Grid_SelectedPart.TextMatrix(Grid_SelectedPart.Row, 0)), _
CInt(Grid_SelectedPart.TextMatrix(Grid_SelectedPart.Row, 3)), 2, 0)
Set rsTmp = DBSGRG.OpenRecordset("库存表", dbOpenTable, dbReadOnly)
Call ShowParts(rsTmp, Grid_ShowPart, 0, 5, KcsShowExistPart) '显示库存
If Grid_SelectedPart.Row >= 1 Then
If Grid_SelectedPart.Rows > 2 Then
Grid_SelectedPart.RemoveItem (intFlag)
Else
Grid_SelectedPart.Rows = 1
Cmd_DelSelected.Enabled = False
Grid_ShowPart.SetFocus
End If
Cmd_Ok.Enabled = True
End If
End Sub
Private Sub Form_Load()
Set mRsForTitle = DBSGRG.OpenRecordset("库存表", dbOpenTable, dbReadOnly)
Dim intFieldPoint As Integer
Txt_Chepai.Text = STRCURRENTCARNUMBER
With Grid_ShowPart
.Cols = 6
.FixedCols = 0
.CellAlignment = flexAlignRightBottom
.ColWidth(0) = 500
.ColWidth(2) = 3800
.ColWidth(1) = 2000
.ColWidth(3) = 500
.ColWidth(4) = 700
.ColWidth(5) = 400
.SelectionMode = flexSelectionByRow
End With
With Grid_SelectedPart
.Cols = 6
.FixedCols = 0
.CellAlignment = flexAlignRightBottom
.ColWidth(0) = 500
.ColWidth(2) = 3800
.ColWidth(1) = 2000
.ColWidth(3) = 500
.ColWidth(4) = 700
.ColWidth(5) = 400
.SelectionMode = flexSelectionByRow
.RowSel = 1
End With
'给MSFLEXGrid控件的标题赋值
For intFieldPoint = 0 To 5
Grid_ShowPart.TextMatrix(0, intFieldPoint) = mRsForTitle.Fields(intFieldPoint).Name
Grid_SelectedPart.TextMatrix(0, intFieldPoint) = mRsForTitle.Fields(intFieldPoint).Name
Next intFieldPoint
Call ShowParts(mRsForTitle, Grid_ShowPart, 0, 5, KcsShowExistPart) '显示库存
' Grid_SelectedPart.Rows = 1
Cmd_AddPart.Enabled = False
Cmd_DelSelected.Enabled = False
Cmd_Ok.Enabled = False
'mRsForTitle.Close
Cmd_AddOther.Enabled = False
Cmd_PartSearch.Enabled = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
mRsForTitle.Close
End Sub
'在两个GRID控件中显示库存
Private Sub Grid_SelectedPart_GotFocus()
If Grid_SelectedPart.Row > 0 Then Cmd_DelSelected.Enabled = True
End Sub
Private Sub Grid_ShowPart_Click()
If Grid_ShowPart.Row > 0 Then Cmd_AddPart.Enabled = True
End Sub
Private Sub Grid_ShowPart_RowColChange()
Dim inTemp As Integer
If Grid_ShowPart.Row < 2 Then
Cmd_AddPart.Enabled = False
Else
Cmd_AddPart.Enabled = True
End If
If Grid_ShowPart.Row > 1 Then
For intTemp = 0 To 5
'grid_showpart
Next intTemp
End If
End Sub
Private Sub Txt_OtherName_Change()
ValidAddOther
End Sub
Private Sub Txt_OtherPrice_Change()
ValidAddOther
End Sub
Private Sub Txt_OtherSum_Change()
ValidAddOther
End Sub
Private Sub Txt_OtherType_Change()
ValidAddOther
End Sub
Private Sub Txt_PartName_Change()
If Len(Txt_PartName.Text) > 0 Then
Cmd_PartSearch.Enabled = True
Else
Cmd_PartSearch.Enabled = False
End If
End Sub
Function OtherWrittenAll() As Boolean
OtherWrittenAll = False
If Txt_OtherName.Text <> "" And Txt_OtherType.Text <> "" _
And Txt_OtherSum.Text <> "" And Txt_OtherPrice.Text <> "" Then
OtherWrittenAll = True
End If
End Function
Function PartInOut(PartId As Long, PartSum As Integer, Direction As Integer, PartPrice As Single) As Long
'partid: 零配件的编号=-1 未编号
'partsum:零配件的数量
'direction:=1 领货 ; =2 还货
Dim Rs_Id As Recordset
If PartId > -1 Then
Set Rs_Id = DBSGRG.OpenRecordset("Select * from " & TblWareHouse & " where ID = " & _
PartId, dbOpenDynaset)
With Rs_Id
.Edit
If Direction = 1 Then
Rs_Id.Fields("数量") = Rs_Id.Fields("数量") - PartSum
Else
Rs_Id.Fields("数量") = Rs_Id.Fields("数量") + PartSum
End If
.Update
.Close
End With
Else
Set Rs_Id = DBSGRG.OpenRecordset(TblWareHouse, dbOpenDynaset)
With Rs_Id
.MoveLast
PartInOut = .Fields("ID") + 1
.AddNew
.Fields("配件名称") = Txt_OtherName.Text
.Fields("规格") = Txt_OtherType.Text
.Fields("数量") = 0 - CInt(Txt_OtherSum.Text)
.Fields("单价") = PartPrice
.Update
.Close
End With
End If
End Function
Sub ValidAddOther()
Cmd_AddOther.Enabled = True
If Len(Txt_OtherName.Text) < 2 Then Cmd_AddOther.Enabled = False
If Len(Txt_OtherType.Text) < 2 Then Cmd_AddOther.Enabled = False
If Len(Txt_OtherSum.Text) < 1 And IsNumeric(Txt_OtherSum.Text) Then Cmd_AddOther.Enabled = False
If Len(Txt_OtherPrice.Text) < 1 And IsNumeric(Txt_OtherPrice.Text) Then Cmd_AddOther.Enabled = False
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -