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

企业管理

开发平台:

Visual Basic

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