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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form Stock_PlanQuery 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "采购计划列表查询条件"
  5.    ClientHeight    =   4830
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   4395
  9.    Icon            =   "采购计划_采购计划列表查询条件.frx":0000
  10.    KeyPreview      =   -1  'True
  11.    LinkTopic       =   "Form1"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   4830
  15.    ScaleWidth      =   4395
  16.    ShowInTaskbar   =   0   'False
  17.    StartUpPosition =   2  '屏幕中心
  18.    Begin VB.CheckBox UnloadCheck 
  19.       Caption         =   "IfUnload"
  20.       Height          =   255
  21.       Left            =   -1320
  22.       TabIndex        =   11
  23.       Top             =   5160
  24.       Visible         =   0   'False
  25.       Width           =   1215
  26.    End
  27.    Begin VB.CommandButton QdCommand 
  28.       Caption         =   "确定(&O)"
  29.       Height          =   300
  30.       Left            =   2040
  31.       TabIndex        =   7
  32.       Top             =   4455
  33.       Width           =   1120
  34.    End
  35.    Begin VB.CommandButton QxCommand 
  36.       Caption         =   "取消(&C)"
  37.       Height          =   300
  38.       Left            =   3240
  39.       TabIndex        =   8
  40.       Top             =   4455
  41.       Width           =   1120
  42.    End
  43.    Begin VB.Frame Frame1 
  44.       Height          =   4365
  45.       Left            =   60
  46.       TabIndex        =   10
  47.       Top             =   0
  48.       Width           =   4290
  49.       Begin VB.ComboBox Combo_Con 
  50.          Height          =   300
  51.          Index           =   1
  52.          Left            =   990
  53.          Style           =   2  'Dropdown List
  54.          TabIndex        =   1
  55.          Top             =   576
  56.          Width           =   3165
  57.       End
  58.       Begin VB.TextBox LrText 
  59.          Height          =   300
  60.          Index           =   4
  61.          Left            =   990
  62.          TabIndex        =   6
  63.          Text            =   "3"
  64.          Top             =   2040
  65.          Width           =   2835
  66.       End
  67.       Begin VB.CommandButton Ydcommand1 
  68.          Height          =   300
  69.          Index           =   4
  70.          Left            =   3840
  71.          Picture         =   "采购计划_采购计划列表查询条件.frx":1042
  72.          Style           =   1  'Graphical
  73.          TabIndex        =   32
  74.          TabStop         =   0   'False
  75.          Top             =   2040
  76.          Visible         =   0   'False
  77.          Width           =   300
  78.       End
  79.       Begin VB.CommandButton Ydcommand1 
  80.          Height          =   300
  81.          Index           =   0
  82.          Left            =   2010
  83.          Picture         =   "采购计划_采购计划列表查询条件.frx":13CC
  84.          Style           =   1  'Graphical
  85.          TabIndex        =   27
  86.          TabStop         =   0   'False
  87.          Top             =   930
  88.          Visible         =   0   'False
  89.          Width           =   300
  90.       End
  91.       Begin VB.TextBox LrText 
  92.          Height          =   300
  93.          Index           =   0
  94.          Left            =   990
  95.          TabIndex        =   2
  96.          Text            =   "0"
  97.          Top             =   930
  98.          Width           =   1035
  99.       End
  100.       Begin VB.TextBox LrText 
  101.          Height          =   300
  102.          Index           =   1
  103.          Left            =   2820
  104.          TabIndex        =   3
  105.          Text            =   "1"
  106.          Top             =   930
  107.          Width           =   1000
  108.       End
  109.       Begin VB.CommandButton Ydcommand1 
  110.          Height          =   300
  111.          Index           =   1
  112.          Left            =   3840
  113.          Picture         =   "采购计划_采购计划列表查询条件.frx":1756
  114.          Style           =   1  'Graphical
  115.          TabIndex        =   26
  116.          TabStop         =   0   'False
  117.          Top             =   930
  118.          Visible         =   0   'False
  119.          Width           =   300
  120.       End
  121.       Begin VB.ComboBox Combo_Con 
  122.          Height          =   300
  123.          Index           =   0
  124.          Left            =   990
  125.          Style           =   2  'Dropdown List
  126.          TabIndex        =   0
  127.          Top             =   210
  128.          Width           =   3165
  129.       End
  130.       Begin VB.TextBox LrText 
  131.          Height          =   300
  132.          Index           =   3
  133.          Left            =   990
  134.          TabIndex        =   5
  135.          Text            =   "3"
  136.          Top             =   1680
  137.          Width           =   2835
  138.       End
  139.       Begin VB.Frame Frame14 
  140.          Caption         =   "审核状态"
  141.          Height          =   525
  142.          Left            =   120
  143.          TabIndex        =   22
  144.          Top             =   3090
  145.          Width           =   4050
  146.          Begin VB.OptionButton Opt_Check 
  147.             Caption         =   "已审核"
  148.             Height          =   195
  149.             Index           =   2
  150.             Left            =   2910
  151.             TabIndex        =   25
  152.             Top             =   240
  153.             Width           =   945
  154.          End
  155.          Begin VB.OptionButton Opt_Check 
  156.             Caption         =   "未审核"
  157.             Height          =   195
  158.             Index           =   1
  159.             Left            =   1635
  160.             TabIndex        =   24
  161.             Top             =   240
  162.             Width           =   975
  163.          End
  164.          Begin VB.OptionButton Opt_Check 
  165.             Caption         =   "全部"
  166.             Height          =   195
  167.             Index           =   0
  168.             Left            =   420
  169.             TabIndex        =   23
  170.             Top             =   240
  171.             Value           =   -1  'True
  172.             Width           =   915
  173.          End
  174.       End
  175.       Begin VB.Frame Frame16 
  176.          Caption         =   "计划类型"
  177.          Height          =   525
  178.          Left            =   120
  179.          TabIndex        =   18
  180.          Top             =   2460
  181.          Width           =   4050
  182.          Begin VB.OptionButton Opt_PlanType 
  183.             Caption         =   "紧急"
  184.             Height          =   255
  185.             Index           =   2
  186.             Left            =   2910
  187.             TabIndex        =   21
  188.             Top             =   210
  189.             Width           =   885
  190.          End
  191.          Begin VB.OptionButton Opt_PlanType 
  192.             Caption         =   "正常"
  193.             Height          =   255
  194.             Index           =   1
  195.             Left            =   1665
  196.             TabIndex        =   20
  197.             Top             =   210
  198.             Width           =   765
  199.          End
  200.          Begin VB.OptionButton Opt_PlanType 
  201.             Caption         =   "全部"
  202.             Height          =   255
  203.             Index           =   0
  204.             Left            =   420
  205.             TabIndex        =   19
  206.             Top             =   210
  207.             Value           =   -1  'True
  208.             Width           =   765
  209.          End
  210.       End
  211.       Begin VB.CommandButton Ydcommand1 
  212.          Height          =   300
  213.          Index           =   3
  214.          Left            =   3840
  215.          Picture         =   "采购计划_采购计划列表查询条件.frx":1AE0
  216.          Style           =   1  'Graphical
  217.          TabIndex        =   17
  218.          TabStop         =   0   'False
  219.          Top             =   1680
  220.          Visible         =   0   'False
  221.          Width           =   300
  222.       End
  223.       Begin VB.TextBox LrText 
  224.          Height          =   300
  225.          Index           =   2
  226.          Left            =   990
  227.          TabIndex        =   4
  228.          Text            =   "2"
  229.          Top             =   1305
  230.          Width           =   2835
  231.       End
  232.       Begin VB.CommandButton Ydcommand1 
  233.          Height          =   300
  234.          Index           =   2
  235.          Left            =   3840
  236.          Picture         =   "采购计划_采购计划列表查询条件.frx":1E6A
  237.          Style           =   1  'Graphical
  238.          TabIndex        =   16
  239.          TabStop         =   0   'False
  240.          Top             =   1305
  241.          Visible         =   0   'False
  242.          Width           =   300
  243.       End
  244.       Begin VB.Frame Frame15 
  245.          Caption         =   "执行状态"
  246.          Height          =   525
  247.          Left            =   120
  248.          TabIndex        =   12
  249.          Top             =   3720
  250.          Width           =   4050
  251.          Begin VB.OptionButton Opt_Exec 
  252.             Caption         =   "全部"
  253.             Height          =   195
  254.             Index           =   0
  255.             Left            =   420
  256.             TabIndex        =   15
  257.             Top             =   255
  258.             Value           =   -1  'True
  259.             Width           =   855
  260.          End
  261.          Begin VB.OptionButton Opt_Exec 
  262.             Caption         =   "未下达"
  263.             Height          =   195
  264.             Index           =   1
  265.             Left            =   1635
  266.             TabIndex        =   14
  267.             Top             =   240
  268.             Width           =   915
  269.          End
  270.          Begin VB.OptionButton Opt_Exec 
  271.             Caption         =   "已下达"
  272.             Height          =   195
  273.             Index           =   2
  274.             Left            =   2910
  275.             TabIndex        =   13
  276.             Top             =   240
  277.             Width           =   885
  278.          End
  279.       End
  280.       Begin VB.Label Label1 
  281.          AutoSize        =   -1  'True
  282.          Caption         =   "截止期间:"
  283.          Height          =   180
  284.          Index           =   2
  285.          Left            =   120
  286.          TabIndex        =   34
  287.          Top             =   636
  288.          Width           =   810
  289.       End
  290.       Begin VB.Label Label1 
  291.          AutoSize        =   -1  'True
  292.          Caption         =   "物料编码:"
  293.          Height          =   180
  294.          Index           =   0
  295.          Left            =   120
  296.          TabIndex        =   33
  297.          Top             =   2100
  298.          Width           =   810
  299.       End
  300.       Begin VB.Line Line1 
  301.          X1              =   2430
  302.          X2              =   2680
  303.          Y1              =   1080
  304.          Y2              =   1080
  305.       End
  306.       Begin VB.Label Label1 
  307.          AutoSize        =   -1  'True
  308.          Caption         =   "物料分类:"
  309.          Height          =   180
  310.          Index           =   4
  311.          Left            =   120
  312.          TabIndex        =   31
  313.          Top             =   1740
  314.          Width           =   810
  315.       End
  316.       Begin VB.Label Label1 
  317.          AutoSize        =   -1  'True
  318.          Caption         =   "计划日期:"
  319.          Height          =   180
  320.          Index           =   12
  321.          Left            =   120
  322.          TabIndex        =   30
  323.          Top             =   990
  324.          Width           =   810
  325.       End
  326.       Begin VB.Label Label1 
  327.          AutoSize        =   -1  'True
  328.          Caption         =   "起始期间:"
  329.          Height          =   180
  330.          Index           =   3
  331.          Left            =   120
  332.          TabIndex        =   29
  333.          Top             =   270
  334.          Width           =   810
  335.       End
  336.       Begin VB.Label Label1 
  337.          AutoSize        =   -1  'True
  338.          Caption         =   "制    单:"
  339.          Height          =   180
  340.          Index           =   1
  341.          Left            =   120
  342.          TabIndex        =   28
  343.          Top             =   1365
  344.          Width           =   810
  345.       End
  346.    End
  347.    Begin VB.CommandButton Cmd_Clear 
  348.       Caption         =   "全清"
  349.       Height          =   300
  350.       Left            =   60
  351.       TabIndex        =   9
  352.       Top             =   4455
  353.       Width           =   1120
  354.    End
  355. End
  356. Attribute VB_Name = "Stock_PlanQuery"
  357. Attribute VB_GlobalNameSpace = False
  358. Attribute VB_Creatable = False
  359. Attribute VB_PredeclaredId = True
  360. Attribute VB_Exposed = False
  361. '******************************************************************
  362. '*    模 块 名 称 :采购计划-采购计划列表查询条件
  363. '*    功 能 描 述 :采购计划列表查询条件
  364. '*    程序员姓名  :乔进
  365. '*    最后修改人  :乔进
  366. '*    最后修改时间:2001/12/20
  367. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  368. '******************************************************************
  369. Dim Tsxx As String                       '系统信息提示
  370. '以下为固定使用变量(文本框)
  371. Dim Textvar() As Variant                 '存储变体型文本框信息
  372. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  373. Dim Textint() As Integer                 '存储整型文本框信息
  374. Dim Textstr() As String                  '存储字符型文本框信息
  375. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  376. Dim TextGroupCode As String              '文本框录入分组编码
  377. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  378. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  379. Dim CurTextIndex As Integer              '当前文本框索引值
  380. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  381. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  382. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移(Fixed)
  383.     Dim jdzygs As Integer                         '控件焦点转移个数
  384.     jdzygs = 9
  385.     Select Case KeyAscii
  386.         Case vbKeyReturn
  387.             If Kjjdzy(jdzygs) Then
  388.                 KeyAscii = 0
  389.             End If
  390.         Case 39           '屏蔽"'"
  391.             KeyAscii = 0
  392.     End Select
  393. End Sub
  394. Private Sub Form_Load()
  395.     Dim Listindex As Integer
  396.     '以下为文本框处理程序(Fixed)
  397.     TextGroupCode = "MRP_PurPlanList"
  398.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  399.     Call Wbkcsh
  400.     
  401.     '[>>初始化查询条件默认值
  402.     Sub_FillCombo Combo_Con(0)
  403.     Sub_FillCombo Combo_Con(1)
  404.     '<<]
  405.  
  406.    
  407.     Listindex = HasCurrentCyc(Xtyear, Xtmm)
  408.     If Listindex >= 0 Then
  409.         Combo_Con(0).Listindex = Listindex
  410.         Combo_Con(1).Listindex = Listindex
  411.     End If
  412.     
  413.     Stock_PlanQuery.HelpContextID = 2416002
  414.  
  415. End Sub
  416. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)          '查询条件窗体卸载
  417.     '查询条件窗体卸载时判断是否因为结果窗体卸载,如是则卸载,否则隐藏
  418.     If UnloadCheck.Value <> 1 Then
  419.         Cancel = 1
  420.         Me.Hide
  421.     End If
  422.     
  423. End Sub
  424.  
  425. Private Sub QdCommand_Click()                                   '确 定
  426.     '录入条件有效性判断(Fixed)
  427.     If Not Lrtjyxxpd Then
  428.         Exit Sub
  429.     End If
  430.     Me.Hide
  431.         
  432.     '[>>激活查询过程结果窗体
  433.     
  434.     Stock_PlanList.Timer1.Enabled = True
  435.     Stock_PlanList.SetFocus
  436.     
  437.     '<<]
  438. End Sub
  439. Private Sub QxCommand_Click()                                    '取消(Fixed)
  440.     Me.Hide
  441. End Sub
  442. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  443.     Dim jsqte As Integer
  444.     Lrtjyxxpd = False
  445.     Dim iYear1 As Integer, iYear2 As Integer, iMonth1 As Integer, iMonth2 As Integer
  446.  
  447.     '对需要进行事后判断的文本框录入内容进行有效性判断 (Fixed)
  448.     For jsqte = 0 To Max_Text_Index
  449.         If Textint(jsqte, 9) = 0 Or Textint(jsqte, 9) = 2 Then
  450.             If Not TextYxxpd(jsqte) Then
  451.                 Exit Function
  452.             End If
  453.         End If
  454.     Next jsqte
  455.    
  456.     '[>>以下为依据实际情况自定义部分
  457.  
  458.     If Len(Trim(Me.Combo_Con(0))) <> 0 And Len(Trim(Me.Combo_Con(1))) <> 0 Then
  459.         Call Sub_DivMonth(Trim(Combo_Con(0)), iYear1, iMonth1)
  460.         Call Sub_DivMonth(Trim(Combo_Con(1)), iYear2, iMonth2)
  461.         If iYear1 > iYear2 Or (iYear1 = iYear2 And iMonth1 > iMonth2) Then
  462.             Tsxx = "查询起始周期不能大于截止周期!"
  463.             Call Xtxxts(Tsxx, 0, 1)
  464.             Exit Function
  465.         End If
  466.     End If
  467.         
  468.     '查询日期范围应由小到大
  469.     If Format(LrText(0).Text, "yyyy-mm-dd") > Format(LrText(1).Text, "yyyy-mm-dd") And Trim(LrText(1).Text) <> "" Then
  470.         Tsxx = "查询日期范围应由小到大!"
  471.         Call Xtxxts(Tsxx, 0, 1)
  472.         LrText(0).SetFocus
  473.         Exit Function
  474.     End If
  475. '
  476.  
  477.     '<<]以上为依据实际情况自定义部分
  478.  
  479.     Lrtjyxxpd = True
  480. End Function
  481. Private Sub Cmd_Clear_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)    '将用户输入条件全部清除(可选)
  482.     '清除文本框(Fixed)
  483.     For jsqte = 0 To Max_Text_Index
  484.         LrText(jsqte).Tag = ""
  485.         LrText(jsqte).Text = ""
  486.     Next jsqte
  487.     Me.Combo_Con(0).Listindex = 0
  488.     Me.Combo_Con(1).Listindex = 0
  489.  
  490.     
  491.     Me.Opt_PlanType(0).Value = True
  492.     Me.Opt_Check(0).Value = True
  493.     Me.Opt_Exec(0).Value = True
  494.      
  495.     
  496.     '[>>
  497.     '此处可以写入其他清除条件程序
  498.     '<<]
  499.   
  500. End Sub
  501. '*************以下为文本框录入处理程序(固定不变部分)*************'
  502. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  503.   
  504.     '以下为依据实际情况自定义部分[
  505.     '在此填写文本框录入事后处理程序
  506.     ']以上为依据实际情况自定义部分
  507.   
  508. End Sub
  509. Private Sub LrText_Change(Index As Integer)
  510.    
  511.     '屏蔽程序改变控制
  512.     If TextChangeLock Then
  513.         Exit Sub
  514.     End If
  515.     
  516.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  517.     
  518.     '限制字段录入长度
  519.           
  520.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  521.         
  522.     Select Case Textint(Index, 1)
  523.         Case 8, 11      '金额型
  524.             Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  525.         Case 9, 12      '数量型
  526.             Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  527.         Case 10          '单价型
  528.             Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  529.         Case Else        '其他小数类型控制
  530.             If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  531.                 Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  532.             End If
  533.     End Select
  534.         
  535.     TextChangeLock = False '解锁
  536. End Sub
  537. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  538.     Call TextShow(Index)
  539.     CurTextIndex = Index
  540.     LrText(Index).SelStart = Len(LrText(Index))
  541. End Sub
  542. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  543.     
  544.     Select Case KeyCode
  545.         Case vbKeyF2
  546.             Call Text_Help(Index)
  547.     End Select
  548. End Sub
  549. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  550.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  551. End Sub
  552. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点
  553.     '显示相应信息但不能进行有效性判断
  554.   
  555. End Sub
  556.  
  557. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)     '按钮提供帮助
  558.     Call Text_Help(Index)
  559. End Sub
  560. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  561.     If Not Textboolean(Index, 1) Then
  562.         Exit Sub
  563.     End If
  564.      
  565.     '调用帮助
  566.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  567.   
  568.     '根据设置选择显示编码和名称,并进行存储
  569.     If Len(Xtfhcs) <> 0 Then
  570.         If Textint(Index, 3) = 1 Then
  571.             LrText(Index).Text = Xtfhcsfz
  572.             LrText(Index).Tag = Xtfhcs
  573.         Else
  574.             LrText(Index).Text = Xtfhcs
  575.             LrText(Index).Tag = Xtfhcsfz
  576.         End If
  577.     End If
  578.    
  579.     LrText(Index).SetFocus
  580. End Sub
  581. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  582.     '填写文本框得到焦点,进行相应信息处理程序
  583.    
  584. End Sub
  585. Private Sub Wbkcsh()                          '录入文本框初始化
  586.     
  587.     Dim jsqte As Integer
  588.   
  589.     '最大录入文本框索引值
  590.     Max_Text_Index = Textvar(1)
  591.   
  592.     ReDim TextValiJudgeLock(Max_Text_Index)
  593.     For jsqte = 0 To Max_Text_Index
  594.         If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  595.             If Textboolean(jsqte, 1) Then
  596.                 If jsqte <> 0 And Not Textboolean(jsqte, 3) Then
  597.                     'Load Ydcommand1(jsqte)
  598.                 End If
  599.                 Ydcommand1(jsqte).Visible = True
  600.                 Ydcommand1(jsqte).Move LrText(jsqte).Left + LrText(jsqte).Width, LrText(jsqte).Top
  601.             End If
  602.             TextChangeLock = True
  603.             LrText(jsqte).Text = ""
  604.             LrText(jsqte).Tag = ""
  605.             If Textint(jsqte, 5) <> 0 Then
  606.                 LrText(jsqte).MaxLength = Textint(jsqte, 5)
  607.             End If
  608.             TextChangeLock = False
  609.         End If
  610.         TextValiJudgeLock(jsqte) = True
  611.     Next jsqte
  612. End Sub
  613. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  614.     
  615.     Dim Sqlstr As String
  616.     Dim Findrec As ADODB.Recordset
  617.   
  618.     '文本框内容未曾改变不进行有效性判断
  619.     If TextValiJudgeLock(Index) Then
  620.         TextYxxpd = True
  621.         Exit Function
  622.     End If
  623.   
  624.     '文本框内容为空认为有效,并清空其Tag值
  625.     If Trim(LrText(Index)) = "" Then
  626.         LrText(Index).Tag = ""
  627.         Call Wbklrwbcl(Index)
  628.         TextValiJudgeLock(Index) = True
  629.         TextYxxpd = True
  630.         Exit Function
  631.     End If
  632.   
  633.     '可在此加入不做有效性判断的理由
  634.   
  635.     Select Case Textint(Index, 4)
  636.         Case 1      '编码型
  637.             Sqlstr = Trim(Textstr(Index, 5))
  638.             Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  639.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  640.             If Findrec.EOF Then
  641.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  642.                 LrText(Index).SetFocus
  643.                 Exit Function
  644.             Else
  645.                 Select Case Textint(Index, 3)
  646.                     Case 0
  647.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  648.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  649.                         End If
  650.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  651.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  652.                         End If
  653.                     Case 1
  654.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  655.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  656.                         End If
  657.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  658.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  659.                         End If
  660.                 End Select
  661.             End If
  662.         Case 2      '日期型
  663.             If IsDate(LrText(Index).Text) Then
  664.                 LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  665.                 If Val(Mid(LrText(Index), 1, 4)) < 1900 Then
  666.                     LrText(Index).Text = "1900" + Mid(LrText(Index), 5, 6)
  667.                 End If
  668.             Else
  669.                 Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  670.                 Call Xtxxts(Tsxx, 0, 1)
  671.                 LrText(Index).SetFocus
  672.                 Exit Function
  673.             End If
  674.         Case 3      '其他类型
  675.     End Select
  676.     
  677.     '如果有效则加锁,用户不改变内容则不再进行有效性判断
  678.     TextValiJudgeLock(Index) = True
  679.     '调用文本框事后处理程序
  680.     Call Wbklrwbcl(Index)
  681.    
  682.     '有效性判断通过则返回True
  683.     TextYxxpd = True
  684.    
  685. End Function
  686. Private Sub Sub_FillCombo(ComboList As ComboBox)
  687.     Dim RecTemp As New ADODB.Recordset
  688.     Sqlstr = "Select Distinct kjYear From Gy_kjrlb Order by  kjYear     "
  689.     Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  690.     ComboList.Clear
  691.     ComboList.AddItem ""
  692.     If Not RecTemp.EOF Then
  693.         RecTemp.MoveFirst
  694.         Do While Not RecTemp.EOF
  695.             For jsqte = 1 To 12
  696.                 ComboList.AddItem Format(Str(RecTemp!kjyear), "0000") + "." + Format(Str(jsqte), "00")
  697.             Next jsqte
  698.             RecTemp.MoveNext
  699.         Loop
  700.     End If
  701.     ComboList.Listindex = 0
  702. End Sub
  703.  
  704. '判断指定的日期是否在某个计划月份内
  705. Private Function Fn_InPeriod(iYear As Integer, iMonth As Integer, curDate As String) As Boolean
  706.     Dim sBeginDate As String, sEndDate As String
  707.     Fn_InPeriod = False
  708.     sBeginDate = Fn_GetMonthBeginDate(iYear, iMonth)
  709.     sEndDate = Fn_GetMonthEndDate(iYear, iMonth)
  710.     
  711.     If CDate(curDate) >= CDate(sBeginDate) And CDate(curDate) <= CDate(sEndDate) Then
  712.         Fn_InPeriod = True
  713.         Exit Function
  714.     End If
  715.         
  716. End Function
  717. 'Functoin :返回一个月的起始日期
  718. Private Function Fn_GetMonthBeginDate(sYear As Integer, sMonth As Integer)
  719.     Dim sBeginDate As String, Rect As New ADODB.Recordset, Sql As String
  720.     
  721.     Sql = "Select * from gy_kjrlb Where kjYear='" & sYear & "' And Period='" & sMonth & "'"
  722.     Set Rect = Cw_DataEnvi.DataConnect.Execute(Sql)
  723.     If Not Rect.EOF Then
  724.         Fn_GetMonthBeginDate = Format(Rect!Qsrq, "yyyy-mm-dd")
  725.     Else
  726.         sBeginDate = Str(sYear) + "-" + Str(sMonth) + "-01"
  727.         Fn_GetMonthBeginDate = Format(sBeginDate, "yyyy-mm-dd")
  728.     End If
  729.     
  730.     Set Rect = Nothing
  731. End Function
  732. 'Functoin :返回一个月的结束日期
  733. Private Function Fn_GetMonthEndDate(sYear As Integer, sMonth As Integer)
  734.     Dim sEndDate As String, Rect As New ADODB.Recordset, Sql As String
  735.     
  736.     Sql = "Select * from gy_kjrlb Where kjYear='" & sYear & "' And Period='" & sMonth & "'"
  737.     Set Rect = Cw_DataEnvi.DataConnect.Execute(Sql)
  738.     If Not Rect.EOF Then
  739.         Fn_GetMonthEndDate = Format(Rect!Zzrq, "yyyy-mm-dd")
  740.         
  741.     Else
  742.         If sMonth + 1 > 12 Then
  743.             sEndDate = Str(sYear) + "-12-31"
  744.         Else
  745.             sEndDate = Str(sYear) + Str(sMonth + 1) + "-01"
  746.             sEndDate = Format(CDate(sEndDate) - 1, "yyyy-mm-dd")
  747.         End If
  748.         Fn_GetMonthEndDate = Format(sEndDate, "yyyy-mm-dd")
  749.     End If
  750. End Function
  751. Private Sub Sub_DivMonth(InPara As String, Out1 As Integer, Out2 As Integer)
  752.     Dim Pos1 As Integer
  753.     Pos1 = InStr(1, InPara, ".")
  754.     Out1 = Val(Left(InPara, Pos1 - 1))
  755.     Out2 = Right(InPara, Len(InPara) - Pos1)
  756. End Sub
  757. Function HasCurrentCyc(kjyear As Integer, Period As Integer) As Integer
  758.     Dim curcyc As String, bHas As Boolean
  759.     bHas = False
  760.     curcyc = Trim(Str(kjyear)) + "." + Trim(Format(Str(Period), "00"))
  761.     For jsqte = 0 To Combo_Con(0).ListCount
  762.         If Trim(curcyc) = Trim(Combo_Con(0).List(jsqte)) Then
  763.             HasCurrentCyc = jsqte
  764.             Exit Function
  765.         End If
  766.     Next jsqte
  767.     bHasCurrentCyc = -1
  768. End Function