ʰ
上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:15k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form YH_FrmDztj 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "自动对帐"
  5.    ClientHeight    =   2415
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   3765
  9.    HelpContextID   =   5103
  10.    Icon            =   "银行_对帐条件.frx":0000
  11.    LinkTopic       =   "Form1"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   2415
  15.    ScaleWidth      =   3765
  16.    ShowInTaskbar   =   0   'False
  17.    StartUpPosition =   2  '屏幕中心
  18.    Begin VB.CommandButton Command3 
  19.       Height          =   300
  20.       Left            =   3360
  21.       Picture         =   "银行_对帐条件.frx":1042
  22.       Style           =   1  'Graphical
  23.       TabIndex        =   9
  24.       Top             =   60
  25.       Width           =   300
  26.    End
  27.    Begin VB.TextBox Text2 
  28.       Height          =   285
  29.       Left            =   930
  30.       TabIndex        =   8
  31.       Top             =   60
  32.       Width           =   2445
  33.    End
  34.    Begin VB.CommandButton Command2 
  35.       Caption         =   "取消(&C)"
  36.       Height          =   300
  37.       Left            =   2580
  38.       TabIndex        =   7
  39.       Top             =   2040
  40.       Width           =   1120
  41.    End
  42.    Begin VB.CommandButton Command1 
  43.       Caption         =   "确定(&O)"
  44.       Height          =   300
  45.       Left            =   1380
  46.       TabIndex        =   6
  47.       Top             =   2040
  48.       Width           =   1120
  49.    End
  50.    Begin VB.Frame Frame1 
  51.       Caption         =   "对帐条件"
  52.       Height          =   1545
  53.       Left            =   60
  54.       TabIndex        =   1
  55.       Top             =   390
  56.       Width           =   3645
  57.       Begin VB.TextBox Text1 
  58.          Height          =   285
  59.          Left            =   1560
  60.          MaxLength       =   3
  61.          TabIndex        =   10
  62.          Text            =   "12"
  63.          Top             =   210
  64.          Width           =   465
  65.       End
  66.       Begin VB.CheckBox Check4 
  67.          Caption         =   "方向相反,金额相同"
  68.          Enabled         =   0   'False
  69.          Height          =   345
  70.          Left            =   510
  71.          TabIndex        =   5
  72.          Top             =   1110
  73.          Value           =   1  'Checked
  74.          Width           =   2415
  75.       End
  76.       Begin VB.CheckBox Check3 
  77.          Caption         =   "结算票号相同"
  78.          Height          =   315
  79.          Left            =   510
  80.          TabIndex        =   4
  81.          Top             =   810
  82.          Value           =   1  'Checked
  83.          Width           =   2265
  84.       End
  85.       Begin VB.CheckBox Check2 
  86.          Caption         =   "结算方式相同"
  87.          Height          =   255
  88.          Left            =   510
  89.          TabIndex        =   3
  90.          Top             =   540
  91.          Value           =   1  'Checked
  92.          Width           =   2595
  93.       End
  94.       Begin VB.CheckBox Check1 
  95.          Caption         =   "日期相差        天之内"
  96.          Height          =   195
  97.          Left            =   510
  98.          TabIndex        =   2
  99.          Top             =   270
  100.          Value           =   1  'Checked
  101.          Width           =   2775
  102.       End
  103.    End
  104.    Begin VB.Label Label1 
  105.       AutoSize        =   -1  'True
  106.       Caption         =   "截止日期:"
  107.       Height          =   180
  108.       Index           =   0
  109.       Left            =   90
  110.       TabIndex        =   0
  111.       Top             =   105
  112.       Width           =   810
  113.    End
  114. End
  115. Attribute VB_Name = "YH_FrmDztj"
  116. Attribute VB_GlobalNameSpace = False
  117. Attribute VB_Creatable = False
  118. Attribute VB_PredeclaredId = True
  119. Attribute VB_Exposed = False
  120. '*************************************************************
  121. '*    模 块 名 称 :银行对帐条件
  122. '*    功 能 描 述 :进行银行勾对
  123. '*    程序员姓名  : xjl
  124. '*    最后修改人  : xjl
  125. '*    最后修改时间:2000/11/07
  126. '*    备        注:
  127. '*************************************************************
  128. Dim Textvar() As Variant                 '存储变体型文本框信息
  129. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  130. Dim Textint() As Integer                 '存储整型文本框信息
  131. Dim Textstr() As String                  '存储字符型文本框信息
  132. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  133. Dim TextGroupCode As String              '文本框录入分组编码
  134. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  135. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  136. Dim CurTextIndex As Integer              '当前文本框索引值
  137. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  138. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  139. Private Sub Command1_Click()
  140.     Dim RecTemp As New ADODB.Recordset
  141.     Dim Recfind As New ADODB.Recordset
  142.     Dim RecGrid As New ADODB.Recordset
  143.     Dim Sqlstr As String
  144.     '日期检查
  145.     If Trim(Text2) <> "" Then
  146.         If CheckDate = False Then Exit Sub
  147.     End If
  148.     Screen.MousePointer = 11
  149.     If RecTemp.State = 1 Then RecTemp.Close
  150.     '银行对帐单
  151.     If Text2 <> "" Then
  152.         Sqlstr = "select BankBillID,Ccode,BillDate,Digest,SScode,BillNo,Jfje,Dfje,RecType,Balance,BCheckFlag,HandWorkFlag,BDelete " _
  153.         & "from cwzz_bankbill where RecType=2 and billdate<='" & Text2.Text & "' " _
  154.         & "and bcheckflag=0 and bdelete=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "' "
  155.     Else
  156.         Sqlstr = "select BankBillID,Ccode,BillDate,Digest,SScode,BillNo,Jfje,Dfje,RecType,Balance,BCheckFlag,HandWorkFlag,BDelete " _
  157.         & "from cwzz_bankbill where RecType=2 and Convert(Char(6),billdate,112)<='" & CStr(Trim(Xtyear)) + CStr(Trim(Xtmm)) & "' " _
  158.         & "and bcheckflag=0 and bdelete=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "' "
  159.         
  160.     End If
  161.     RecTemp.Open Sqlstr, Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  162.     Do While Not RecTemp.EOF()
  163.         Sqlstr = ""
  164.         If Check1.Value = 1 Then
  165.             Sqlstr = Sqlstr + "ddate<='" & CDate(RecTemp.Fields("BILLDATE")) + Text1.Text & "' And ddate>='" & CDate(RecTemp.Fields("BILLDATE")) - Text1.Text & "'"
  166.         End If
  167.         If Check2.Value = 1 Then
  168.             If Sqlstr = "" Then
  169.                 Sqlstr = "sscode='" & Trim(RecTemp.Fields("sscode")) & "'"
  170.             Else
  171.                 Sqlstr = Sqlstr + " and sscode='" & Trim(RecTemp.Fields("sscode")) & "'"
  172.             End If
  173.         End If
  174.         If Check3.Value = 1 Then
  175.             If Sqlstr = "" Then
  176.                 Sqlstr = "billno='" & Trim(RecTemp.Fields("billno")) & "'"
  177.             Else
  178.                 Sqlstr = Sqlstr + "and billno='" & Trim(RecTemp.Fields("billno")) & "'"
  179.             End If
  180.         End If
  181.         
  182.         
  183.         '单位日记帐期初
  184.         If Recfind.State = 1 Then Recfind.Close
  185.         If Sqlstr = "" Then
  186.             Recfind.Open "select * from cwzz_rjznotcheck where RecType<>0 and BCheckFlag=0 and bdelete=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  187.         Else
  188.             Recfind.Open "select * from cwzz_rjznotcheck where " & Sqlstr & " and BCheckFlag=0 and bdelete=0 and RecType<>0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  189.         End If
  190.         Do While Not Recfind.EOF()
  191.             If RecTemp.Fields("jfje") = Recfind.Fields("dfje") And RecTemp.Fields("dfje") = Recfind.Fields("jfje") Then
  192.                 RecTemp.Fields("bcheckflag") = 1
  193.                 RecTemp.Update
  194.                 Recfind.Fields("bcheckflag") = 1
  195.                 Recfind.Update
  196.                 GoTo LABLE:
  197.             End If
  198.             Recfind.MoveNext
  199.         Loop
  200.         '发生业务
  201.         If Recfind.State = 1 Then Recfind.Close
  202.         If Sqlstr = "" Then
  203.             Recfind.Open "select * from Cwzz_V_AccVouch where bdelete=0  " _
  204.             & "and BCheckFlag=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "' " _
  205.             & "And Convert(Char(8),Ddate,112)>=(Select Convert(char(8),ddate,112) From " _
  206.             & "cwzz_rjznotcheck Where rectype=0 And Ccode=" & Val(YH_FrmXzkm.Combo1.Text) & ") " _
  207.             & "And Convert(Char(6),Ddate,112)<= " _
  208.             & "(select Convert(Char(6),max(qsrq),112) from gy_kjrlb where cwzzjzbz='1')", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  209.         Else
  210.             Recfind.Open "select * from Cwzz_V_AccVouch where " & Sqlstr & " and bdelete=0  " _
  211.             & "and BCheckFlag=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "' " _
  212.             & "And Convert(Char(8),Ddate,112)>=(Select Convert(char(8),ddate,112) From " _
  213.             & "cwzz_rjznotcheck Where rectype=0 And Ccode=" & Val(YH_FrmXzkm.Combo1.Text) & ") " _
  214.             & "And Convert(Char(6),Ddate,112)<= " _
  215.             & "(select Convert(Char(6),max(qsrq),112) from Gy_kjrlb where cwzzjzbz='1')", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  216.         End If
  217.         Do While Not Recfind.EOF()
  218.             If RecGrid.State = 1 Then RecGrid.Close
  219.             RecGrid.Open "select * from cwzz_accvouchSub where SerialID='" & Recfind.Fields("SerialID") & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  220.             Do While Not RecGrid.EOF()
  221.                 If RecTemp.Fields("jfje") = RecGrid.Fields("dfje") And RecTemp.Fields("dfje") = RecGrid.Fields("jfje") Then
  222.                     RecTemp.Fields("bcheckflag") = 1
  223.                     RecTemp.Update
  224.                     RecGrid.Fields("bcheckflag") = 1
  225.                     RecGrid.Update
  226.                     GoTo LABLE:
  227.                 End If
  228.                 RecGrid.MoveNext
  229.             Loop
  230.             Recfind.MoveNext
  231.         Loop
  232. LABLE:
  233.         RecTemp.MoveNext
  234.     Loop
  235.     
  236.     '因为对帐单期初与对帐单主向相反
  237.     If RecTemp.State = 1 Then RecTemp.Close
  238.     '银行对帐单
  239.     If Text2 <> "" Then
  240.         Sqlstr = "select BankBillID,Ccode,BillDate,Digest,SScode,BillNo,Jfje,Dfje,RecType,Balance,BCheckFlag,HandWorkFlag,BDelete " _
  241.         & "from cwzz_bankbill where RecType=1 and billdate<='" & Text2.Text & "' " _
  242.         & "and bcheckflag=0 and bdelete=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "' "
  243.     Else
  244.         Sqlstr = "select BankBillID,Ccode,BillDate,Digest,SScode,BillNo,Jfje,Dfje,RecType,Balance,BCheckFlag,HandWorkFlag,BDelete " _
  245.         & "from cwzz_bankbill where RecType=1 and Convert(Char(6),billdate,112)<='" & CStr(Trim(Xtyear)) + CStr(Trim(Xtmm)) & "' " _
  246.         & "and bcheckflag=0 and bdelete=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "' "
  247.         
  248.     End If
  249.     RecTemp.Open Sqlstr, Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  250.     Do While Not RecTemp.EOF()
  251.         Sqlstr = ""
  252.         If Check1.Value = 1 Then
  253.             Sqlstr = Sqlstr + "ddate<='" & CDate(RecTemp.Fields("BILLDATE")) + Text1.Text & "' And ddate>='" & CDate(RecTemp.Fields("BILLDATE")) - Text1.Text & "'"
  254.         End If
  255.         If Check2.Value = 1 Then
  256.             If Sqlstr = "" Then
  257.                 Sqlstr = "sscode='" & Trim(RecTemp.Fields("sscode")) & "'"
  258.             Else
  259.                 Sqlstr = Sqlstr + " and sscode='" & Trim(RecTemp.Fields("sscode")) & "'"
  260.             End If
  261.         End If
  262.         If Check3.Value = 1 Then
  263.             If Sqlstr = "" Then
  264.                 Sqlstr = "billno='" & Trim(RecTemp.Fields("billno")) & "'"
  265.             Else
  266.                 Sqlstr = Sqlstr + "and billno='" & Trim(RecTemp.Fields("billno")) & "'"
  267.             End If
  268.         End If
  269.         
  270.         
  271.         '单位日记帐期初
  272.         If Recfind.State = 1 Then Recfind.Close
  273.         If Sqlstr = "" Then
  274.             Recfind.Open "select * from cwzz_rjznotcheck where RecType<>0 and BCheckFlag=0 and bdelete=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  275.         Else
  276.             Recfind.Open "select * from cwzz_rjznotcheck where " & Sqlstr & " and BCheckFlag=0 and bdelete=0 and RecType<>0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  277.         End If
  278.         Do While Not Recfind.EOF()
  279.             If RecTemp.Fields("Dfje") = Recfind.Fields("dfje") And RecTemp.Fields("Jfje") = Recfind.Fields("jfje") Then
  280.                 RecTemp.Fields("bcheckflag") = 1
  281.                 RecTemp.Update
  282.                 Recfind.Fields("bcheckflag") = 1
  283.                 Recfind.Update
  284.                 GoTo LABLE1:
  285.             End If
  286.             Recfind.MoveNext
  287.         Loop
  288.         '发生业务
  289.         If Recfind.State = 1 Then Recfind.Close
  290.         If Sqlstr = "" Then
  291.             Recfind.Open "select * from Cwzz_V_AccVouch where bdelete=0  " _
  292.             & "and BCheckFlag=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "' " _
  293.             & "And Convert(Char(8),Ddate,112)>=(Select Convert(char(8),ddate,112) From " _
  294.             & "cwzz_rjznotcheck Where rectype=0 And Ccode=" & Val(YH_FrmXzkm.Combo1.Text) & ") " _
  295.             & "And Convert(Char(6),Ddate,112)<= " _
  296.             & "(select Convert(Char(6),max(qsrq),112) from gy_kjrlb where cwzzjzbz='1')", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  297.         Else
  298.             Recfind.Open "select * from Cwzz_V_AccVouch where " & Sqlstr & " and bdelete=0  " _
  299.             & "and BCheckFlag=0 and ccode='" & Val(YH_FrmXzkm.Combo1.Text) & "' " _
  300.             & "And Convert(Char(8),Ddate,112)>=(Select Convert(char(8),ddate,112) From " _
  301.             & "cwzz_rjznotcheck Where rectype=0 And Ccode=" & Val(YH_FrmXzkm.Combo1.Text) & ") " _
  302.             & "And Convert(Char(6),Ddate,112)<= " _
  303.             & "(select Convert(Char(6),max(qsrq),112) from Gy_kjrlb where cwzzjzbz='1')", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  304.         End If
  305.         Do While Not Recfind.EOF()
  306.             If RecGrid.State = 1 Then RecGrid.Close
  307.             RecGrid.Open "select * from cwzz_accvouchsub where SerialID='" & Recfind.Fields("SerialID") & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  308.             Do While Not RecGrid.EOF()
  309.                 If RecTemp.Fields("Dfje") = RecGrid.Fields("dfje") And RecTemp.Fields("Jfje") = RecGrid.Fields("jfje") Then
  310.                     RecTemp.Fields("bcheckflag") = 1
  311.                     RecTemp.Update
  312.                     RecGrid.Fields("bcheckflag") = 1
  313.                     RecGrid.Update
  314.                     GoTo LABLE1:
  315.                 End If
  316.                 RecGrid.MoveNext
  317.             Loop
  318.             Recfind.MoveNext
  319.         Loop
  320. LABLE1:
  321.         RecTemp.MoveNext
  322.     Loop
  323.     
  324.     Screen.MousePointer = 0
  325.     Unload Me
  326. End Sub
  327. Private Sub Command2_Click()
  328.     Unload Me
  329. End Sub
  330. Private Sub Command3_Click()
  331.     XT_calendar.Show 1
  332.     Text2.Text = Xtfhcs
  333.     Text2.Tag = Xtfhcsfz
  334.     Text2.SetFocus
  335. End Sub
  336. Private Sub Text1_KeyPress(KeyAscii As Integer)
  337.     If KeyAscii > 47 And KeyAscii < 57 Or KeyAscii = 8 Then
  338.         
  339.     Else
  340.         KeyAscii = 0
  341.     End If
  342. End Sub
  343. Private Sub Text2_KeyPress(KeyAscii As Integer)
  344.     Select Case KeyAscii
  345.     Case Asc("a") To Asc("z"), Asc("A") To Asc("Z")
  346.         KeyAscii = 0
  347.     End Select
  348. End Sub
  349. '===========自定义============
  350. Function CheckDate() As Boolean
  351.     '日期检验
  352.     Dim Tsxx As String
  353.     If Not IsDate(Text2.Text) Then
  354.         CheckDate = False
  355.         Tsxx = "日期格式不正确!"
  356.         Call Xtxxts(Tsxx, 0, 1)
  357.         With Text2
  358.             .SetFocus
  359.             .SelStart = 0
  360.             .SelLength = Len(.Text)
  361.         End With
  362.     Else
  363.         CheckDate = True
  364.     End If
  365. End Function