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

📄 class1card.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
VERSION 5.00
Object = "{F42BDC2B-FC9B-11D1-9ABD-444553540000}#3.4#0"; "ATLEDIT1.OCX"
Begin VB.Form frmClass1Card 
   BorderStyle     =   1  'Fixed Single
   ClientHeight    =   2265
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   5100
   HelpContextID   =   30012
   KeyPreview      =   -1  'True
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   2265
   ScaleWidth      =   5100
   ShowInTaskbar   =   0   'False
   StartUpPosition =   2  '屏幕中心
   Begin VB.CommandButton cmdClass 
      Height          =   350
      Index           =   2
      Left            =   3780
      Style           =   1  'Graphical
      TabIndex        =   6
      Tag             =   "1009"
      Top             =   885
      UseMaskColor    =   -1  'True
      Width           =   1215
   End
   Begin AtlEdit.TEdit txtClass 
      Height          =   300
      Index           =   0
      Left            =   1290
      TabIndex        =   1
      Top             =   555
      Width           =   2250
      _ExtentX        =   3969
      _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             =   1785
      Width           =   1155
   End
   Begin VB.CommandButton cmdClass 
      Height          =   350
      Index           =   0
      Left            =   3780
      Style           =   1  'Graphical
      TabIndex        =   4
      Tag             =   "1001"
      Top             =   135
      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             =   510
      UseMaskColor    =   -1  'True
      Width           =   1215
   End
   Begin VB.CommandButton cmdClass 
      Height          =   350
      Index           =   3
      Left            =   3780
      Style           =   1  'Graphical
      TabIndex        =   7
      Tag             =   "1013"
      Top             =   1260
      UseMaskColor    =   -1  'True
      Width           =   1215
   End
   Begin AtlEdit.TEdit txtClass 
      Height          =   300
      Index           =   1
      Left            =   1290
      TabIndex        =   3
      Top             =   1455
      Width           =   2250
      _ExtentX        =   3969
      _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 
      AutoSize        =   -1  'True
      Caption         =   "统计名称(&N)"
      Height          =   180
      Index           =   1
      Left            =   300
      TabIndex        =   2
      Top             =   1515
      Width           =   990
   End
   Begin VB.Label lblClass 
      AutoSize        =   -1  'True
      Caption         =   "统计编码(&C)"
      Height          =   180
      Index           =   0
      Left            =   300
      TabIndex        =   0
      Top             =   585
      Width           =   990
   End
End
Attribute VB_Name = "frmClass1Card"
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 mblnIsList 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
'直接增加统计
Public Function AddClass1(ByVal strClass1 As String) As Integer
    Dim blnIsStop As Boolean, strTemp As String
    Dim strCode As String, strName As String
    
    AddClass1 = 0
    If Not GetString(strClass1, strCode, 1) Then Exit Function
    If Not GetString(strClass1, strName, 2) Then Exit Function
    If Not GetString(strClass1, mstrNotes, 6) Then Exit Function
    If Not GetString(strClass1, strTemp, 7) Then Exit Function
    blnIsStop = (strTemp = "1")
    
    If strCode = "" Or strName = "" Then Exit Function
    txtClass(0).Text = strCode
    txtClass(1).Text = strName
    chkInActive.Value = IIf(blnIsStop, 1, 0)
    mblnIsNew = True
    If Not SaveCard(True) Then Exit Function
    AddClass1 = 1
End Function

Public Property Get ClassID() As Variant
    ClassID = mlngClassID
End Property

Public Function AddCard(Optional strName As String = "", Optional intModal As Integer, _
    Optional ByVal IsList As Boolean = False) As Long
    
    mlngClassID = 0
    mblnIsChanged = True
    mblnIsNew = True
    InitCard strName
    Caption = "新增统计"
    mblnIsList = IsList
    Show vbModal
    AddCard = mlngClassID
End Function

Public Sub EditCard(ByVal lngID As Long, Optional intModal As Integer = 0, _
    Optional strClass1 As String)
    Dim strMess As String
    
    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(2).Visible = False
        cmdClass(3).Move cmdClass(2).Left, cmdClass(2).top
        Show vbModal
    End If
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 Then
'        ShowMsg 0, "不能删除正在修改的统计!", vbExclamation + MB_TASKMODAL, "删除统计"
'        Show vbModal
'        Exit Function
'    End If
    On Error GoTo ErrHandle
    gclsBase.BaseWorkSpace.BeginTrans
    DelCard = False
    strSql = "SELECT * FROM Class1 WHERE lngClassID=" & lngID
    Set recClass = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    If Not recClass.EOF 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 + vbDefaultButton2, _
        "删除统计") = 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.msgClass
    Exit Function
ErrHandle:
    gclsBase.BaseWorkSpace.RollBacktrans
End Function

'统计是否使用
Private Function CodeIsUsed(ByVal lngID As Long) As Boolean
    
    CodeIsUsed = True
    If UsedInAccountDaily("lngClassID1", lngID) Then Exit Function
    If CheckIDUsed("ActivityDetail", "lngClassID1", lngID) Then Exit Function  '业务明细
    If CheckIDUsed("ARAPInit", "lngClassID1", lngID) Then Exit Function  '应收应付期初
    If CheckIDUsed("BudgetBalance", "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    '凭证明细
    CodeIsUsed = False
End Function

Private Sub Form_Activate()
    SetHelpID Me.HelpContextID
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
    If mblnIsList Then
        mblnIsList = False
        Exit Sub
    End If
    If KeyAscii = vbKeyReturn Then
        BKKEY Me.ActiveControl.hwnd, vbKeyTab
    End If
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn And Shift = 2 Then
        cmdClass(0).Value = True
    End If
End Sub

Private Sub Form_Load()
    Dim edtErrReturn As ErrDealType
    
    On Error GoTo ErrHandle
'    SetHelpID hwnd, 30012  ' 13010
    Utility.LoadFormResPicture Me
    mblnIsChanged = False
'    SendKeys "%{C}"
    Exit Sub
ErrHandle:
    edtErrReturn = Errors.ErrorsDeal
    

⌨️ 快捷键说明

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