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

企业管理

开发平台:

Visual Basic

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