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

企业管理

开发平台:

Visual Basic

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