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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form ZF_Gr_FrmGryebtj 
  3.    BorderStyle     =   1  'Fixed Single
  4.    Caption         =   "个人往来_个人余额表查询条件"
  5.    ClientHeight    =   3015
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   4860
  9.    Icon            =   "辅助_个人往来_个人余额表查询条件.frx":0000
  10.    KeyPreview      =   -1  'True
  11.    LinkTopic       =   "Form2"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   3015
  15.    ScaleWidth      =   4860
  16.    StartUpPosition =   2  '屏幕中心
  17.    Begin VB.Frame Fra_Query 
  18.       ForeColor       =   &H00FF0000&
  19.       Height          =   2535
  20.       Left            =   60
  21.       TabIndex        =   12
  22.       Top             =   0
  23.       Width           =   4725
  24.       Begin VB.CheckBox Chk_NotBook 
  25.          Caption         =   "是否包含未记帐凭证"
  26.          Height          =   285
  27.          Left            =   210
  28.          TabIndex        =   8
  29.          Top             =   2160
  30.          Width           =   2145
  31.       End
  32.       Begin VB.ComboBox Combo_Kjqj 
  33.          ForeColor       =   &H00000000&
  34.          Height          =   300
  35.          Index           =   0
  36.          Left            =   1020
  37.          Style           =   2  'Dropdown List
  38.          TabIndex        =   1
  39.          Top             =   570
  40.          Width           =   1695
  41.       End
  42.       Begin VB.ComboBox Combo_Kjqj 
  43.          ForeColor       =   &H00000000&
  44.          Height          =   300
  45.          Index           =   1
  46.          Left            =   2970
  47.          Style           =   2  'Dropdown List
  48.          TabIndex        =   2
  49.          Top             =   570
  50.          Width           =   1635
  51.       End
  52.       Begin VB.TextBox LrText 
  53.          Height          =   300
  54.          Index           =   2
  55.          Left            =   2970
  56.          TabIndex        =   4
  57.          Text            =   "2"
  58.          Top             =   930
  59.          Width           =   1635
  60.       End
  61.       Begin VB.TextBox LrText 
  62.          Height          =   300
  63.          Index           =   1
  64.          Left            =   1020
  65.          TabIndex        =   3
  66.          Text            =   "1"
  67.          Top             =   930
  68.          Width           =   1695
  69.       End
  70.       Begin VB.Frame Frame1 
  71.          Caption         =   "统计方向"
  72.          Height          =   675
  73.          Left            =   210
  74.          TabIndex        =   14
  75.          Top             =   1350
  76.          Width           =   4395
  77.          Begin VB.OptionButton Opt_Tjfx 
  78.             Caption         =   "双方余额"
  79.             Height          =   375
  80.             Index           =   0
  81.             Left            =   180
  82.             TabIndex        =   5
  83.             Top             =   240
  84.             Value           =   -1  'True
  85.             Width           =   1185
  86.          End
  87.          Begin VB.OptionButton Opt_Tjfx 
  88.             Caption         =   "借方余额"
  89.             Height          =   375
  90.             Index           =   1
  91.             Left            =   1590
  92.             TabIndex        =   6
  93.             Top             =   240
  94.             Width           =   1185
  95.          End
  96.          Begin VB.OptionButton Opt_Tjfx 
  97.             Caption         =   "贷方余额"
  98.             Height          =   375
  99.             Index           =   2
  100.             Left            =   3030
  101.             TabIndex        =   7
  102.             Top             =   240
  103.             Width           =   1185
  104.          End
  105.       End
  106.       Begin VB.CommandButton Ydcommand1 
  107.          Height          =   300
  108.          Index           =   0
  109.          Left            =   4290
  110.          Picture         =   "辅助_个人往来_个人余额表查询条件.frx":1042
  111.          Style           =   1  'Graphical
  112.          TabIndex        =   13
  113.          Top             =   210
  114.          Visible         =   0   'False
  115.          Width           =   300
  116.       End
  117.       Begin VB.TextBox LrText 
  118.          Height          =   300
  119.          Index           =   0
  120.          Left            =   1020
  121.          TabIndex        =   0
  122.          Text            =   "0"
  123.          Top             =   210
  124.          Width           =   3285
  125.       End
  126.       Begin VB.Line Line1 
  127.          Index           =   1
  128.          X1              =   2700
  129.          X2              =   2940
  130.          Y1              =   690
  131.          Y2              =   690
  132.       End
  133.       Begin VB.Line Line2 
  134.          Index           =   0
  135.          X1              =   2700
  136.          X2              =   2940
  137.          Y1              =   1080
  138.          Y2              =   1080
  139.       End
  140.       Begin VB.Label Label1 
  141.          AutoSize        =   -1  'True
  142.          Caption         =   "会计期间:"
  143.          Height          =   180
  144.          Index           =   2
  145.          Left            =   180
  146.          TabIndex        =   17
  147.          Top             =   630
  148.          Width           =   810
  149.       End
  150.       Begin VB.Label Label1 
  151.          AutoSize        =   -1  'True
  152.          Caption         =   "余额范围:"
  153.          Height          =   180
  154.          Index           =   3
  155.          Left            =   180
  156.          TabIndex        =   16
  157.          Top             =   990
  158.          Width           =   810
  159.       End
  160.       Begin VB.Label Label1 
  161.          AutoSize        =   -1  'True
  162.          Caption         =   "往来个人:"
  163.          Height          =   180
  164.          Index           =   11
  165.          Left            =   180
  166.          TabIndex        =   15
  167.          Top             =   300
  168.          Width           =   810
  169.       End
  170.    End
  171.    Begin VB.CommandButton QdCommand 
  172.       Caption         =   "确定(&O)"
  173.       Height          =   300
  174.       Left            =   2460
  175.       TabIndex        =   9
  176.       Top             =   2640
  177.       Width           =   1120
  178.    End
  179.    Begin VB.CommandButton QxCommand 
  180.       Caption         =   "取消(&C)"
  181.       Height          =   300
  182.       Left            =   3660
  183.       TabIndex        =   10
  184.       Top             =   2640
  185.       Width           =   1120
  186.    End
  187.    Begin VB.CheckBox UnloadCheck 
  188.       Caption         =   "卸载窗体"
  189.       Height          =   615
  190.       Left            =   8250
  191.       TabIndex        =   11
  192.       Top             =   720
  193.       Visible         =   0   'False
  194.       Width           =   825
  195.    End
  196. End
  197. Attribute VB_Name = "ZF_Gr_FrmGryebtj"
  198. Attribute VB_GlobalNameSpace = False
  199. Attribute VB_Creatable = False
  200. Attribute VB_PredeclaredId = True
  201. Attribute VB_Exposed = False
  202. '****************************************************************
  203. '*    模 块 名 称 :辅助核算_个人往来_个人余额表查询条件
  204. '*    功 能 描 述 :
  205. '*    程序员姓名  :张建忠
  206. '*    最后修改人  :奚俊峰
  207. '*    最后修改时间:2001/12/23
  208. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  209. '****************************************************************
  210. Dim Tsxx As String                       '系统提示信息
  211. '以下为固定使用变量(文本框)
  212. Dim Textvar() As Variant                 '存储变体型文本框信息
  213. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  214. Dim Textint() As Integer                 '存储整型文本框信息
  215. Dim Textstr() As String                  '存储字符型文本框信息
  216. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  217. Dim TextGroupCode As String              '文本框录入分组编码
  218. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  219. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  220. Dim CurTextIndex As Integer              '当前文本框索引值
  221. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  222. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  223. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  224.     Dim jdzygs As Integer                         '控件焦点转移个数
  225.     jdzygs = 30
  226.     Select Case KeyAscii
  227.     Case vbKeyReturn
  228.         If Kjjdzy(jdzygs) Then
  229.             KeyAscii = 0
  230.         End If
  231.     Case 39           '屏蔽"'"
  232.         KeyAscii = 0
  233.     End Select
  234. End Sub
  235. Private Sub Form_Load()
  236.     
  237.     '填充会计期间列表框(年度默认为用户选择年度)
  238.     Call Sub_FillPeriod(Combo_Kjqj(0), Xtyear, Xtmm)
  239.     Call Sub_FillPeriod(Combo_Kjqj(1), Xtyear, Xtmm)
  240.     
  241.     '以下为文本框处理程序
  242.     
  243.     TextGroupCode = "Cwzz_gr_gryebcxtj"
  244.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  245.     Call Wbkcsh
  246.     
  247. End Sub
  248. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  249.     If UnloadCheck.Value <> 1 Then
  250.         Cancel = 1
  251.         Me.Hide
  252.     End If
  253. End Sub
  254. Private Sub QdCommand_Click()                                   '确 定
  255.     '录入条件有效性判断
  256.     If Not Lrtjyxxpd Then
  257.         Exit Sub
  258.     End If
  259.     Me.Hide
  260.     
  261.     '激活查询过程
  262.     ZF_Gr_FrmGryebjg.Timer1.Enabled = True
  263.     ZF_Gr_FrmGryebjg.SetFocus
  264.     
  265. End Sub
  266. Private Sub QxCommand_Click()                                    '取消
  267.     Me.Hide
  268. End Sub
  269. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  270.     Dim Jsqte As Integer
  271.     Lrtjyxxpd = False
  272.     
  273.     
  274.     '查询个人不能为空
  275.     If Trim(LrText(0).Text) = "" Then
  276.         Tsxx = "往来个人不能为空!"
  277.         Call Xtxxts(Tsxx, 0, 4)
  278.         LrText(0).SetFocus
  279.         Exit Function
  280.     End If
  281.     
  282.     '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  283.     For Jsqte = 0 To Max_Text_Index
  284.         If Textint(Jsqte, 9) = 0 Or Textint(Jsqte, 9) = 2 Then
  285.             If Not TextYxxpd(Jsqte) Then
  286.                 Exit Function
  287.             End If
  288.         End If
  289.     Next Jsqte
  290.     
  291.     '[>>以下为依据实际情况自定义部分
  292.     
  293.     '查询会计期间范围应由小到大
  294.     If Trim(Combo_Kjqj(0).Text) > Trim(Combo_Kjqj(1).Text) Then
  295.         Tsxx = "查询会计期间范围应由小到大!"
  296.         Call Xtxxts(Tsxx, 0, 4)
  297.         Combo_Kjqj(0).SetFocus
  298.         Exit Function
  299.     End If
  300.     
  301.     '查询金额范围应由小到大
  302.     If Val(LrText(1).Text) > Val(LrText(2).Text) And Val(LrText(2).Text) <> 0 Then
  303.         Tsxx = "查询金额范围应由小到大!"
  304.         Call Xtxxts(Tsxx, 0, 4)
  305.         LrText(1).SetFocus
  306.         Exit Function
  307.     End If
  308.     
  309.     '<<]以上为依据实际情况自定义部分
  310.     
  311.     Lrtjyxxpd = True
  312. End Function
  313. '************以下为文本框录入处理程序(固定不变部分)*************'
  314. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  315.     
  316.     '以下为依据实际情况自定义部分[
  317.     
  318.     '在此填写文本框录入事后处理程序
  319.     
  320.     ']以上为依据实际情况自定义部分
  321. End Sub
  322. Private Sub LrText_Change(Index As Integer)
  323.     
  324.     '屏蔽程序改变控制
  325.     If TextChangeLock Then
  326.         Exit Sub
  327.     End If
  328.     
  329.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  330.     
  331.     '限制字段录入长度
  332.     
  333.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  334.     Select Case Textint(Index, 1)
  335.     Case 8           '金额型
  336.         Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  337.     Case 9           '数量型
  338.         Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  339.     Case 10          '单价型
  340.         Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  341.     Case Else        '其他小数类型控制
  342.         If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  343.             Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  344.         End If
  345.     End Select
  346.     TextChangeLock = False '解锁
  347. End Sub
  348. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  349.     Call TextShow(Index)
  350.     CurTextIndex = Index
  351.     LrText(Index).SelStart = Len(LrText(Index))
  352. End Sub
  353. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  354.     Select Case KeyCode
  355.     Case vbKeyF2
  356.         Call Text_Help(Index)
  357.     End Select
  358. End Sub
  359. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  360.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  361. End Sub
  362. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点进行有效性判断及相应处理
  363.     If Textint(Index, 9) = 0 Or Textint(Index, 9) = 1 Then '事中判断
  364.         Call TextYxxpd(Index)
  365.     End If
  366. End Sub
  367. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)     '按钮提供帮助
  368.     Call Text_Help(Index)
  369. End Sub
  370. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  371.     If Not Textboolean(Index, 1) Then
  372.         Exit Sub
  373.     End If
  374.     TextValiJudgeLock(Index) = True
  375.     
  376.     '先进行有效性判断
  377.     If Not TextYxxpd(CurTextIndex) Then
  378.         Exit Sub
  379.     End If
  380.     
  381.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  382.     
  383.     If Len(Xtfhcs) <> 0 Then
  384.         If Textint(Index, 3) = 1 Then
  385.             LrText(Index).Text = Xtfhcsfz
  386.             LrText(Index).Tag = Xtfhcs
  387.         Else
  388.             LrText(Index).Text = Xtfhcs
  389.             LrText(Index).Tag = Xtfhcsfz
  390.         End If
  391.         
  392.     End If
  393.     TextValiJudgeLock(Index) = False
  394.     LrText(Index).SetFocus
  395. End Sub
  396. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  397.     
  398.     '填写文本框得到焦点,进行相应信息处理程序
  399.     
  400. End Sub
  401. Private Sub Wbkcsh()                          '录入文本框初始化
  402.     Dim Jsqte As Integer
  403.     
  404.     '最大录入文本框索引值
  405.     Max_Text_Index = Textvar(1)
  406.     
  407.     ReDim TextValiJudgeLock(Max_Text_Index)
  408.     For Jsqte = 0 To Max_Text_Index
  409.         
  410.         If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
  411.             If Textboolean(Jsqte, 1) Then
  412.                 If Jsqte <> 0 And Not Textboolean(Jsqte, 3) Then
  413.                     Load Ydcommand1(Jsqte)
  414.                 End If
  415.                 Ydcommand1(Jsqte).Visible = True
  416.                 Ydcommand1(Jsqte).Move LrText(Jsqte).Left + LrText(Jsqte).Width, LrText(Jsqte).Top
  417.             End If
  418.             TextChangeLock = True
  419.             LrText(Jsqte).Text = ""
  420.             LrText(Jsqte).Tag = ""
  421.             If Textint(Jsqte, 5) <> 0 Then
  422.                 LrText(Jsqte).MaxLength = Textint(Jsqte, 5)
  423.             End If
  424.             
  425.             TextChangeLock = False
  426.         End If
  427.         TextValiJudgeLock(Jsqte) = True
  428.     Next Jsqte
  429. End Sub
  430. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  431.     Dim Sqlstr As String
  432.     Dim Findrec As ADODB.Recordset
  433.     If TextValiJudgeLock(Index) Then    '文本框内容未曾改变不进行有效性判断
  434.         TextYxxpd = True
  435.         Exit Function
  436.     End If
  437.     If Trim(LrText(Index)) = "" Then
  438.         LrText(Index).Tag = ""
  439.         Call Wbklrwbcl(Index)
  440.         TextValiJudgeLock(Index) = True
  441.         TextYxxpd = True
  442.         Exit Function
  443.     End If
  444.     Select Case Textint(Index, 4)
  445.     Case 1      '编码型
  446.         Sqlstr = Trim(Textstr(Index, 5))
  447.         Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  448.         Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  449.         If Findrec.EOF Then
  450.             Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  451.             LrText(Index).SetFocus
  452.             Exit Function
  453.         Else
  454.             Select Case Textint(Index, 3)
  455.             Case 0
  456.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  457.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  458.                 End If
  459.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  460.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  461.                 End If
  462.             Case 1
  463.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  464.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  465.                 End If
  466.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  467.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  468.                 End If
  469.             End Select
  470.         End If
  471.     Case 2      '日期型
  472.         If IsDate(LrText(Index).Text) Then
  473.             LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  474.         Else
  475.             Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  476.             Call Xtxxts(Tsxx, 0, 1)
  477.             LrText(Index).SetFocus
  478.             Exit Function
  479.         End If
  480.     Case 3      '其他类型
  481.         
  482.     End Select
  483.     TextValiJudgeLock(Index) = True
  484.     TextYxxpd = True
  485. End Function