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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form Book_Check_Search 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "固定资产总帐查询条件"
  5.    ClientHeight    =   1800
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   3780
  9.    HelpContextID   =   505004
  10.    Icon            =   "固定资产总帐查询.frx":0000
  11.    KeyPreview      =   -1  'True
  12.    LinkTopic       =   "Form1"
  13.    LockControls    =   -1  'True
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    ScaleHeight     =   1800
  17.    ScaleWidth      =   3780
  18.    ShowInTaskbar   =   0   'False
  19.    StartUpPosition =   2  '屏幕中心
  20.    Begin VB.CheckBox UnloadCheck 
  21.       Caption         =   "卸载窗体"
  22.       Height          =   615
  23.       Left            =   150
  24.       TabIndex        =   10
  25.       Top             =   1980
  26.       Width           =   825
  27.    End
  28.    Begin VB.CommandButton QxCommand 
  29.       Cancel          =   -1  'True
  30.       Caption         =   "取消(&C)"
  31.       Height          =   300
  32.       Left            =   2580
  33.       TabIndex        =   4
  34.       Top             =   1440
  35.       Width           =   1120
  36.    End
  37.    Begin VB.CommandButton QdCommand 
  38.       Caption         =   "确定(&O)"
  39.       Height          =   300
  40.       Left            =   1380
  41.       TabIndex        =   3
  42.       Top             =   1440
  43.       Width           =   1120
  44.    End
  45.    Begin VB.Frame Frame1 
  46.       ForeColor       =   &H00FF0000&
  47.       Height          =   1365
  48.       Left            =   60
  49.       TabIndex        =   5
  50.       Top             =   0
  51.       Width           =   3645
  52.       Begin VB.CommandButton Ydcommand 
  53.          Height          =   300
  54.          Index           =   1
  55.          Left            =   3225
  56.          Picture         =   "固定资产总帐查询.frx":1042
  57.          Style           =   1  'Graphical
  58.          TabIndex        =   13
  59.          Top             =   930
  60.          Width           =   300
  61.       End
  62.       Begin VB.CommandButton Ydcommand 
  63.          Height          =   300
  64.          Index           =   0
  65.          Left            =   3225
  66.          Picture         =   "固定资产总帐查询.frx":13CC
  67.          Style           =   1  'Graphical
  68.          TabIndex        =   6
  69.          Top             =   570
  70.          Width           =   300
  71.       End
  72.       Begin VB.TextBox lrtext 
  73.          Height          =   300
  74.          Index           =   0
  75.          Left            =   990
  76.          MaxLength       =   20
  77.          TabIndex        =   1
  78.          Top             =   570
  79.          Width           =   2235
  80.       End
  81.       Begin VB.TextBox lrtext 
  82.          Height          =   300
  83.          Index           =   1
  84.          Left            =   990
  85.          MaxLength       =   20
  86.          TabIndex        =   2
  87.          Top             =   930
  88.          Width           =   2235
  89.       End
  90.       Begin VB.ComboBox YearCombo 
  91.          Height          =   300
  92.          ItemData        =   "固定资产总帐查询.frx":1756
  93.          Left            =   990
  94.          List            =   "固定资产总帐查询.frx":1758
  95.          Style           =   2  'Dropdown List
  96.          TabIndex        =   0
  97.          Top             =   210
  98.          Width           =   2535
  99.       End
  100.       Begin VB.Label Label1 
  101.          AutoSize        =   -1  'True
  102.          Caption         =   "资产类别:"
  103.          Height          =   180
  104.          Index           =   0
  105.          Left            =   150
  106.          TabIndex        =   9
  107.          Top             =   630
  108.          Width           =   810
  109.       End
  110.       Begin VB.Label Label1 
  111.          AutoSize        =   -1  'True
  112.          Caption         =   "所属部门:"
  113.          Height          =   180
  114.          Index           =   1
  115.          Left            =   150
  116.          TabIndex        =   8
  117.          Top             =   990
  118.          Width           =   810
  119.       End
  120.       Begin VB.Label Label1 
  121.          AutoSize        =   -1  'True
  122.          Caption         =   "会计年度:"
  123.          Height          =   180
  124.          Index           =   2
  125.          Left            =   150
  126.          TabIndex        =   7
  127.          Top             =   255
  128.          Width           =   810
  129.       End
  130.    End
  131.    Begin VB.Label Zclbbmlab 
  132.       Height          =   495
  133.       Left            =   960
  134.       TabIndex        =   12
  135.       Top             =   2070
  136.       Visible         =   0   'False
  137.       Width           =   495
  138.    End
  139.    Begin VB.Label BmbhLab 
  140.       Height          =   495
  141.       Left            =   1020
  142.       TabIndex        =   11
  143.       Top             =   2250
  144.       Visible         =   0   'False
  145.       Width           =   615
  146.    End
  147. End
  148. Attribute VB_Name = "Book_Check_Search"
  149. Attribute VB_GlobalNameSpace = False
  150. Attribute VB_Creatable = False
  151. Attribute VB_PredeclaredId = True
  152. Attribute VB_Exposed = False
  153. '******************************************************************
  154. '*    模 块 名 称 :资产总帐查询条件
  155. '*    功 能 描 述 :
  156. '*    程序员姓名  :徐衍民
  157. '*    最后修改人  :徐衍民
  158. '*    最后修改时间:2001/12/13
  159. '*    备        注:
  160. '******************************************************************
  161. Dim Tsxx As String                       '系统信息提示
  162. Dim Rs_Temp As ADODB.Recordset
  163. Dim rstemp As ADODB.Recordset
  164. Dim i As Integer
  165. '以下为固定使用变量(文本框)
  166. Dim Textvar() As Variant                 '存储变体型文本框信息
  167. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  168. Dim Textint() As Integer                 '存储整型文本框信息
  169. Dim Textstr() As String                  '存储字符型文本框信息
  170. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  171. Dim TextGroupCode As String              '文本框录入分组编码
  172. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  173. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  174. Dim CurTextIndex As Integer              '当前文本框索引值
  175. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  176. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  177. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  178.     
  179.     Dim jdzygs As Integer                         '控件焦点转移个数
  180.     jdzygs = 4
  181.     Select Case KeyAscii
  182.         Case vbKeyReturn
  183.             If Kjjdzy(jdzygs) Then
  184.                 KeyAscii = 0
  185.             End If
  186.         Case 39           '屏蔽"'"
  187.             KeyAscii = 0
  188.     End Select
  189. End Sub
  190. Private Sub Form_Load()
  191.    
  192.     '以下为文本框处理程序
  193.     TextGroupCode = "Gdzc_Check_Search"
  194.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  195.     Call Wbkcsh
  196.     
  197.     '为会计年度赋值
  198.     Set rstemp = Cw_DataEnvi.DataConnect.Execute("select distinct Year from Gdzc_Total")
  199.     While Not rstemp.EOF
  200.         YearCombo.AddItem rstemp!Year
  201.         rstemp.MoveNext
  202.     Wend
  203.     rstemp.Close
  204.     Set rstemp = Nothing
  205.     If YearCombo.ListCount > 0 Then YearCombo.Text = Xtyear
  206. End Sub
  207. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  208.     
  209.     If UnloadCheck.Value <> 1 Then
  210.         Cancel = 1
  211.         Me.Hide
  212.     End If
  213. End Sub
  214. Private Sub QdCommand_Click()                                   '确 定
  215.     
  216.     '录入条件有效性判断
  217.     If Not Lrtjyxxpd Then
  218.         Exit Sub
  219.     End If
  220.     Me.Hide
  221.         
  222.     '激活查询过程
  223.     Book_CheckList.Timer1.Enabled = True
  224.     Book_CheckList.Show
  225.     Book_CheckList.SetFocus
  226. End Sub
  227. Private Sub QxCommand_Click()                                    '取消
  228.     For Jsqte = 0 To Max_Text_Index
  229.         lrtext(Jsqte).Tag = ""
  230.         lrtext(Jsqte).Text = ""
  231.     Next Jsqte
  232.     Me.Hide
  233. End Sub
  234. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  235.  
  236.     Dim Jsqte As Integer
  237.     Lrtjyxxpd = False
  238.  
  239.     '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  240.     For Jsqte = 0 To Max_Text_Index
  241.         If Textint(Jsqte, 9) = 0 Or Textint(Jsqte, 9) = 2 Then
  242.             If Not TextYxxpd(Jsqte) Then
  243.                 Exit Function
  244.             End If
  245.         End If
  246.     Next Jsqte
  247.    
  248.     '[>>以下为依据实际情况自定义部分
  249.  
  250.     '<<]以上为依据实际情况自定义部分
  251.  
  252.     Lrtjyxxpd = True
  253. End Function
  254. '************以下为文本框录入处理程序(固定不变部分)*************'
  255. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  256.     '以下为依据实际情况自定义部分[
  257.   
  258.     '在此填写文本框录入事后处理程序
  259.    
  260.     ']以上为依据实际情况自定义部分
  261. End Sub
  262. Private Sub LrText_Change(Index As Integer)
  263.     '屏蔽程序改变控制
  264.     If TextChangeLock Then
  265.         Exit Sub
  266.     End If
  267.    
  268.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  269.     
  270.     '限制字段录入长度
  271.           
  272.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  273.     Select Case Textint(Index, 1)
  274.         Case 8, 11      '金额型
  275.             Call Sjgskz(lrtext(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  276.         Case 9, 12      '数量型
  277.             Call Sjgskz(lrtext(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  278.         Case 10          '单价型
  279.             Call Sjgskz(lrtext(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  280.         Case Else        '其他小数类型控制
  281.             If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  282.                 Call Sjgskz(lrtext(Index), Textint(Index, 6), Textint(Index, 7))
  283.             End If
  284.         End Select
  285.     TextChangeLock = False '解锁
  286. End Sub
  287. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  288.     
  289.     Call TextShow(Index)
  290.     CurTextIndex = Index
  291.     lrtext(Index).SelStart = Len(lrtext(Index))
  292. End Sub
  293. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  294.     
  295.     Select Case KeyCode
  296.         Case vbKeyF2
  297.             Call Text_Help(Index)
  298.     End Select
  299. End Sub
  300. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  301.     Call InputFieldLimit(lrtext(Index), Textint(Index, 1), KeyAscii)
  302. End Sub
  303. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点进行有效性判断及相应处理
  304.     
  305.     If Textint(Index, 9) = 0 Or Textint(Index, 9) = 1 Then '事中判断
  306.         Call TextYxxpd(Index)
  307.     End If
  308. End Sub
  309. Private Sub ydcommand_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)     '按钮提供帮助
  310.     
  311.     If lrtext(Index).Enabled = False Then
  312.         Exit Sub
  313.     End If
  314.     Call Text_Help(Index)
  315.     
  316. End Sub
  317. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  318.     
  319.     If Not Textboolean(Index, 1) Then
  320.         Exit Sub
  321.     End If
  322.     
  323.     TextValiJudgeLock(Index) = True
  324.    
  325.     '先进行有效性判断
  326.     If Not TextYxxpd(CurTextIndex) Then
  327.         Exit Sub
  328.     End If
  329.      
  330.     '[>>调入参照窗体
  331.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(lrtext(Index).Text))
  332.      '<<]
  333.     If Len(Xtfhcs) <> 0 Then
  334.         If Textint(Index, 3) = 1 Then
  335.             lrtext(Index).Text = Xtfhcsfz
  336.             lrtext(Index).Tag = Xtfhcs
  337.         Else
  338.             lrtext(Index).Text = Xtfhcs
  339.             lrtext(Index).Tag = Xtfhcsfz
  340.         End If
  341.     End If
  342.     
  343.     TextValiJudgeLock(Index) = False
  344.     lrtext(Index).SetFocus
  345. End Sub
  346. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  347.     '填写文本框得到焦点,进行相应信息处理程序
  348.    
  349. End Sub
  350. Private Sub Wbkcsh()                          '录入文本框初始化
  351.   
  352.     Dim Jsqte As Integer
  353.   
  354.     '最大录入文本框索引值
  355.     Max_Text_Index = Textvar(1)
  356.   
  357.     ReDim TextValiJudgeLock(Max_Text_Index)
  358.     
  359.     For Jsqte = 0 To Max_Text_Index
  360.         lrtext(Jsqte).Text = ""
  361.     Next Jsqte
  362.     For Jsqte = 0 To Max_Text_Index
  363.         If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
  364.             If Textboolean(Jsqte, 1) Then
  365.                 If Jsqte <> 0 And Not Textboolean(Jsqte, 3) Then
  366.                     Load ydcommand(Jsqte)
  367.                 End If
  368.                 ydcommand(Jsqte).Visible = True
  369.                 ydcommand(Jsqte).Move lrtext(Jsqte).Left + lrtext(Jsqte).Width, lrtext(Jsqte).Top
  370.             End If
  371.             TextChangeLock = True
  372.             lrtext(Jsqte).Text = ""
  373.             lrtext(Jsqte).Tag = ""
  374.             If Textint(Jsqte, 5) <> 0 Then
  375.                 lrtext(Jsqte).MaxLength = Textint(Jsqte, 5)
  376.             End If
  377.             TextChangeLock = False
  378.         End If
  379.         TextValiJudgeLock(Jsqte) = True
  380.     Next Jsqte
  381. End Sub
  382. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  383.     
  384.     Dim Sqlstr As String
  385.     Dim Findrec As ADODB.Recordset
  386.     
  387.     If TextValiJudgeLock(Index) Then    '文本框内容未曾改变不进行有效性判断
  388.         TextYxxpd = True
  389.         Exit Function
  390.     End If
  391.     
  392.     If Trim(lrtext(Index)) = "" Then
  393.         lrtext(Index).Tag = ""
  394.         Call Wbklrwbcl(Index)
  395.         TextValiJudgeLock(Index) = True
  396.         TextYxxpd = True
  397.         Exit Function
  398.     End If
  399.     
  400.     Select Case Textint(Index, 4)
  401.         Case 1      '编码型
  402.             Sqlstr = Trim(Textstr(Index, 5))
  403.             Sqlstr = Replace(Sqlstr, "@", "'" + Trim(lrtext(Index).Text) + "'")
  404.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  405.             If Findrec.EOF Then
  406.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  407.                 lrtext(Index).SetFocus
  408.                 Exit Function
  409.             Else
  410.                 Select Case Textint(Index, 3)
  411.                     Case 0
  412.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  413.                             lrtext(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  414.                         End If
  415.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  416.                             lrtext(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  417.                         End If
  418.                     Case 1
  419.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  420.                             lrtext(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  421.                         End If
  422.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  423.                             lrtext(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  424.                         End If
  425.                 End Select
  426.             End If
  427.         Case 2      '日期型
  428.             If IsDate(lrtext(Index).Text) Then
  429.                 lrtext(Index).Text = Format(lrtext(Index).Text, "yyyy-mm-dd")
  430.                 If Val(Mid(lrtext(Index), 1, 4)) < 1900 Then
  431.                     lrtext(Index).Text = "1900" + Mid(lrtext(Index), 5, 6)
  432.                 End If
  433.             Else
  434.                 Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  435.                 Call Xtxxts(Tsxx, 0, 1)
  436.                 lrtext(Index).SetFocus
  437.                 Exit Function
  438.             End If
  439.         Case 3      '其他类型
  440.             If Index = 6 Then
  441.                 Set Rs_Temp = New ADODB.Recordset
  442.                 Rs_Temp.Open "select * from gdzc_sort where FASortCode='" & Trim(lrtext(Index).Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  443.                 If Rs_Temp.EOF Then
  444.                 
  445.                 End If
  446.                 Rs_Temp.Close
  447.                 Set Rs_Temp = Nothing
  448.             End If
  449.     End Select
  450.     
  451.     TextValiJudgeLock(Index) = True
  452.     TextYxxpd = True
  453. End Function