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

企业管理

开发平台:

Visual Basic

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