📄 frmclass1listcard.frm
字号:
VERSION 5.00
Object = "{F42BDC2B-FC9B-11D1-9ABD-444553540000}#3.2#0"; "ATLEDIT.OCX"
Begin VB.Form frmClass1ListCard
BorderStyle = 1 'Fixed Single
ClientHeight = 2340
ClientLeft = 45
ClientTop = 330
ClientWidth = 5100
LinkTopic = "Form1"
MaxButton = 0 'False
MDIChild = -1 'True
ScaleHeight = 2340
ScaleWidth = 5100
ShowInTaskbar = 0 'False
Begin VB.CommandButton cmdClass
Default = -1 'True
Height = 350
Index = 2
Left = 3780
Style = 1 'Graphical
TabIndex = 6
Tag = "1009"
Top = 1000
UseMaskColor = -1 'True
Width = 1215
End
Begin AtlEdit.TEdit txtClass
Height = 300
Index = 0
Left = 1200
TabIndex = 1
Top = 650
Width = 2400
_ExtentX = 4233
_ExtentY = 529
maxchar = 16
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Text = ""
End
Begin VB.CheckBox chkInActive
Caption = "停用"
Height = 350
Left = 3780
TabIndex = 8
Top = 1900
Width = 1155
End
Begin VB.CommandButton cmdClass
Height = 350
Index = 0
Left = 3780
Style = 1 'Graphical
TabIndex = 4
Tag = "1001"
Top = 200
UseMaskColor = -1 'True
Width = 1215
End
Begin VB.CommandButton cmdClass
Cancel = -1 'True
Height = 350
Index = 1
Left = 3780
Style = 1 'Graphical
TabIndex = 5
Tag = "1002"
Top = 600
UseMaskColor = -1 'True
Width = 1215
End
Begin VB.CommandButton cmdClass
Height = 350
Index = 3
Left = 3780
Style = 1 'Graphical
TabIndex = 7
Tag = "1013"
Top = 1400
UseMaskColor = -1 'True
Width = 1215
End
Begin AtlEdit.TEdit txtClass
Height = 300
Index = 1
Left = 1200
TabIndex = 3
Top = 1450
Width = 2400
_ExtentX = 4233
_ExtentY = 529
maxchar = 30
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Text = ""
End
Begin VB.Label lblClass
Caption = "统计名称(&N)"
Height = 300
Index = 1
Left = 120
TabIndex = 2
Top = 1480
Width = 1000
End
Begin VB.Label lblClass
Caption = "统计编码(&C)"
Height = 300
Index = 0
Left = 120
TabIndex = 0
Top = 680
Width = 1000
End
End
Attribute VB_Name = "frmClass1ListCard"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'功能: 完成统计的增、删、改。
'卡片接口: EditCard 参数: lngID 记录的ID号
'作用: LNGID为零是增加记录、其它为编辑记录
' DelCard 参数: lngID 记录的ID号
'作用: 删除ID号为LNGID的记录
'作者: 苏涛
Option Explicit
Option Compare Text
Private mblnIsInit As Boolean
Private mblnIsChanged As Boolean
Private mblnIsDetail As Boolean
Private mblnIsNew As Boolean
Private mblnIsInActive As Boolean
Private mblnPIsInActive As Boolean 'NEW--上级停用,EDIT--目的停用
Private mblnPIsDetail As Boolean 'NEW--上级明细,EDIT--目的明细
Private mintLevel As Integer
Private mintOldLevel As Integer
Private mlngPCodeID As Long 'NEW--上级ID,EDIT--目的ID
Private mlngClassID As Long '当前统计ID
Private mstrNotes As String
Private mstrLastCode As String
Private mstrCode As String
Private mstrName As String
Private mstrLastName As String
Private mstrFullName As String
Private mstrOldFullName As String
Private mstrStartDate As String
Private WithEvents mclsMainControl As MainControl '主控对象
Attribute mclsMainControl.VB_VarHelpID = -1
Public Property Get ClassID() As Variant
ClassID = mlngClassID
End Property
Public Function AddCard(Optional strName As String = "", Optional intModal As Integer = 0) As Long
If IsContinue Then Exit Function
mlngClassID = 0
mblnIsChanged = True
mblnIsNew = True
InitCard strName
Caption = "新增统计"
cmdClass(2).Default = True
Show intModal
AddCard = mlngClassID
Refresh
ZOrder 0
Unload MsgForm
End Function
Public Sub EditCard(ByVal lngID As Long, Optional intModal As Integer = 0, _
Optional strClass1 As String)
Dim strMess As String
If IsContinue Then Exit Sub
If Not CheckIDUsed("Class1", "lngClassID", lngID) Then
If Trim(strClass1) <> "" Then
strMess = "“" & strClass1 & "”"
Else
strMess = "该"
End If
ShowMsg 0, strMess & "统计不存在,不能进行修改!", _
vbExclamation + MB_TASKMODAL, "修改统计"
Unload Me
Else
mlngClassID = lngID
mblnIsNew = False
mblnIsChanged = False
InitCard
Caption = "修改统计"
cmdClass(0).Default = True
cmdClass(2).Visible = False
cmdClass(3).Move cmdClass(2).Left, cmdClass(2).top
Show intModal
Refresh
ZOrder 0
End If
Unload MsgForm
End Sub
Private Sub chkInActive_Click()
' Dim strClass As String
'
' strClass = txtClass(0).Text & " " & txtClass(1).Text
' If chkInActive.Value = Checked And Not mblnIsNew Then
' If CodeIsUsed(mlngClassID) Then
' ShowMsg hwnd, strClass & "统计已有业务发生,不能停用!", vbExclamation, Caption
' chkInActive.Value = Unchecked
' End If
' End If
If Not mblnIsInit Then mblnIsChanged = True
End Sub
Private Sub cmdClass_Click(Index As Integer)
Dim strNextCode As String
If Index = 0 Then
If Not SaveCard Then Exit Sub
ElseIf Index = 2 Then
If SaveCard Then
strNextCode = GetNextCode(txtClass(0).Text)
' mlngClassID = 0
InitCard
txtClass(0).Text = strNextCode
txtClass(0).SetFocus
txtClass(0).SelStart = 0
txtClass(0).SelLength = Len(txtClass(0).Text)
End If
Exit Sub
ElseIf Index = 3 Then
mstrNotes = frmNotePad.EditCard(Me.Caption, txtClass(0).Text, _
txtClass(1).Text, mstrNotes) '调记事
Exit Sub
End If
Unload Me
End Sub
Public Function DelCard(ByVal lngID As Long) As Boolean
Dim recClass As rdoResultset, Strsql As String
Dim StrClass As String, strCode As String
If lngID = mlngClassID And frmListClass.IsShowCard(0) Then
ShowMsg 0, "不能删除正在修改的统计!", vbExclamation + MB_TASKMODAL, "删除统计"
Show
Exit Function
End If
On Error GoTo ErrHandle
gclsBase.BaseWorkSpace.BeginTrans
DelCard = False
If lngID = 0 Then Exit Function
Strsql = "SELECT * FROM Class1 WHERE lngClassID=" & lngID
Set recClass = gclsBase.BaseDB.OpenResultset(Strsql, rdOpenForwardOnly)
If Not recClass.EOF = True Then
strCode = recClass!strClassCode
StrClass = "“" & Trim(recClass!strClassCode) & " " _
& Trim(recClass!strClassName) & "”"
If recClass!blnIsDetail = 0 Then
ShowMsg 0, StrClass & "有下级统计,不能删除!", vbExclamation + MB_TASKMODAL, "删除统计"
GoTo ErrHandle
End If
Else
DelCard = True
GoTo ErrHandle
End If
If CodeIsUsed(lngID) Then
ShowMsg 0, StrClass & "统计已有业务发生,不能删除!", vbExclamation + MB_TASKMODAL, "删除统计"
GoTo ErrHandle
End If
If ShowMsg(0, "你确实要删除" & StrClass & "统计吗?", vbQuestion + vbYesNo + MB_TASKMODAL, _
"删除统计") = vbNo Then GoTo ErrHandle
Strsql = "DELETE FROM Class1 WHERE lngClassID=" & lngID
If Not gclsBase.ExecSQL(Strsql) Then GoTo ErrHandle
If Not ChangeHigherCardDetail("Class1", "strClassCode", strCode) Then GoTo ErrHandle
gclsBase.BaseWorkSpace.CommitTrans
DelCard = True
' gclsSys.SendMessage CStr(Me.hwnd), Message.msgClass1
Exit Function
ErrHandle:
gclsBase.BaseWorkSpace.RollbackTrans
End Function
'统计是否使用
Private Function CodeIsUsed(ByVal lngID As Long) As Boolean
CodeIsUsed = True
If CheckIDUsed("ActivityDetail", "lngClassID1", lngID) Then Exit Function '业务明细
If CheckIDUsed("Arapinit", "lngClassID1", lngID) Then Exit Function '应收应付期初
If CheckIDUsed("CostPrice", "lngClassID1", lngID) Then Exit Function '入库成本
If CheckIDUsed("ItemActivity", "lngClassID1", lngID) Then Exit Function '商品业务
If CheckIDUsed("purchaseorder", "lngClassID1", lngID) Then Exit Function '采购定单
If CheckIDUsed("SaleOrder", "lngClassID1", lngID) Then Exit Function '销售订单
If CheckIDUsed("StockTaking", "lngClassID1", lngID) Then Exit Function '盘点
If CheckIDUsed("TransVoucherDetail", "lngClassID1", lngID) Then Exit Function '转账模板明细
If CheckIDUsed("VoucherDetail", "lngClassID1", lngID) Then Exit Function '凭证明细
If CheckIDUsed("AccountBalance", "lngClassID1", lngID) Then Exit Function '科目余额
If CheckIDUsed("AccountDaily", "lngClassID1", lngID) Then Exit Function '科目发生额
If CheckIDUsed("BudgetBalance", "lngClassID1", lngID) Then Exit Function '预算数据
CodeIsUsed = False
End Function
Private Sub Form_Activate()
gclsSys.CurrFormName = Me.hwnd
End Sub
Private Sub Form_Load()
Me.Hide
Me.Left = -30000
MsgForm.PleaseWait
SetHelpID hwnd, 30012 ' 13010
frmListClass.IsShowCard(0) = True
mblnIsChanged = False
Set mclsMainControl = gclsSys.MainControls.Add(Me)
End Sub
Private Sub Form_Paint()
FrameBox Me.hwnd, 50, 200, 3700, 2200
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim intMsgReturn As Integer, strMess As String
If UnloadMode <> vbFormControlMenu Then Exit Sub
If Trim(txtClass(0).Text & txtClass(1).Text) = "" Then Exit Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -