📄 frmcashsalesae.frm
字号:
Width = 4905
End
Begin VB.Shape Shape2
FillColor = &H00C0C0C0&
FillStyle = 0 'Solid
Height = 435
Left = 120
Top = 120
Width = 10935
End
Begin VB.Label Label6
Alignment = 1 'Right Justify
Caption = "Business Name:"
Height = 255
Left = 210
TabIndex = 47
Top = 1380
Width = 1485
End
Begin VB.Label Label12
Alignment = 1 'Right Justify
Caption = "Address:"
Height = 255
Left = 210
TabIndex = 46
Top = 1740
Width = 1485
End
Begin VB.Label Label10
Caption = "Label10"
Height = 525
Left = 5100
TabIndex = 45
Top = 4290
Width = 1245
End
Begin VB.Label Label7
Alignment = 1 'Right Justify
Caption = "Invoice No.:"
Height = 255
Left = 210
TabIndex = 44
Top = 750
Width = 1485
End
Begin VB.Label Label11
BackStyle = 0 'Transparent
Caption = "Local Purchase Details"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000014&
Height = 210
Left = 300
TabIndex = 35
Top = 3600
Width = 4365
End
Begin VB.Line Line3
BorderColor = &H80000000&
BorderWidth = 2
X1 = 9210
X2 = 10920
Y1 = 7890
Y2 = 7890
End
Begin VB.Label Label8
Alignment = 1 'Right Justify
Caption = "Vat(0.12)"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000011D&
Height = 240
Left = 7440
TabIndex = 42
Top = 7530
Width = 2040
End
Begin VB.Label Label5
Alignment = 1 'Right Justify
Caption = "Tax Base"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000011D&
Height = 240
Left = 7440
TabIndex = 41
Top = 7230
Width = 2040
End
Begin VB.Shape Shape3
BackColor = &H80000010&
BackStyle = 1 'Opaque
BorderColor = &H80000010&
Height = 240
Left = 225
Top = 3600
Width = 10740
End
Begin VB.Label Labels
Alignment = 1 'Right Justify
Caption = "Sold To:"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 0
Left = 210
TabIndex = 38
Top = 1065
Width = 1485
End
Begin VB.Label Labels
Alignment = 1 'Right Justify
Caption = "Date:"
Height = 255
Index = 1
Left = 4320
TabIndex = 37
Top = 720
Width = 1485
End
Begin VB.Label Label9
Alignment = 1 'Right Justify
Caption = "Net"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000011D&
Height = 240
Left = 7440
TabIndex = 36
Top = 7980
Width = 2040
End
Begin VB.Line Line1
BorderColor = &H80000010&
BorderWidth = 2
Index = 1
X1 = 210
X2 = 10935
Y1 = 2820
Y2 = 2820
End
Begin VB.Line Line2
BorderColor = &H80000014&
Index = 1
X1 = 210
X2 = 10935
Y1 = 2790
Y2 = 2790
End
Begin VB.Label Label3
Alignment = 1 'Right Justify
Caption = "Gross"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000011D&
Height = 240
Left = 7440
TabIndex = 34
Top = 6630
Width = 2040
End
Begin VB.Label Labels
Caption = "Remarks"
Height = 240
Index = 4
Left = 240
TabIndex = 33
Top = 6600
Width = 990
End
Begin VB.Label Label4
Alignment = 1 'Right Justify
Caption = "Discount"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000011D&
Height = 240
Left = 7440
TabIndex = 32
Top = 6930
Width = 2040
End
Begin VB.Shape Shape1
Height = 8235
Left = 120
Top = 630
Width = 10935
End
Begin VB.Shape Shape4
BorderColor = &H80000006&
BorderWidth = 2
Height = 8895
Left = 60
Top = 60
Width = 11085
End
End
Attribute VB_Name = "frmCashSalesAE"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public State As FormState 'Variable used to determine on how the form used
Public PK As Long 'Variable used to get what record is going to edit
Public CloseMe As Boolean
Public ForCusAcc As Boolean
Dim cIGross As Currency 'Gross Amount
Dim cIAmount As Currency 'Current Invoice Amount
Dim cDAmount As Currency 'Current Invoice Discount Amount
Dim cIRowCount As Integer
Dim HaveAction As Boolean 'Variable used to detect if the user perform some action
Dim rs As New Recordset 'Main recordset for Invoice
Private Sub btnAdd_Click()
If nsdStock.Text = "" Then nsdStock.SetFocus: Exit Sub
If toNumber(txtUnitPrice.Text) <= 0 Then
MsgBox "Please enter a valid sales price.", vbExclamation
txtUnitPrice.SetFocus
Exit Sub
End If
Dim CurrRow As Integer
CurrRow = getFlexPos(Grid, 10, nsdStock.BoundText)
'Add to grid
With Grid
If CurrRow < 0 Then
'Perform if the record is not exist
If .Rows = 2 And .TextMatrix(1, 10) = "" Then
.TextMatrix(1, 1) = nsdStock.getSelValueAt(1)
.TextMatrix(1, 2) = nsdStock.Text
.TextMatrix(1, 3) = nsdStock.getSelValueAt(5)
.TextMatrix(1, 4) = txtQty.Text
.TextMatrix(1, 5) = dcUnit.Text
.TextMatrix(1, 6) = toMoney(txtUnitPrice.Text)
.TextMatrix(1, 7) = toMoney(txtGross(1).Text)
.TextMatrix(1, 8) = toNumber(txtDisc.Text)
.TextMatrix(1, 9) = toMoney(toNumber(txtNetAmount.Text))
.TextMatrix(1, 10) = nsdStock.BoundText
Else
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 1) = nsdStock.getSelValueAt(1)
.TextMatrix(.Rows - 1, 2) = nsdStock.Text
.TextMatrix(.Rows - 1, 3) = nsdStock.getSelValueAt(5)
.TextMatrix(.Rows - 1, 4) = txtQty.Text
.TextMatrix(.Rows - 1, 5) = dcUnit.Text
.TextMatrix(.Rows - 1, 6) = toMoney(txtUnitPrice.Text)
.TextMatrix(.Rows - 1, 7) = toMoney(txtGross(1).Text)
.TextMatrix(.Rows - 1, 8) = toNumber(txtDisc.Text)
.TextMatrix(.Rows - 1, 9) = toMoney(toNumber(txtNetAmount.Text))
.TextMatrix(.Rows - 1, 10) = nsdStock.BoundText
.Row = .Rows - 1
End If
'Increase the record count
cIRowCount = cIRowCount + 1
Else
If MsgBox("Invoice payment already exist. Do you want to replace it?", vbQuestion + vbYesNo) = vbYes Then
.Row = CurrRow
'Restore back the invoice amount and discount
cIGross = cIGross - toNumber(Grid.TextMatrix(.RowSel, 7))
txtGross(2).Text = Format$(cIGross, "#,##0.00")
cIAmount = cIAmount - toNumber(Grid.TextMatrix(.RowSel, 9))
txtNet.Text = Format$(cIAmount, "#,##0.00")
cDAmount = cDAmount - toNumber(toNumber(txtDisc.Text) / 100) * (toNumber(toNumber(Grid.TextMatrix(.RowSel, 4)) * toNumber(txtUnitPrice.Text)))
txtDesc.Text = Format$(cDAmount, "#,##0.00")
.TextMatrix(CurrRow, 1) = nsdStock.getSelValueAt(1)
.TextMatrix(CurrRow, 2) = nsdStock.Text
.TextMatrix(CurrRow, 3) = nsdStock.getSelValueAt(5)
.TextMatrix(CurrRow, 4) = txtQty.Text
.TextMatrix(CurrRow, 5) = dcUnit.Text
.TextMatrix(CurrRow, 6) = toMoney(txtUnitPrice.Text)
.TextMatrix(CurrRow, 7) = toMoney(txtGross(1).Text)
.TextMatrix(CurrRow, 8) = toNumber(txtDisc.Text)
.TextMatrix(CurrRow, 9) = toMoney(toNumber(txtNetAmount.Text))
.TextMatrix(CurrRow, 10) = nsdStock.BoundText
Else
Exit Sub
End If
End If
'Add the amount to current load amount
cIGross = cIGross + toNumber(txtGross(1).Text)
txtGross(2).Text = Format$(cIGross, "#,##0.00")
cIAmount = cIAmount + toNumber(txtNetAmount.Text)
cDAmount = cDAmount + toNumber(toNumber(txtDisc.Text) / 100) * (toNumber(toNumber(txtQty.Text) * toNumber(txtUnitPrice.Text)))
txtDesc.Text = Format$(cDAmount, "#,##0.00")
txtNet.Text = Format$(cIAmount, "#,##0.00")
txtTaxBase.Text = toMoney(txtNet.Text / 1.12)
txtVat.Text = toMoney(txtNet.Text - txtTaxBase.Text)
'Highlight the current row's column
.ColSel = 10
'Display a remove button
Grid_Click
'Reset the entry fields
ResetEntry
End With
End Sub
Private Sub btnRemove_Click()
'Remove selected load product
With Grid
'Update grooss to current purchase amount
cIGross = cIGross - toNumber(Grid.TextMatrix(.RowSel, 7))
txtGross(2).Text = Format$(cIGross, "#,##0.00")
'Update amount to current invoice amount
cIAmount = cIAmount - toNumber(Grid.TextMatrix(.RowSel, 9))
txtNet.Text = Format$(cIAmount, "#,##0.00")
'Update discount to current invoice disc
cDAmount = cDAmount - toNumber(toNumber(txtDisc.Text) / 100) * (toNumber(toNumber(Grid.TextMatrix(.RowSel, 4)) * toNumber(Grid.TextMatrix(.RowSel, 6))))
txtDesc.Text = Format$(cDAmount, "#,##0.00")
txtTaxBase.Text = toMoney(txtNet.Text / 1.12)
txtVat.Text = toMoney(txtNet.Text - txtTaxBase.Text)
'Update the record count
cIRowCount = cIRowCount - 1
If .Rows = 2 Then Grid.Rows = Grid.Rows + 1
.RemoveItem (.RowSel)
End With
btnRemove.Visible = False
Grid_Click
End Sub
Private Sub CmdReturn_Click()
'Display the details
Dim RSDetails As New Recordset
RSDetails.CursorLocation = adUseClient
RSDetails.Open "SELECT * FROM qry_Cash_Sales_Detail WHERE CashSalesID=" & PK & " AND QtyDue > 0 ORDER BY Stock ASC", CN, adOpenStatic, adLockOptimistic
If RSDetails.RecordCount > 0 Then
With frmCashSalesReturnAE
.State = adStateAddMode
.PK = PK
.show vbModal
End With
Else
MsgBox "All items are already returned.", vbInformation
End If
End Sub
Private Sub txtdisc_Change()
txtQty_Change
End Sub
Private Sub txtdisc_Click()
txtQty_Change
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub txtDisc_GotFocus()
HLText txtDisc
End Sub
Private Sub txtdisc_Validate(Cancel As Boolean)
txtDisc.Text = toNumber(txtDisc.Text)
End Sub
Private Sub cmdPH_Click()
'frmInvoiceViewerPH.INV_PK = PK
'frmInvoiceViewerPH.Caption = "Payment History Viewer"
'frmInvoiceViewerPH.lblTitle.Caption = "Payment History Viewer"
'frmInvoiceViewerPH.show vbModal
End Sub
Private Sub cmdSave_Click()
'Verify the entries
If txtInvoiceNo.Text = "" Then
MsgBox "Please enter Invoice No.", vbExclamation
txtInvoiceNo.SetFocus
Exit Sub
End If
If cIRowCount < 1 Then
MsgBox "Please enter item to purchase before you can save this record.", vbExclamation
nsdStock.SetFocus
Exit Sub
End If
If isRecordExist("Cash_Sales", "InvoiceNo", txtInvoiceNo.Text, True) = True Then
MsgBox "Invoice already exist. Please change it.", vbExclamation
txtInvoiceNo.SetFocus
Exit Sub
End If
If MsgBox("This save the record. Do you want to proceed?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
Dim RSDetails As New Recordset
RSDetails.CursorLocation = adUseClient
RSDetails.Open "SELECT * FROM Cash_Sales_Detail WHERE CashSalesID=" & PK, CN, adOpenStatic, adLockOptimistic
Screen.MousePointer = vbHourglass
Dim c As Integer
On Error GoTo erR
CN.BeginTrans
'Save the record
With rs
If State = adStateAddMode Or State = adStatePopupMode Then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -