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

企业管理

开发平台:

Visual Basic

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