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

企业管理

开发平台:

Visual Basic

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