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

📄 frm_addpart.frm

📁 汽修厂管理软件
💻 FRM
📖 第 1 页 / 共 2 页
字号:
'在库存表中记录零配件的数量

  
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 + -