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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form frm_formula 
  3.    AutoRedraw      =   -1  'True
  4.    BackColor       =   &H8000000B&
  5.    BorderStyle     =   3  'Fixed Dialog
  6.    Caption         =   "函数公式向导"
  7.    ClientHeight    =   4485
  8.    ClientLeft      =   45
  9.    ClientTop       =   330
  10.    ClientWidth     =   5730
  11.    Icon            =   "定义函数公式向导.frx":0000
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   4485
  16.    ScaleWidth      =   5730
  17.    ShowInTaskbar   =   0   'False
  18.    StartUpPosition =   2  '屏幕中心
  19.    Begin VB.Frame Frame2 
  20.       Height          =   660
  21.       Left            =   120
  22.       TabIndex        =   11
  23.       Top             =   3300
  24.       Width           =   5505
  25.       Begin VB.OptionButton Option1 
  26.          Caption         =   "除"
  27.          Height          =   300
  28.          Index           =   3
  29.          Left            =   4275
  30.          TabIndex        =   35
  31.          Top             =   255
  32.          Width           =   555
  33.       End
  34.       Begin VB.OptionButton Option1 
  35.          Caption         =   "乘"
  36.          Height          =   300
  37.          Index           =   2
  38.          Left            =   3465
  39.          TabIndex        =   33
  40.          Top             =   255
  41.          Width           =   555
  42.       End
  43.       Begin VB.OptionButton Option1 
  44.          Caption         =   "减"
  45.          Height          =   300
  46.          Index           =   1
  47.          Left            =   2625
  48.          TabIndex        =   31
  49.          Top             =   255
  50.          Width           =   555
  51.       End
  52.       Begin VB.OptionButton Option1 
  53.          Caption         =   "加"
  54.          Height          =   300
  55.          Index           =   0
  56.          Left            =   1800
  57.          TabIndex        =   14
  58.          Top             =   255
  59.          Value           =   -1  'True
  60.          Width           =   555
  61.       End
  62.       Begin VB.CheckBox Check1 
  63.          Caption         =   "继续定义?"
  64.          Height          =   285
  65.          Left            =   225
  66.          TabIndex        =   10
  67.          Top             =   240
  68.          Width           =   1305
  69.       End
  70.    End
  71.    Begin VB.Frame Frame1 
  72.       Caption         =   "辅助项参数内容"
  73.       Height          =   1485
  74.       Left            =   120
  75.       TabIndex        =   15
  76.       Top             =   1710
  77.       Width           =   5520
  78.       Begin VB.CommandButton YDCommand1 
  79.          Height          =   300
  80.          Index           =   8
  81.          Left            =   5100
  82.          Picture         =   "定义函数公式向导.frx":1042
  83.          Style           =   1  'Graphical
  84.          TabIndex        =   36
  85.          Top             =   1080
  86.          Width           =   300
  87.       End
  88.       Begin VB.CommandButton YDCommand1 
  89.          Height          =   300
  90.          Index           =   6
  91.          Left            =   5100
  92.          Picture         =   "定义函数公式向导.frx":13CC
  93.          Style           =   1  'Graphical
  94.          TabIndex        =   32
  95.          Top             =   690
  96.          Width           =   300
  97.       End
  98.       Begin VB.CommandButton YDCommand1 
  99.          Height          =   300
  100.          Index           =   4
  101.          Left            =   5100
  102.          Picture         =   "定义函数公式向导.frx":1756
  103.          Style           =   1  'Graphical
  104.          TabIndex        =   29
  105.          Top             =   315
  106.          Width           =   300
  107.       End
  108.       Begin VB.CommandButton YDCommand1 
  109.          Height          =   300
  110.          Index           =   3
  111.          Left            =   2460
  112.          Picture         =   "定义函数公式向导.frx":1AE0
  113.          Style           =   1  'Graphical
  114.          TabIndex        =   27
  115.          Top             =   285
  116.          Width           =   300
  117.       End
  118.       Begin VB.CommandButton YDCommand1 
  119.          Height          =   300
  120.          Index           =   5
  121.          Left            =   2460
  122.          Picture         =   "定义函数公式向导.frx":1E6A
  123.          Style           =   1  'Graphical
  124.          TabIndex        =   30
  125.          Top             =   660
  126.          Width           =   300
  127.       End
  128.       Begin VB.CommandButton YDCommand1 
  129.          Height          =   300
  130.          Index           =   7
  131.          Left            =   2460
  132.          Picture         =   "定义函数公式向导.frx":21F4
  133.          Style           =   1  'Graphical
  134.          TabIndex        =   34
  135.          Top             =   1050
  136.          Width           =   300
  137.       End
  138.       Begin VB.TextBox lrText 
  139.          Height          =   285
  140.          Index           =   8
  141.          Left            =   3825
  142.          TabIndex        =   9
  143.          Top             =   1080
  144.          Width           =   1290
  145.       End
  146.       Begin VB.TextBox lrText 
  147.          Height          =   285
  148.          Index           =   7
  149.          Left            =   1080
  150.          TabIndex        =   8
  151.          Top             =   1065
  152.          Width           =   1380
  153.       End
  154.       Begin VB.TextBox lrText 
  155.          Height          =   285
  156.          Index           =   6
  157.          Left            =   3825
  158.          TabIndex        =   7
  159.          Top             =   705
  160.          Width           =   1290
  161.       End
  162.       Begin VB.TextBox lrText 
  163.          Height          =   285
  164.          Index           =   5
  165.          Left            =   1080
  166.          TabIndex        =   6
  167.          Top             =   675
  168.          Width           =   1380
  169.       End
  170.       Begin VB.TextBox lrText 
  171.          Height          =   285
  172.          Index           =   4
  173.          Left            =   3825
  174.          TabIndex        =   5
  175.          Top             =   315
  176.          Width           =   1290
  177.       End
  178.       Begin VB.TextBox lrText 
  179.          Height          =   285
  180.          Index           =   3
  181.          Left            =   1080
  182.          TabIndex        =   4
  183.          Top             =   285
  184.          Width           =   1380
  185.       End
  186.       Begin VB.Label Label1 
  187.          Caption         =   "供应商编码:"
  188.          Height          =   255
  189.          Left            =   2820
  190.          TabIndex        =   37
  191.          Top             =   1125
  192.          Width           =   1020
  193.       End
  194.       Begin VB.Label Label6 
  195.          Caption         =   "部门编码:"
  196.          Height          =   330
  197.          Left            =   180
  198.          TabIndex        =   28
  199.          Top             =   330
  200.          Width           =   915
  201.       End
  202.       Begin VB.Label Label4 
  203.          Caption         =   "职员编码:"
  204.          Height          =   330
  205.          Left            =   2970
  206.          TabIndex        =   26
  207.          Top             =   360
  208.          Width           =   885
  209.       End
  210.       Begin VB.Label Label11 
  211.          Caption         =   "项目编码:"
  212.          Height          =   330
  213.          Left            =   2970
  214.          TabIndex        =   24
  215.          Top             =   735
  216.          Width           =   1005
  217.       End
  218.       Begin VB.Label Label8 
  219.          Caption         =   "项目分类:"
  220.          Height          =   270
  221.          Left            =   180
  222.          TabIndex        =   23
  223.          Top             =   720
  224.          Width           =   1215
  225.       End
  226.       Begin VB.Label Label7 
  227.          Caption         =   "客户编码:"
  228.          Height          =   255
  229.          Left            =   180
  230.          TabIndex        =   22
  231.          Top             =   1125
  232.          Width           =   1245
  233.       End
  234.    End
  235.    Begin VB.CommandButton QXCommand 
  236.       Caption         =   "取消(&C)"
  237.       Height          =   300
  238.       Left            =   4515
  239.       Style           =   1  'Graphical
  240.       TabIndex        =   13
  241.       Top             =   4065
  242.       Width           =   1120
  243.    End
  244.    Begin VB.CommandButton QDCommand 
  245.       Caption         =   "确定(&O)"
  246.       Height          =   300
  247.       Left            =   3300
  248.       Style           =   1  'Graphical
  249.       TabIndex        =   12
  250.       Top             =   4065
  251.       Width           =   1120
  252.    End
  253.    Begin VB.Frame Frame5 
  254.       Caption         =   "函数参数内容"
  255.       Height          =   1515
  256.       Left            =   90
  257.       TabIndex        =   16
  258.       Top             =   60
  259.       Width           =   5520
  260.       Begin VB.ComboBox Combo3 
  261.          Height          =   300
  262.          Left            =   2415
  263.          Style           =   2  'Dropdown List
  264.          TabIndex        =   1
  265.          Top             =   255
  266.          Width           =   1005
  267.       End
  268.       Begin VB.ComboBox Combo1 
  269.          Height          =   300
  270.          Left            =   1125
  271.          Style           =   2  'Dropdown List
  272.          TabIndex        =   0
  273.          Top             =   255
  274.          Width           =   1005
  275.       End
  276.       Begin VB.CommandButton YDCommand1 
  277.          Height          =   300
  278.          Index           =   2
  279.          Left            =   5100
  280.          Picture         =   "定义函数公式向导.frx":257E
  281.          Style           =   1  'Graphical
  282.          TabIndex        =   25
  283.          Top             =   1050
  284.          Width           =   300
  285.       End
  286.       Begin VB.TextBox lrText 
  287.          Height          =   300
  288.          Index           =   2
  289.          Left            =   1095
  290.          TabIndex        =   3
  291.          Top             =   1065
  292.          Width           =   4005
  293.       End
  294.       Begin VB.ComboBox Combo2 
  295.          Height          =   300
  296.          Left            =   1110
  297.          Style           =   2  'Dropdown List
  298.          TabIndex        =   2
  299.          Top             =   660
  300.          Width           =   4290
  301.       End
  302.       Begin VB.TextBox lrText 
  303.          Height          =   300
  304.          Index           =   1
  305.          Left            =   4920
  306.          TabIndex        =   39
  307.          Top             =   195
  308.          Visible         =   0   'False
  309.          Width           =   570
  310.       End
  311.       Begin VB.TextBox lrText 
  312.          Height          =   300
  313.          Index           =   0
  314.          Left            =   4305
  315.          TabIndex        =   38
  316.          Top             =   195
  317.          Visible         =   0   'False
  318.          Width           =   570
  319.       End
  320.       Begin VB.Label Label5 
  321.          BackColor       =   &H8000000B&
  322.          Caption         =   "月"
  323.          Height          =   225
  324.          Left            =   3495
  325.          TabIndex        =   21
  326.          Top             =   315
  327.          Width           =   405
  328.       End
  329.       Begin VB.Label Label2 
  330.          BackColor       =   &H8000000B&
  331.          Caption         =   "年"
  332.          Height          =   270
  333.          Left            =   2190
  334.          TabIndex        =   20
  335.          Top             =   330
  336.          Width           =   255
  337.       End
  338.       Begin VB.Label Label10 
  339.          BackColor       =   &H8000000B&
  340.          Caption         =   "科目编码:"
  341.          Height          =   285
  342.          Left            =   195
  343.          TabIndex        =   19
  344.          Top             =   1110
  345.          Width           =   930
  346.       End
  347.       Begin VB.Label Label9 
  348.          AutoSize        =   -1  'True
  349.          BackColor       =   &H8000000B&
  350.          Caption         =   "函数类型:"
  351.          Height          =   195
  352.          Left            =   195
  353.          TabIndex        =   18
  354.          Top             =   735
  355.          Width           =   765
  356.       End
  357.       Begin VB.Label Label3 
  358.          BackColor       =   &H8000000B&
  359.          Caption         =   "取数日期:"
  360.          Height          =   240
  361.          Left            =   195
  362.          TabIndex        =   17
  363.          Top             =   360
  364.          Width           =   930
  365.       End
  366.    End
  367. End
  368. Attribute VB_Name = "frm_formula"
  369. Attribute VB_GlobalNameSpace = False
  370. Attribute VB_Creatable = False
  371. Attribute VB_PredeclaredId = True
  372. Attribute VB_Exposed = False
  373. '**************************************************
  374. '*    模 块 名 称 :单据列表查询条件
  375. '*    功 能 描 述 :
  376. '*    程序员姓名  : 奚俊峰
  377. '*    最后修改人  : 奚俊峰
  378. '*    最后修改时间:2002/01/03
  379. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  380. '**************************************************
  381. Dim Tsxx As String                       '系统信息提示
  382. '以下为固定使用变量(文本框)
  383. Dim Textvar() As Variant                 '存储变体型文本框信息
  384. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  385. Dim Textint() As Integer                 '存储整型文本框信息
  386. Dim Textstr() As String                  '存储字符型文本框信息
  387. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  388. Dim TextGroupCode As String              '文本框录入分组编码
  389. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  390. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  391. Dim CurTextIndex As Integer              '当前文本框索引值
  392. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  393. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  394. Private Sub Combo1_Click()
  395.     LrText(0).Text = Combo1.Text
  396. End Sub
  397. Private Sub Combo3_Click()
  398.     LrText(1).Text = Combo3.Text
  399. End Sub
  400. Private Sub Combo2_KeyDown(KeyCode As Integer, Shift As Integer)
  401.     Select Case KeyCode
  402.     Case 13
  403.         SendKeys "{TAB}"
  404.     End Select
  405. End Sub
  406. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  407.     Dim jdzygs As Integer                         '控件焦点转移个数
  408.     jdzygs = 30
  409.     Select Case KeyAscii
  410.     Case vbKeyReturn
  411.         If Kjjdzy(jdzygs) Then
  412.             KeyAscii = 0
  413.         End If
  414.     Case 39           '屏蔽"'"
  415.         KeyAscii = 0
  416.     End Select
  417. End Sub
  418. Private Sub Form_Load()
  419.     
  420.     '以下为文本框处理程序
  421.     song_temp = ""
  422.     TextGroupCode = "dzbb_hsxd"
  423.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  424.     Call Wbkcsh
  425.     Set_Mode
  426.     Load_FuncType
  427.     
  428. End Sub
  429. Private Sub QdCommand_Click()                                   '确 定
  430.     '录入条件有效性判断
  431.     If Not Lrtjyxxpd Then
  432.         Exit Sub
  433.     End If
  434.     Dim FzText1, FzText2 As String
  435.     FzText1 = ""
  436.     FzText2 = ""
  437.     If Trim(LrText(3).Text) <> "" Then
  438.         If FzText1 = "" Then
  439.             FzText1 = "D" & Trim(LrText(3).Text)
  440.         Else
  441.             If Trim(LrText(3).Text) = "*" Then
  442.                 FzText2 = Trim(LrText(3).Text)
  443.             Else
  444.                 FzText2 = "D" & Trim(LrText(3).Text)
  445.             End If
  446.         End If
  447.     End If
  448.     If Trim(LrText(4).Text) <> "" Then
  449.         If FzText1 = "" Then
  450.             FzText1 = "P" & Trim(LrText(4).Text)
  451.         Else
  452.             If Trim(LrText(4).Text) = "*" Then
  453.                 FzText2 = Trim(LrText(4).Text)
  454.             Else
  455.                 FzText2 = "P" & Trim(LrText(4).Text)
  456.             End If
  457.         End If
  458.     End If
  459.     If Trim(LrText(5).Text) <> "" Then
  460.         If FzText1 = "" Then
  461.             FzText1 = "I" & Trim(LrText(5).Text)
  462.         Else
  463.             If Trim(LrText(5).Text) = "*" Then
  464.                 FzText2 = Trim(LrText(5).Text)
  465.             Else
  466.                 FzText2 = "I" & Trim(LrText(5).Text)
  467.             End If
  468.         End If
  469.     End If
  470.     If Trim(LrText(6).Text) <> "" Then
  471.         If FzText1 = "" Then
  472.             FzText1 = "J" & Trim(LrText(6).Text)
  473.         Else
  474.             If Trim(LrText(6).Text) = "*" Then
  475.                 FzText2 = Trim(LrText(6).Text)
  476.             Else
  477.                 FzText2 = "J" & Trim(LrText(6).Text)
  478.             End If
  479.         End If
  480.     End If
  481.     If Trim(LrText(7).Text) <> "" Then
  482.         If FzText1 = "" Then
  483.             FzText1 = "C" & Trim(LrText(7).Text)
  484.         Else
  485.             If Trim(LrText(7).Text) = "*" Then
  486.                 FzText2 = Trim(LrText(7).Text)
  487.             Else
  488.                 FzText2 = "C" & Trim(LrText(7).Text)
  489.             End If
  490.         End If
  491.     End If
  492.     If Trim(LrText(8).Text) <> "" Then
  493.         If FzText1 = "" Then
  494.             FzText1 = "S" & Trim(LrText(8).Text)
  495.         Else
  496.             If Trim(LrText(8).Text) = "*" Then
  497.                 FzText2 = Trim(LrText(8).Text)
  498.             Else
  499.                 FzText2 = "S" & Trim(LrText(8).Text)
  500.             End If
  501.         End If
  502.     End If
  503.     song_temp = song_temp + Left(Combo2.Text, InStr(1, Combo2.Text, "-") - 1)
  504.     song_temp = UCase(song_temp) & "(" + Chr(34) + Trim(LrText(2).Tag) + Chr(34) + "," + Chr(34) + Trim(LrText(0).Text) + Chr(34) + "," + Chr(34) + Trim(LrText(1).Text) + Chr(34) + "," + Chr(34) + FzText1 + Chr(34) + "," + Chr(34) + FzText2 + Chr(34) + ")"
  505.     If QdCommand.Caption = "下一步" Then
  506.         Set_Mode
  507.         If Option1(0).Value = True Then
  508.             song_temp = song_temp & "+"
  509.         ElseIf Option1(1).Value = True Then
  510.             song_temp = song_temp & "-"
  511.         ElseIf Option1(2).Value = True Then
  512.             song_temp = song_temp & "*"
  513.         ElseIf Option1(3).Value = True Then
  514.             song_temp = song_temp & "/"
  515.         End If
  516.     Else
  517.         Unload Me
  518.     End If
  519.     
  520. End Sub
  521. Private Sub QxCommand_Click()                                    '取消
  522.     song_temp = ""
  523.     Unload Me
  524. End Sub
  525. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  526.     Dim jsqte As Integer
  527.     Lrtjyxxpd = False
  528.     
  529.     '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  530.     For jsqte = 0 To Max_Text_Index
  531.         If Textint(Index, 9) = 0 Or Textint(Index, 9) = 2 Then
  532.             If Not TextYxxpd(jsqte) Then
  533.                 Exit Function
  534.             End If
  535.         End If
  536.     Next jsqte
  537.     
  538.     '[>>以下为依据实际情况自定义部分
  539.     
  540.     '查询凭证号范围应由小到大
  541.     If Combo1.Text = "" Then
  542.         Tsxx = "年不能为空!"
  543.         Call Xtxxts(Tsxx, 0, 4)
  544.         Combo1.SetFocus
  545.         Exit Function
  546.     ElseIf Combo3.Text = "" Then
  547.         Tsxx = "月不能为空!"
  548.         Call Xtxxts(Tsxx, 0, 4)
  549.         Combo3.SetFocus
  550.         Exit Function
  551.     ElseIf LrText(2) = "" Then
  552.         Tsxx = "科目编码不能为空!"
  553.         Call Xtxxts(Tsxx, 0, 4)
  554.         LrText(2).SetFocus
  555.         Exit Function
  556.     ElseIf Combo2.Text = "" Then
  557.         Tsxx = "函数类型不能为空!"
  558.         Call Xtxxts(Tsxx, 0, 4)
  559.         Combo2.SetFocus
  560.         Exit Function
  561.     End If
  562.     '<<]以上为依据实际情况自定义部分
  563.     
  564.     Lrtjyxxpd = True
  565. End Function
  566. Private Sub Cmd_Clear_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)  '将用户输入条件全部清除
  567.     '清除文本框
  568.     For jsqte = 0 To Max_Text_Index
  569.         LrText(jsqte).Tag = ""
  570.         LrText(jsqte).Text = ""
  571.     Next jsqte
  572.     
  573. End Sub
  574. Private Sub Check1_Click()
  575.     If Check1.Value = 1 Then
  576.         Option1(0).Visible = True
  577.         Option1(1).Visible = True
  578.         Option1(2).Visible = True
  579.         Option1(3).Visible = True
  580.         QdCommand.Caption = "下一步"
  581.     Else
  582.         Option1(0).Visible = False
  583.         Option1(1).Visible = False
  584.         Option1(2).Visible = False
  585.         Option1(3).Visible = False
  586.         QdCommand.Caption = "确定"
  587.     End If
  588. End Sub
  589. Public Sub Set_Mode()
  590.     Dim RecTemp As New ADODB.Recordset     '临时使用动态集
  591.     Dim TempStr As String
  592.     TempStr = "SELECT * from gy_kjrlb"
  593.     Set RecTemp = Cw_DataEnvi.dataconnect.Execute(TempStr)
  594.     If Not RecTemp.EOF Then
  595.         Combo1.AddItem "本年"
  596.         Combo1.AddItem "去年"
  597.         Combo1.AddItem RecTemp.Fields("kjyear")
  598.         Combo3.AddItem "本月"
  599.         Combo3.AddItem "上月"
  600.         Do While Not RecTemp.EOF
  601.             Combo3.AddItem RecTemp.Fields("period")
  602.             RecTemp.MoveNext
  603.         Loop
  604.     End If
  605.     Dim i As Integer
  606.     For i = 0 To 3
  607.         Option1(i).Visible = False
  608.     Next i
  609.     For i = 3 To 8
  610.         LrText(i).Enabled = False
  611.         YDCommand1(i).Enabled = False
  612.     Next i
  613.     For i = 2 To 8
  614.         LrText(i).Text = ""
  615.     Next i
  616.     Check1.Value = 0
  617.     Frame1.Enabled = False
  618.     Label4.Enabled = False
  619.     Label6.Enabled = False
  620.     Label7.Enabled = False
  621.     Label8.Enabled = False
  622.     Label11.Enabled = False
  623.     Label1.Enabled = False
  624. End Sub
  625. Public Sub Load_FuncType()
  626.     Set lrst_xtbm = New ADODB.Recordset
  627.     ls_select = "select funccode,funcname from dzbb_funcname order by id"
  628.     lrst_xtbm.Open ls_select, Cw_DataEnvi.dataconnect, adOpenStatic, adLockReadOnly, adCmdText
  629.     If lrst_xtbm.RecordCount > 0 Then
  630.         lrst_xtbm.MoveFirst
  631.         Do While Not lrst_xtbm.EOF
  632.             Combo2.AddItem Trim(lrst_xtbm.Fields("funccode")) & "-" & Trim(lrst_xtbm.Fields("funcname"))
  633.             lrst_xtbm.MoveNext
  634.         Loop
  635.         lrst_xtbm.Close
  636.     End If
  637.     Set lrst_xtbm = Nothing
  638. End Sub
  639. '************以下为文本框录入处理程序(固定不变部分)*************'
  640. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  641.     
  642.     '以下为依据实际情况自定义部分[
  643.     
  644.     '在此填写文本框录入事后处理程序
  645.     
  646.     ']以上为依据实际情况自定义部分
  647. End Sub
  648. Private Sub LrText_Change(Index As Integer)
  649.     
  650.     '屏蔽程序改变控制
  651.     If TextChangeLock Then
  652.         Exit Sub
  653.     End If
  654.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  655.     
  656.     '限制字段录入长度
  657.     
  658.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  659.     Select Case Textint(Index, 1)
  660.     Case 8           '金额型
  661.         Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  662.     Case 9           '数量型
  663.         Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  664.     Case 10          '单价型
  665.         Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  666.     Case Else        '其他小数类型控制
  667.         If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  668.             Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  669.         End If
  670.     End Select
  671.     TextChangeLock = False '解锁
  672. End Sub
  673. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  674.     Call TextShow(Index)
  675.     CurTextIndex = Index
  676.     LrText(Index).SelStart = Len(LrText(Index))
  677. End Sub
  678. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  679.     Select Case KeyCode
  680.     Case 13
  681.         SendKeys "{TAB}"
  682.     Case vbKeyF2
  683.         Call Text_Help(Index)
  684.     End Select
  685. End Sub
  686. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  687.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  688. End Sub
  689. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点进行有效性判断及相应处理
  690.     If Textint(Index, 9) = 0 Or Textint(Index, 9) = 1 Then '事中判断
  691.         Call TextYxxpd(Index)
  692.     End If
  693. End Sub
  694. Private Sub YDCommand1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
  695.     Select Case KeyCode
  696.     Case 13
  697.         SendKeys "{TAB}"
  698.     End Select
  699.     
  700. End Sub
  701. Private Sub YDCommand1_KeyPress(Index As Integer, KeyAscii As Integer)
  702.     Select Case KeyCode
  703.     Case 13
  704.         SendKeys "{TAB}"
  705.     End Select
  706.     
  707. End Sub
  708. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)     '按钮提供帮助
  709.     Call Text_Help(Index)
  710. End Sub
  711. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  712.     If Not Textboolean(Index, 1) Then
  713.         Exit Sub
  714.     End If
  715.     TextValiJudgeLock(Index) = True
  716.     
  717.     '先进行有效性判断
  718.     If Not TextYxxpd(CurTextIndex) Then
  719.         Exit Sub
  720.     End If
  721.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  722.     If Len(Xtfhcs) <> 0 Then
  723.         If Textint(Index, 3) = 1 Then
  724.             LrText(Index).Text = Xtfhcsfz
  725.             LrText(Index).Tag = Xtfhcs
  726.         Else
  727.             LrText(Index).Text = Xtfhcs
  728.             LrText(Index).Tag = Xtfhcsfz
  729.         End If
  730.     End If
  731.     If Index = 2 Then
  732.         Dim RecTemp As New ADODB.Recordset     '临时使用动态集
  733.         Dim TempStr As String
  734.         Dim tDept, tPerson, tCus, tSupplier, tItem As Boolean
  735.         Dim tItemclass  As String
  736.         TempStr = "SELECT * FROM cwzz_acccode Where ccode='" & Xtfhcs & "' or ccode='" & Xtfhcs & "'"
  737.         Set RecTemp = Cw_DataEnvi.dataconnect.Execute(TempStr)
  738.         If Not RecTemp.EOF Then
  739.             tDept = Trim(RecTemp.Fields("deptflag"))
  740.             tPerson = Trim(RecTemp.Fields("personflag"))
  741.             tCus = Trim(RecTemp.Fields("cusflag"))
  742.             tItem = Trim(RecTemp.Fields("itemflag"))
  743.             tSupplier = Trim(RecTemp.Fields("supplierflag"))
  744.             tItemclass = Trim(RecTemp.Fields("itemclasscode") & "")
  745.         End If
  746.         Frame1.Enabled = False
  747.         For i = 3 To 8
  748.             LrText(i).Enabled = False
  749.             YDCommand1(i).Enabled = False
  750.         Next i
  751.         For i = 3 To 8
  752.             LrText(i).Text = ""
  753.         Next i
  754.         Label4.Enabled = False
  755.         Label6.Enabled = False
  756.         Label7.Enabled = False
  757.         Label8.Enabled = False
  758.         Label11.Enabled = False
  759.         Label1.Enabled = False
  760.         If tDept = True Then
  761.             Frame1.Enabled = True
  762.             Label6.Enabled = True
  763.             LrText(3).Enabled = True
  764.             YDCommand1(3).Enabled = True
  765.         End If
  766.         If tPerson = True Then
  767.             Frame1.Enabled = True
  768.             Label4.Enabled = True
  769.             LrText(4).Enabled = True
  770.             YDCommand1(4).Enabled = True
  771.         End If
  772.         If tItemclass <> "" Then
  773.             Frame1.Enabled = True
  774.             Label8.Enabled = True
  775.             LrText(5).Enabled = True
  776.             YDCommand1(5).Enabled = True
  777.         End If
  778.         If tItem = True Then
  779.             Frame1.Enabled = True
  780.             Label11.Enabled = True
  781.             LrText(6).Enabled = True
  782.             YDCommand1(6).Enabled = True
  783.         End If
  784.         If tCus = True Then
  785.             Frame1.Enabled = True
  786.             Label7.Enabled = True
  787.             LrText(7).Enabled = True
  788.             YDCommand1(7).Enabled = True
  789.         End If
  790.         If tSupplier = True Then
  791.             Frame1.Enabled = True
  792.             Label1.Enabled = True
  793.             LrText(8).Enabled = True
  794.             YDCommand1(8).Enabled = True
  795.         End If
  796.     End If
  797.     
  798.     TextValiJudgeLock(Index) = False
  799.     If Index <> 2 Then
  800.         LrText(Index).SetFocus
  801.     End If
  802. End Sub
  803. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  804.     
  805.     '填写文本框得到焦点,进行相应信息处理程序
  806.     
  807. End Sub
  808. Private Sub Wbkcsh()                          '录入文本框初始化
  809.     Dim jsqte As Integer
  810.     
  811.     '最大录入文本框索引值
  812.     Max_Text_Index = Textvar(1)
  813.     
  814.     ReDim TextValiJudgeLock(Max_Text_Index)
  815.     For jsqte = 0 To Max_Text_Index
  816.         
  817.         If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  818.             If Textboolean(jsqte, 1) Then
  819.                 If jsqte <> 0 And Not Textboolean(jsqte, 1) Then
  820.                     Load YDCommand1(jsqte)
  821.                 End If
  822.                 YDCommand1(jsqte).Visible = True
  823.                 YDCommand1(jsqte).Move LrText(jsqte).Left + LrText(jsqte).Width, LrText(jsqte).Top
  824.             End If
  825.             TextChangeLock = True
  826.             LrText(jsqte).Text = ""
  827.             LrText(jsqte).Tag = ""
  828.             If Textint(jsqte, 5) <> 0 Then
  829.                 LrText(jsqte).MaxLength = Textint(jsqte, 5)
  830.             End If
  831.             TextChangeLock = False
  832.         End If
  833.         TextValiJudgeLock(jsqte) = True
  834.     Next jsqte
  835. End Sub
  836. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  837.     Dim Sqlstr As String
  838.     Dim Findrec As ADODB.Recordset
  839.     If TextValiJudgeLock(Index) Then    '文本框内容未曾改变不进行有效性判断
  840.         TextYxxpd = True
  841.         Exit Function
  842.     End If
  843.     If Trim(LrText(Index)) = "" Then
  844.         LrText(Index).Tag = ""
  845.         Call Wbklrwbcl(Index)
  846.         TextValiJudgeLock(Index) = True
  847.         TextYxxpd = True
  848.         Exit Function
  849.     End If
  850.     Select Case Textint(Index, 4)
  851.     Case 1      '编码型
  852.         Sqlstr = Trim(Textstr(Index, 5))
  853.         Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  854.         Set Findrec = Cw_DataEnvi.dataconnect.Execute(Sqlstr)
  855.         If (Index = 3 Or Index = 6) And Trim(LrText(Index).Text) = "*" Then
  856.             TextValiJudgeLock(Index) = True
  857.             TextYxxpd = True
  858.             Exit Function
  859.         End If
  860.         If Findrec.EOF Then
  861.             Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  862.             LrText(Index).SetFocus
  863.             Exit Function
  864.         Else
  865.             Select Case Textint(Index, 3)
  866.             Case 0
  867.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  868.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  869.                 End If
  870.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  871.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  872.                 End If
  873.             Case 1
  874.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  875.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  876.                 End If
  877.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  878.                     If Index = 2 Then
  879.                         Frame1.Enabled = False
  880.                         For i = 3 To 8
  881.                             LrText(i).Enabled = False
  882.                             YDCommand1(i).Enabled = False
  883.                         Next i
  884.                         Label4.Enabled = False
  885.                         Label6.Enabled = False
  886.                         Label7.Enabled = False
  887.                         Label8.Enabled = False
  888.                         Label11.Enabled = False
  889.                         Label1.Enabled = False
  890.                         If Trim(Findrec.Fields("deptflag")) = True Then
  891.                             Frame1.Enabled = True
  892.                             Label6.Enabled = True
  893.                             LrText(3).Enabled = True
  894.                             YDCommand1(3).Enabled = True
  895.                         End If
  896.                         If Trim(Findrec.Fields("personflag")) = True Then
  897.                             Frame1.Enabled = True
  898.                             Label4.Enabled = True
  899.                             LrText(4).Enabled = True
  900.                             YDCommand1(4).Enabled = True
  901.                         End If
  902.                         If Trim(Findrec.Fields("itemclasscode")) <> "" Then
  903.                             Frame1.Enabled = True
  904.                             Label8.Enabled = True
  905.                             LrText(5).Enabled = True
  906.                             YDCommand1(5).Enabled = True
  907.                         End If
  908.                         If Trim(Findrec.Fields("itemflag")) = True Then
  909.                             Frame1.Enabled = True
  910.                             Label11.Enabled = True
  911.                             LrText(6).Enabled = True
  912.                             YDCommand1(6).Enabled = True
  913.                         End If
  914.                         If Trim(Findrec.Fields("cusflag")) = True Then
  915.                             Frame1.Enabled = True
  916.                             Label7.Enabled = True
  917.                             LrText(7).Enabled = True
  918.                             YDCommand1(7).Enabled = True
  919.                         End If
  920.                         If Trim(Findrec.Fields("supplierflag")) = True Then
  921.                             Frame1.Enabled = True
  922.                             Label1.Enabled = True
  923.                             LrText(8).Enabled = True
  924.                             YDCommand1(8).Enabled = True
  925.                         End If
  926.                     End If
  927.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  928.                 End If
  929.             End Select
  930.         End If
  931.     Case 2      '日期型
  932.         If IsDate(LrText(Index).Text) Then
  933.             LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  934.         Else
  935.             Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  936.             Call Xtxxts(Tsxx, 0, 1)
  937.             LrText(Index).SetFocus
  938.             Exit Function
  939.         End If
  940.     Case 3      '其他类型
  941.         '[>>开始
  942.         Select Case Index
  943.         Case 0
  944.             If Not IsNumeric(LrText(0).Text) Then
  945.                 If Trim(LrText(0).Text) <> "本年" And Trim(LrText(0).Text) <> "去年" Then
  946.                     Tsxx = "年份必须输入本年、去年或数字!"
  947.                     Call Xtxxts(Tsxx, 0, 4)
  948.                     Exit Function
  949.                 End If
  950.             End If
  951.         Case 1
  952.             If IsNumeric(LrText(1).Text) Then
  953.                 If Val(LrText(1).Text) > 12 Or Val(LrText(1).Text) < 1 Then
  954.                     Tsxx = "月份范围错误!"
  955.                     Call Xtxxts(Tsxx, 0, 4)
  956.                     LrText(1).SetFocus
  957.                     Exit Function
  958.                 End If
  959.             Else
  960.                 If Trim(LrText(1).Text) <> "本月" And Trim(LrText(1).Text) <> "上月" Then
  961.                     Tsxx = "月份必须输入本月、上月或1-12数字!"
  962.                     Call Xtxxts(Tsxx, 0, 4)
  963.                     LrText(1).SetFocus
  964.                     Exit Function
  965.                 End If
  966.             End If
  967.         End Select
  968.         '完毕<<]
  969.     End Select
  970.     TextValiJudgeLock(Index) = True
  971.     TextYxxpd = True
  972. End Function