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

企业管理

开发平台:

Visual Basic

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