📄 frmyh_yhdztj.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 + -