📄 classstuffinstock.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "Classstuffinstock"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
' 要做: 声明本地的 ADO Recordset 对象。例如:
Private rstCache As ADODB.Recordset
Private Sub Class_GetDataMember(DataMember As String, Data As Object)
'要做: 返回基于 DataMember 的相应的 recordset。例如:
Select Case DataMember
Case "" ' Default
Set Data = rstCache
Case Else ' Default
Set Data = rstCache
End Select
End Sub
Private Sub Class_Initialize()
Dim i As Integer
' 创建记录集实例
Set rstCache = New ADODB.Recordset
' 设置记录集属性
With rstCache
.Fields.Append "stuffinno", adVarChar, 9
.Fields.Append "stuffid", adVarChar, 5
.Fields.Append "stuffname", adVarChar, 50
.Fields.Append "stuffkind", adVarChar, 50
.Fields.Append "stuffcolor", adVarChar, 20
.Fields.Append "stuffunit", adVarChar, 8
.Fields.Append "stuffnumber", adDouble, 9
.Fields.Append "stuffsupply", adVarChar, 20
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open
End With
End Sub
Public Property Get GetOrderNo() As Variant
' GetOrderNo = [OrderNo]
End Property
Public Function Recordset() As Recordset
Set Recordset = rstCache
End Function
Public Property Let letOrderNo(ByVal vNewValue As Variant)
letOrderNo = vNewValue
End Property
Public Sub SaveDatastuffinstock(OrderNo As String)
'On Error Resume Next
Dim rstTable As New ADODB.Recordset, SqlString As String
Dim rstOrder As New ADODB.Recordset, strOrder As String
strOrder = "SELECT tb_stuffinstock.* From tb_stuffinstock Where Sell.Style='0' ORDER BY Sell.SellNo DESC"
'*****保存主表
rstOrder.Open strOrder, GetConnect, adOpenStatic, adLockOptimistic
With rstOrder
.AddNew
![stuffinno] = frmstuffinstock.stuffinno.Caption
![stuffindate] = frmstuffinstock.stuffindate.Value
![stuffstock] = frmstuffinstock.stuffstock.Text
![stuffinph] = frmstuffinstock.stuffinph.Text
![stuffinmemo] = frmstuffinstock.stuffinmemo.Text
.Update
.Close
End With
'*****保存子表
SqlString = "Select tb_stuffinstocksub.* from tb_stuffinstocksub "
rstTable.LockType = adLockBatchOptimistic
rstTable.Open SqlString, GetConnect, adOpenStatic
rstCache.MoveFirst
Do Until rstCache.EOF
rstTable.AddNew
rstTable![stuffinno] = [OrderNo]
rstTable![stuffid] = cField(rstCache![stuffid])
rstTable![stuffnumber] = rstCache![stuffnumber]
rstCache.MoveNext
Loop
rstTable.UpdateBatch
rstTable.Close
End Sub
'''Public Function SumTotal() As Long
'''
'''With rstCache
''' If .BOF And .EOF Then
''' Else
''' SumTotal = 0
''' .MoveFirst
''' Do Until .EOF
''' SumTotal = SumTotal + ![Sum]
''' .MoveNext
''' Loop
''' End If
'''End With
'''End Function
Public Sub GetDatastuffinstock(OrderNo As String)
'On Error Resume Next
'Initialize
delete
Dim rstTable As New ADODB.Recordset, rstOrder As New ADODB.Recordset, SqlOrder As String, Sqlsub As String
SqlOrder = "SELECT tb_stuffinstock.*, FROM tb_stuffinstock where tb_stuffinstock.stuffinno='" & [OrderNo] & "'"
Sqlsub = "SELECT tb_stuffinstocksub.* FROM tb_stuffinstocksub Where tb_stuffinstocksub.stuffinno = '" & [OrderNo] & "' ORDER BY tb_stuffinstocksub.stuffid;"
'***** 主表赋值
rstOrder.Open SqlOrder, GetConnect, adOpenDynamic
With rstOrder
If .BOF And .EOF Then
Else
frmstuffinstock.stuffinno.Caption = ![stuffinno]
frmstuffinstock.stuffindate.Value = ![stuffindate]
frmstuffinstock.stuffstock.Text = ![stuffstock]
frmstuffinstock.ClientCode.Text = ![ClientCode]
frmstuffinstock.Client.Text = ![CompanyByName]
FrmSell.Address.Text = ![Address]
FrmSell.memo = ![memo]
FrmSell.BillType.Text = ![BillType]
FrmSell.SumText.Text = Format(![acount], "#,##0.00")
FrmSell.Stock.Text = ![Stock]
End If
.Close
End With
'**** 数据控件赋值
'rstCache.Open "Delete from TempPay", cn
'With rstCache
'On Error Resume Next
'End With
rstTable.Open Sqlsub, cn, adOpenForwardOnly
If rstTable.EOF And rstTable.BOF Then
Else
rstTable.MoveFirst
Do While Not rstTable.EOF
rstCache.AddNew
rstCache![ordercode] = rstTable![ordercode]
rstCache![OrderName] = rstTable![ItemName]
rstCache![unit] = rstTable![ItemUnit]
'MsgBox ("00000")
rstCache![Number] = rstTable![Number]
rstCache![unitprice] = rstTable![unitprice]
rstCache![rebate] = rstTable![rebate]
rstCache![Sum] = (1 - rstTable![rebate]) * rstTable![unitprice] * rstTable![Number]
rstTable.MoveNext
rstCache.Update
Loop
rstCache.MoveFirst
rstTable.Close
End If
End Sub
Public Sub Initialize()
rstCache.Close
'rstCache.Open , cn, adOpenStatic, adLockOptimistic
'Set rstCache = Nothing
Class_Initialize
End Sub
Public Sub DelSell(OrderNo As String)
Dim rstOrder As New ADODB.Recordset, strOrder As String, rstOrderSub As New ADODB.Recordset, strSub As String
strOrder = "select Sell.* from Sell where Sell.SellNO ='" & [OrderNo] & "'"
rstOrder.Open strOrder, cn, adOpenStatic, adLockOptimistic
With rstOrder
Do While .RecordCount > 0
.MoveFirst
.delete
.Update
Loop
.Close
End With
strSub = "select SellSub.* from SellSub where SellSub.SellNo='" & [OrderNo] & "'"
rstOrderSub.Open strSub, cn, adOpenStatic, adLockOptimistic
With rstOrderSub
Do While .RecordCount > 0
.MoveFirst
.delete
.Update
Loop
.Close
End With
End Sub
Public Sub AddNew()
If rstCache.EOF Then
rstCache.AddNew
rstCache![ordercode] = ""
rstCache![OrderName] = ""
ElseIf rstCache.EditMode = adEditAdd Then
rstCache.AddNew
rstCache![ordercode] = ""
rstCache![OrderName] = ""
End If
End Sub
Public Sub delete()
Do While rstCache.RecordCount > 0
rstCache.MoveFirst
rstCache.delete
Loop
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -