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

📄 frmyh_yhdztj.frm

📁 一个用VB写的财务软件源码
💻 FRM
字号:
VERSION 5.00
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomct2.ocx"
Begin VB.Form frmYH_Yhdztj 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "自动对账"
   ClientHeight    =   3195
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   4680
   Icon            =   "frmYH_Yhdztj.frx":0000
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   3195
   ScaleWidth      =   4680
   ShowInTaskbar   =   0   'False
   StartUpPosition =   2  '屏幕中心
   Begin MSComCtl2.DTPicker dtpJzrq 
      Height          =   285
      Left            =   1290
      TabIndex        =   1
      Top             =   150
      Width           =   1335
      _ExtentX        =   2355
      _ExtentY        =   503
      _Version        =   393216
      CustomFormat    =   "yyyy-MM-dd"
      Format          =   62521347
      CurrentDate     =   36674
      MaxDate         =   55153
      MinDate         =   32874
   End
   Begin VB.Frame Frame1 
      Caption         =   "对账条件:"
      Height          =   2235
      Left            =   150
      TabIndex        =   8
      Top             =   720
      Width           =   3135
      Begin VB.TextBox txtDays 
         Height          =   285
         Left            =   1170
         TabIndex        =   3
         Text            =   "10"
         Top             =   300
         Width           =   375
      End
      Begin VB.CheckBox chkFx 
         Caption         =   "方向相反, 金额相同"
         Enabled         =   0   'False
         Height          =   285
         Left            =   120
         TabIndex        =   9
         Top             =   1770
         Value           =   2  'Grayed
         Width           =   2025
      End
      Begin VB.CheckBox chkBill 
         Caption         =   "结算票号相同"
         Height          =   285
         Left            =   120
         TabIndex        =   5
         Top             =   1260
         Value           =   1  'Checked
         Width           =   1545
      End
      Begin VB.CheckBox chkJsfs 
         Caption         =   "结算方式相同"
         Height          =   285
         Left            =   120
         TabIndex        =   4
         Top             =   780
         Value           =   1  'Checked
         Width           =   1545
      End
      Begin VB.CheckBox chkRqfw 
         Caption         =   "日期相差"
         Height          =   285
         Left            =   120
         TabIndex        =   2
         Top             =   300
         Value           =   1  'Checked
         Width           =   1065
      End
      Begin VB.Label Label3 
         Caption         =   "之内"
         Height          =   285
         Left            =   1620
         TabIndex        =   10
         Top             =   330
         Width           =   525
      End
   End
   Begin VB.CommandButton cmdCancel 
      Cancel          =   -1  'True
      Caption         =   "取消(&C)"
      Height          =   345
      Left            =   3480
      TabIndex        =   7
      Top             =   2430
      Width           =   1065
   End
   Begin VB.CommandButton cmdOk 
      Caption         =   "确定(&O)"
      Default         =   -1  'True
      Height          =   345
      Left            =   3480
      TabIndex        =   6
      Top             =   1590
      Width           =   1065
   End
   Begin VB.Label Label1 
      AutoSize        =   -1  'True
      Caption         =   "截止日期:"
      Height          =   180
      Left            =   300
      TabIndex        =   0
      Top             =   210
      Width           =   900
   End
End
Attribute VB_Name = "frmYH_Yhdztj"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public IsOk As Boolean
Dim bFirstUsed As Boolean               '是否银行对账首次使用
'如果银行对账首次使用,则存放银行对账启用日期
'否则存放期初日期
Dim sBeginDate As String

Private Sub cmdCancel_Click()
    IsOk = False
    Me.Hide
End Sub

Private Sub cmdOk_Click()
    Dim adoCmd As ADODB.Command
    If IsValidate Then
        IsOk = True
'        If Format(dtpJzrq.Value, "yyyy-mm-dd") > frmYH_Yhdz.MaxJzrq Then
            Set adoCmd = New ADODB.Command
            adoCmd.ActiveConnection = glo.cnnMain
            Select Case g_FLAT
                Case "SQL"
                    adoCmd.CommandText = "UPDATE tZW_Yhdzqyrq SET jzrq = '" & _
                                            Format(dtpJzrq.value, "yyyy-mm-dd") & _
                                            "' WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "'"
                Case "ORACLE"
                    adoCmd.CommandText = "UPDATE tZW_Yhdzqyrq SET jzrq = TO_DATE('" & _
                                            Format(dtpJzrq.value, "yyyy-mm-dd") & _
                                            "','YYYY-MM-DD') WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "'"
            End Select
            adoCmd.Execute
'        End If
        Me.Hide
    End If
End Sub

Private Function IsValidate() As Boolean
    IsValidate = True
    If Format(dtpJzrq.value, "yyyy-mm-dd") < sBeginDate Then
        If bFirstUsed Then
            MsgBox "银行对账截止日期不能小于银行对账启用日期!", vbOKOnly + vbInformation
        Else
            MsgBox "银行对账截止日期不能小于银行对账期初日期!", vbOKOnly + vbInformation
        End If
        IsValidate = False
        Exit Function
    End If
    If Year(dtpJzrq.value) > glo.sOperateYear Then
        MsgBox "银行对账截止日期年份有误, 当前年份为" & glo.sOperateYear, vbOKOnly + vbInformation
        IsValidate = False
        Exit Function
    End If
End Function

Private Sub Form_Activate()
    chkRqfw.value = 1
    txtDays.text = 10
    chkJsfs.value = 1
    chkBill.value = 1
    dtpJzrq.SetFocus
End Sub

Private Sub form_load()
    Dim rstTemp As ADODB.Recordset
    Dim sSQL As String
    
    Set rstTemp = New ADODB.Recordset
    rstTemp.CursorLocation = adUseClient
    
    IsOk = False
    bFirstUsed = False
    
    sSQL = "SELECT * FROM tZW_Yhdzqyrq WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "'"
    rstTemp.Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
    With rstTemp
        If .RecordCount > 0 Then
            '判断银行对账启用日期的年份等于当前注册年份
            If Year(.Fields("qyrq").value) <= CInt(glo.sOperateYear) Then
                sBeginDate = Format(.Fields("qyrq").value, "yyyy-mm-dd")
                bFirstUsed = True
                dtpJzrq.value = GetLastDay(DateAdd("m", 1, .Fields("jzrq").value))
                If dtpJzrq.value >= CDate(glo.sOperateYear + "-12-31") Then
                    dtpJzrq.value = Format(CDate(glo.sOperateDate), "yyyy-mm-dd")
                End If
            Else
                sBeginDate = Format(CDate(glo.sOperateDate), "yyyy-mm-dd")
                dtpJzrq.value = sBeginDate
            End If
            
        Else
            sBeginDate = glo.sOperateDate
            dtpJzrq.value = Format(CDate(glo.sOperateDate), "yyyy-mm-dd")
        End If
    End With
End Sub

Private Function GetLastDay(ByVal rq As Date) As String
    Dim sDay As String
    
    Select Case Month(rq)
        Case 1, 3, 5, 7, 8, 10, 12
            sDay = 31
        Case 4, 6, 9, 11
            sDay = 30
        Case 2
            If IsDate(Year(rq) & "-02-29") Then
                sDay = 29
            Else
                sDay = 28
            End If
    End Select
    
    GetLastDay = Format(Year(rq) & "-" & Month(rq) & "-" & sDay, "yyyy-mm-dd")
End Function

⌨️ 快捷键说明

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