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

企业管理

开发平台:

Visual Basic

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