sales_form.frm

来自「很好一套库存管理」· FRM 代码 · 共 1,955 行 · 第 1/5 页

FRM
1,955 行
字号
SNAME = "SAVED"
FNAME = Clear







DoEvents
rs_cur_invoice_item.Requery
rs_cur_record_count.Requery




Dim rs_update_it_master As New ADODB.Recordset
Dim rs_aps As New ADODB.Recordset

If rs_cur_record_count.Fields(0).Value > 0 Then
    
    
    
    
    TOTAL_TRAN_AMT = TOTAL_AMT("SALES")
    
    While rs_cur_invoice_item.EOF <> True
        Dim rs_profit As New ADODB.Recordset
        rs_profit.Open "select price_per_unit from Purchase_master where Invoice_no='" & rs_cur_invoice_item.Fields(6).Value & "' AND Party_name='" & rs_cur_invoice_item.Fields(5).Value & "' AND Item_type='" & rs_cur_invoice_item.Fields(4).Value & "' AND Item_name='" & rs_cur_invoice_item.Fields(0).Value & "'", db, adOpenDynamic, adLockOptimistic
        Dim AC_VAL As Double
        AC_VAL = rs_profit.Fields(0).Value * rs_cur_invoice_item.Fields(1).Value
        Dim SAL_VAL As Double
        SAL_VAL = rs_cur_invoice_item.Fields(2).Value * rs_cur_invoice_item.Fields(1).Value
        Dim PROFIT As Double
        PROFIT = VAL(SAL_VAL) - VAL(AC_VAL)
        
        Dim R As New ADODB.Recordset
        R.Open "SELECT * FROM DATE_PROFIT", db, adOpenDynamic, adLockOptimistic
        R.AddNew
        R.Fields(0).Value = DTPicker1.Value
        R.Fields(1).Value = PROFIT
        R.Fields(2).Value = Text1(0).Text
        R.Update
        R.Close
        
        rs_cur_invoice_item.MoveNext
        rs_profit.Close
    Wend
    
    
    rs_cur_record_count.Requery
    rs_cur_invoice_item.Requery
    
    
    
    
    RS_SALES_INVOICE_DESC.AddNew
    RS_SALES_INVOICE_DESC.Fields(0).Value = Text1(0).Text
    RS_SALES_INVOICE_DESC.Fields(1).Value = Text2.Text
    RS_SALES_INVOICE_DESC.Update

    
    While rs_cur_invoice_item.EOF <> True
        rs_update_it_master.Open "select * from Item_master where Item_name='" & rs_cur_invoice_item.Fields(0).Value & "' AND Itemtype='" & rs_cur_invoice_item.Fields(4).Value & "'", db, adOpenDynamic, adLockOptimistic
        rs_aps.Open "select * from AVAILABLE_PURCHASED_STOCK where Party_name='" & rs_cur_invoice_item.Fields(5).Value & "' AND Item_type='" & rs_cur_invoice_item.Fields(4).Value & "' AND Item_name='" & rs_cur_invoice_item.Fields(0).Value & "' AND Invoice_no='" & rs_cur_invoice_item.Fields(6).Value & "'", db, adOpenDynamic, adLockOptimistic
        rs_sales_master.AddNew
        rs_sales_master.Fields(0).Value = Text1(0).Text
        rs_sales_master.Fields(1).Value = Text1(4).Text
        rs_sales_master.Fields(2).Value = Combo1.Text
        rs_sales_master.Fields(3).Value = DTPicker1.Value
        rs_sales_master.Fields(4).Value = rs_cur_invoice_item.Fields(4).Value
        rs_sales_master.Fields(5).Value = rs_cur_invoice_item.Fields(0).Value
        rs_sales_master.Fields(6).Value = rs_cur_invoice_item.Fields(1).Value
        rs_sales_master.Fields(7).Value = rs_cur_invoice_item.Fields(2).Value
        rs_sales_master.Fields(8).Value = rs_cur_invoice_item.Fields(6).Value
        rs_sales_master.Fields(9).Value = rs_cur_invoice_item.Fields(5).Value
        rs_sales_master.Fields(10).Value = rs_cur_invoice_item.Fields(7).Value
        rs_sales_master.Fields(11).Value = rs_cur_invoice_item.Fields(8).Value
        
        rs_update_it_master.Fields(3).Value = VAL(rs_update_it_master.Fields(3).Value) - VAL(rs_cur_invoice_item.Fields(1).Value)
        rs_update_it_master.Update
        rs_update_it_master.Close
        ''' CHANGE
        rs_aps.Fields(5).Value = VAL(rs_aps.Fields(5).Value) - VAL(rs_cur_invoice_item.Fields(1).Value)
        rs_aps.Fields(7).Value = VAL(rs_aps.Fields(5).Value) * VAL(rs_aps.Fields(6).Value)
        rs_aps.Update
        If rs_aps.Fields(5).Value = 0 Then
            rs_aps.Delete
        End If
        
        rs_aps.Close
        rs_cur_invoice_item.MoveNext
    Wend
    
    rs_sales_master.Update
    
    If SALE_TYPE = "SYSTEM" Then
    Dim UPDATE_SYS_REPORT As New ADODB.Recordset
    Dim sysnors As New ADODB.Recordset
    UPDATE_SYS_REPORT.Open "SELECT * FROM Customer_System_datail", db, adOpenDynamic, adLockOptimistic
    
    
    
    
    sysnors.Open "SELECT * FROM INVOICE_NUMBER_SYSTEM_ID WHERE INVOICE_NUMBER='" & Text1(0).Text & "'", db, adOpenDynamic, adLockOptimistic

    
    
    
    While sysnors.EOF <> True
        UPDATE_SYS_REPORT.AddNew
        rs_cur_invoice_item.Requery
        rs_cur_invoice_item.MoveFirst
        UPDATE_SYS_REPORT.Fields(0).Value = sysnors.Fields(0).Value
    
    While rs_cur_invoice_item.EOF <> True
    
    If rs_cur_invoice_item.Fields(4).Value = "Processor" Then
            UPDATE_SYS_REPORT.Fields(1).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "MotherBoard" Then
            UPDATE_SYS_REPORT.Fields(2).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Harddisk" Then
            UPDATE_SYS_REPORT.Fields(3).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Floppydisk" Then
            UPDATE_SYS_REPORT.Fields(4).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "RAM" Then
            UPDATE_SYS_REPORT.Fields(5).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "CD ROM" Then
            UPDATE_SYS_REPORT.Fields(6).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Speaker" Then
            UPDATE_SYS_REPORT.Fields(7).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Mouse" Then
            UPDATE_SYS_REPORT.Fields(8).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Keyboard" Then
            UPDATE_SYS_REPORT.Fields(9).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Printer" Then
            UPDATE_SYS_REPORT.Fields(10).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Scaner" Then
            UPDATE_SYS_REPORT.Fields(11).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "SoundCard" Then
            UPDATE_SYS_REPORT.Fields(12).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "CD WRITER" Then
            UPDATE_SYS_REPORT.Fields(13).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Modem" Then
            UPDATE_SYS_REPORT.Fields(14).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Monitor" Then
            UPDATE_SYS_REPORT.Fields(15).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Web-Cam" Then
            UPDATE_SYS_REPORT.Fields(16).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "Stebilizer" Then
            UPDATE_SYS_REPORT.Fields(17).Value = rs_cur_invoice_item.Fields(0).Value
    ElseIf rs_cur_invoice_item.Fields(4).Value = "ZIP Drive" Then
            UPDATE_SYS_REPORT.Fields(18).Value = rs_cur_invoice_item.Fields(0).Value
    End If
    
    
        
    rs_cur_invoice_item.MoveNext
    
    Wend
    
    UPDATE_SYS_REPORT.Update
    sysnors.MoveNext
    
    Wend
    rs_cur_invoice_item.Requery
    
    While rs_cur_invoice_item.EOF <> True
        rs_cur_invoice_item.Delete
        rs_cur_invoice_item.MoveNext
    Wend
    SALE_TYPE = Clear
    FRM_AMT_PAID_NOT_PAID.Label3(5).Caption = "Sales"
    FRM_AMT_PAID_NOT_PAID.Label3(2).Caption = Text1(0).Text
    FRM_AMT_PAID_NOT_PAID.Label3(0).Caption = Combo1.Text
    FRM_AMT_PAID_NOT_PAID.dt = Format(DTPicker1.Value, "dd-MMM-yyyy")
    FRM_AMT_PAID_NOT_PAID.Label2(2).Caption = TOTAL_TRAN_AMT
    Unload Me
       ' Dim f As New FileSystemObject
       ' f.CopyFile App.Path & "\Master_Database.mdb", App.Path & "\data\" & cur_company_name & "\Master_Database.mdb", True

    
    FRM_AMT_PAID_NOT_PAID.Show vbModal
    
    Exit Sub
    End If


    
    rs_cur_invoice_item.Requery
    
    While rs_cur_invoice_item.EOF <> True
        rs_cur_invoice_item.Delete
        rs_cur_invoice_item.MoveNext
    Wend
    
    
    With Form1.salesbill
            .DataFiles(0) = App.Path & "\Master_Database.mdb"
            .ReportFileName = App.Path & "\Report\sales_bill.rpt"
            .SelectionFormula = "{Sales_master.Invoice_no} = '" & Text1(0).Text & "'"
            .username = "Admin"
            .Password = "1010101010" & Chr(10) & "1010101010"
            .Action = 1
    End With
    
    FRM_AMT_PAID_NOT_PAID.Label3(5).Caption = "Sales"
    FRM_AMT_PAID_NOT_PAID.Label3(2).Caption = Text1(0).Text
    FRM_AMT_PAID_NOT_PAID.Label3(0).Caption = Combo1.Text
    FRM_AMT_PAID_NOT_PAID.dt = Format(DTPicker1.Value, "dd-MMM-yyyy")
    Unload Me
    
    FRM_AMT_PAID_NOT_PAID.Label2(2).Caption = TOTAL_TRAN_AMT
    FRM_AMT_PAID_NOT_PAID.Show vbModal
    
    
    
    
Else
    MsgBox "There is no item in the bill, you can not save it ...", vbCritical, "No item Found ..."
    
End If


End Sub



Private Sub cmd_op_Click(Index As Integer)

If Index = 0 Then
cmd.Enabled = False
DataGrid2.Enabled = False

If SALE_TYPE <> "SYSTEM" Then
If Combo1.Enabled <> False Then
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
Else
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"



End If

Else
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
End If


    Status = True
    cmd.Enabled = False
    
    Call OP_STATUS(False)
    ENABLE_DISABLE (True)
    rs_cur_invoice_item.AddNew
    clear_box
    Combo5.Enabled = False
    Text1(2).Enabled = False
    
ElseIf Index = 1 Then
    
        If SALE_TYPE = "SYSTEM" Then
            Dim CHECK_ITEM_NAME As New ADODB.Recordset
            CHECK_ITEM_NAME.Open "SELECT * from SYS_CURRENT_SALES_ITEMS", db, adOpenDynamic, adLockOptimistic
            While CHECK_ITEM_NAME.EOF <> True
                
                If CHECK_ITEM_NAME.Fields(4).Value = Combo3.Text Then
                        If CHECK_ITEM_NAME.Fields(0).Value <> Combo2.Text Then
                                MsgBox "All System must have same " & Combo3.Text & "...", vbCritical, "Item name must be same ..."
                                Exit Sub
                        End If
                End If
            
                CHECK_ITEM_NAME.MoveNext
            
            Wend
            
        End If
        
    
    
        If VAL(Combo5.Text) <> 0 And VAL(Text1(2).Text) <> 0 Then
                Text1(3).Text = VAL(Combo5.Text) * VAL(Text1(2).Text)
        End If

    Status = False
    If Len(Combo3.Text) > 0 And Len(Combo2.Text) > 0 And VAL(Text1(5).Text) > 0 And VAL(Combo5.Text) > 0 And VAL(Text1(2).Text) > 0 Then
    rs_cur_invoice_item.Fields(0).Value = Combo2.Text
    rs_cur_invoice_item.Fields(1).Value = Combo5.Text
    rs_cur_invoice_item.Fields(2).Value = Text1(2).Text
    rs_cur_invoice_item.Fields(3).Value = Text1(3).Text
    rs_cur_invoice_item.Fields(4).Value = Combo3.Text
    rs_cur_invoice_item.Fields(5).Value = Combo4.Text
    rs_cur_invoice_item.Fields(6).Value = INVOICE_NUMBER
    rs_cur_invoice_item.Fields(7).Value = Format(DTPicker1.Value, "DD-MMM-YYYY")
    rs_cur_invoice_item.Fields(8).Value = VAL(Text1(6).Text)
    
    On Error GoTo updateerr:
    rs_cur_invoice_item.Update
    rs_cur_invoice_item.UpdateBatch
    cmd.Enabled = True
    Set DataGrid2.DataSource = Nothing
    rs_cur_invoice_item.Requery
    Set DataGrid2.DataSource = rs_cur_invoice_item
    DataGrid2.Enabled = True
    ENABLE_DISABLE (False)
    OP_STATUS (True)
If SALE_TYPE <> "SYSTEM" Then
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
Else
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
End If

    cmd.Enabled = True
    Exit Sub
updateerr:
        rs_cur_invoice_item.CancelBatch
        rs_cur_invoice_item.CancelUpdate
        MsgBox "Item is already Exist in the bill" & vbCrLf & "Update Qty in the existing item entry ...", vbCritical, "Error: Duplicate item entry ..."
        ENABLE_DISABLE (False)
        OP_STATUS (True)
        rs_cur_record_count.Requery
        If rs_cur_record_count.Fields(0).Value > 0 Then
            rs_cur_invoice_item.MoveFirst
        End If
        cmd.Enabled = True
    Else
        MsgBox "Enter Proper and Sufficient Data", vbCritical, "Check your Data ..."
    End If
    
ElseIf Index = 2 Then
    If SALE_TYPE = "SYSTEM" Then
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
     Else
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            SendKeys "{TAB}"
            
    
    End If
    
    rs_cur_record_count.Requery
    
    If rs_cur_record_count.Fields(0).Value > 0 Then
        rs_cur_invoice_item.Delete
        rs_cur_invoice_item.MoveNext
        If rs_cur_invoice_item.EOF <> True Then
            
            Call FILLTEXT
        Else
            rs_cur_record_count.Requery
            If rs_cur_record_count.Fields(0).Value > 0 Then
                    rs_cur_invoice_item.MoveLast
                    Call FILLTEXT

⌨️ 快捷键说明

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