QueryFixed.frm
上传用户:cntx88
上传日期:2022-08-07
资源大小:169k
文件大小:14k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
  3. Begin VB.Form QueryFixed 
  4.    Caption         =   "查询固定资产"
  5.    ClientHeight    =   6105
  6.    ClientLeft      =   60
  7.    ClientTop       =   450
  8.    ClientWidth     =   7140
  9.    LinkTopic       =   "Form1"
  10.    LockControls    =   -1  'True
  11.    ScaleHeight     =   6105
  12.    ScaleWidth      =   7140
  13.    StartUpPosition =   3  '窗口缺省
  14.    Begin VB.Frame Frame2 
  15.       Height          =   1095
  16.       Left            =   120
  17.       TabIndex        =   17
  18.       Top             =   4800
  19.       Width           =   6855
  20.       Begin VB.CommandButton Command2 
  21.          Cancel          =   -1  'True
  22.          Caption         =   "放弃查询"
  23.          Height          =   615
  24.          Left            =   3720
  25.          TabIndex        =   21
  26.          Top             =   240
  27.          Width           =   2895
  28.       End
  29.       Begin VB.CommandButton Command1 
  30.          Caption         =   "执行查询"
  31.          Default         =   -1  'True
  32.          Height          =   615
  33.          Left            =   240
  34.          TabIndex        =   20
  35.          Top             =   240
  36.          Width           =   2895
  37.       End
  38.    End
  39.    Begin VB.Frame Frame1 
  40.       Caption         =   "固定资产查询【不作为条件的字段留空】"
  41.       Height          =   4575
  42.       Left            =   120
  43.       TabIndex        =   0
  44.       Top             =   120
  45.       Width           =   6855
  46.       Begin VB.CheckBox Check1 
  47.          Caption         =   "不限定日期"
  48.          Height          =   255
  49.          Left            =   4680
  50.          TabIndex        =   22
  51.          Top             =   2280
  52.          Width           =   1215
  53.       End
  54.       Begin VB.TextBox Text7 
  55.          Appearance      =   0  'Flat
  56.          Height          =   270
  57.          Left            =   2520
  58.          TabIndex        =   19
  59.          Text            =   "Text7"
  60.          Top             =   1440
  61.          Width           =   1815
  62.       End
  63.       Begin VB.TextBox Text6 
  64.          Appearance      =   0  'Flat
  65.          Height          =   1335
  66.          Left            =   240
  67.          MaxLength       =   100
  68.          TabIndex        =   15
  69.          Text            =   "Text6"
  70.          Top             =   3000
  71.          Width           =   6375
  72.       End
  73.       Begin VB.TextBox Text5 
  74.          Appearance      =   0  'Flat
  75.          Height          =   270
  76.          Left            =   4800
  77.          TabIndex        =   13
  78.          Text            =   "Text5"
  79.          Top             =   1440
  80.          Width           =   1815
  81.       End
  82.       Begin MSComCtl2.DTPicker DTPicker1 
  83.          Height          =   255
  84.          Left            =   2520
  85.          TabIndex        =   11
  86.          Top             =   2280
  87.          Width           =   1815
  88.          _ExtentX        =   3201
  89.          _ExtentY        =   450
  90.          _Version        =   393216
  91.          Format          =   27066369
  92.          CurrentDate     =   38012
  93.       End
  94.       Begin VB.ComboBox PartCombo 
  95.          Height          =   300
  96.          Left            =   240
  97.          TabIndex        =   10
  98.          Text            =   "Combo1"
  99.          Top             =   2280
  100.          Width           =   1815
  101.       End
  102.       Begin VB.TextBox Text4 
  103.          Appearance      =   0  'Flat
  104.          Height          =   270
  105.          Left            =   240
  106.          TabIndex        =   7
  107.          Text            =   "Text4"
  108.          Top             =   1440
  109.          Width           =   1815
  110.       End
  111.       Begin VB.TextBox Text3 
  112.          Appearance      =   0  'Flat
  113.          Height          =   270
  114.          Left            =   4800
  115.          TabIndex        =   6
  116.          Text            =   "Text3"
  117.          Top             =   600
  118.          Width           =   1815
  119.       End
  120.       Begin VB.TextBox Text2 
  121.          Appearance      =   0  'Flat
  122.          Height          =   270
  123.          Left            =   2520
  124.          TabIndex        =   4
  125.          Text            =   "Text2"
  126.          Top             =   600
  127.          Width           =   1815
  128.       End
  129.       Begin VB.TextBox Text1 
  130.          Appearance      =   0  'Flat
  131.          Height          =   270
  132.          Left            =   240
  133.          TabIndex        =   1
  134.          Text            =   "Text1"
  135.          Top             =   600
  136.          Width           =   1815
  137.       End
  138.       Begin VB.Label Label9 
  139.          Caption         =   "经手人ID"
  140.          Height          =   255
  141.          Left            =   2520
  142.          TabIndex        =   18
  143.          Top             =   1200
  144.          Width           =   1335
  145.       End
  146.       Begin VB.Label Label8 
  147.          Caption         =   "资产说明"
  148.          Height          =   255
  149.          Left            =   240
  150.          TabIndex        =   16
  151.          Top             =   2760
  152.          Width           =   2055
  153.       End
  154.       Begin VB.Label Label7 
  155.          Caption         =   "联系电话"
  156.          Height          =   255
  157.          Left            =   4800
  158.          TabIndex        =   14
  159.          Top             =   1200
  160.          Width           =   1455
  161.       End
  162.       Begin VB.Label Label6 
  163.          Caption         =   "购买日期"
  164.          Height          =   255
  165.          Left            =   2520
  166.          TabIndex        =   12
  167.          Top             =   2040
  168.          Width           =   1455
  169.       End
  170.       Begin VB.Label Label5 
  171.          Caption         =   "购买部门"
  172.          Height          =   255
  173.          Left            =   240
  174.          TabIndex        =   9
  175.          Top             =   2040
  176.          Width           =   1215
  177.       End
  178.       Begin VB.Label Label4 
  179.          Caption         =   "单价(元)"
  180.          Height          =   255
  181.          Left            =   240
  182.          TabIndex        =   8
  183.          Top             =   1200
  184.          Width           =   1335
  185.       End
  186.       Begin VB.Label Label3 
  187.          Caption         =   "资产数目"
  188.          Height          =   255
  189.          Left            =   4800
  190.          TabIndex        =   5
  191.          Top             =   360
  192.          Width           =   1335
  193.       End
  194.       Begin VB.Label Label2 
  195.          Caption         =   "资产名称"
  196.          Height          =   255
  197.          Left            =   2520
  198.          TabIndex        =   3
  199.          Top             =   360
  200.          Width           =   1575
  201.       End
  202.       Begin VB.Label Label1 
  203.          Caption         =   "资产编号"
  204.          Height          =   255
  205.          Left            =   240
  206.          TabIndex        =   2
  207.          Top             =   360
  208.          Width           =   1575
  209.       End
  210.    End
  211. End
  212. Attribute VB_Name = "QueryFixed"
  213. Attribute VB_GlobalNameSpace = False
  214. Attribute VB_Creatable = False
  215. Attribute VB_PredeclaredId = True
  216. Attribute VB_Exposed = False
  217. Option Explicit
  218. Private Sub Check1_Click()
  219.     If Check1.Value Then        '设置是否把日期作为搜索条件
  220.         DTPicker1.Enabled = False
  221.     Else
  222.         DTPicker1.Enabled = True
  223.     End If
  224. End Sub
  225. Private Sub Command1_Click()
  226.     Dim sql As String
  227.     Dim rs As New ADODB.Recordset
  228.     Dim FilterEmpty As Boolean
  229.     Dim rsFilter As String
  230.     Dim i As Integer
  231.     Dim resultcount As Long
  232.     
  233.     If (Not IsNumeric(Text3.Text)) And (Text3.Text <> "") Then     '判断用户输入数据完整性和有效性
  234.         MsgBox "资产数目必须是数字!", vbCritical
  235.         Text3.SetFocus
  236.         Exit Sub
  237.     End If
  238.     If (Not IsNumeric(Text4.Text)) And (Text4.Text <> "") Then
  239.         MsgBox "资产单价必须是数字!", vbCritical
  240.         Text4.SetFocus
  241.         Exit Sub
  242.     End If
  243.     
  244.     If DbHandle.DbConnection Then
  245.         FilterEmpty = True      '设置查询条件为"空"
  246.         If Text1.Text <> "" Then        '判断每个输入控件,如果用户改动就构造搜索条件字符串
  247.             If FilterEmpty Then
  248.                 rsFilter = "FIXED_ID='" & Text1.Text & "'"
  249.             Else
  250.                 rsFilter = rsFilter & " AND FIXED_ID='" & Text1.Text & "'"
  251.             End If
  252.             FilterEmpty = False
  253.         End If
  254.         If Text2.Text <> "" Then
  255.             If FilterEmpty Then
  256.                 rsFilter = "FIXED_NAME='" & Text2.Text & "'"
  257.             Else
  258.                 rsFilter = rsFilter & " AND FIXED_NAME='" & Text2.Text & "'"
  259.             End If
  260.             FilterEmpty = False
  261.         End If
  262.         If Text3.Text <> "" Then
  263.             If FilterEmpty Then
  264.                 rsFilter = "FIXED_NUM=" & Val(Text3.Text)
  265.             Else
  266.                 rsFilter = rsFilter & " AND FIXED_NUM=" & Val(Text3.Text)
  267.             End If
  268.             FilterEmpty = False
  269.         End If
  270.         If Text4.Text <> "" Then
  271.             If FilterEmpty Then
  272.                 rsFilter = "FIXED_MONEY=" & Val(Text4.Text)
  273.             Else
  274.                 rsFilter = rsFilter & " AND FIXED_MONEY=" & Val(Text4.Text)
  275.             End If
  276.             FilterEmpty = False
  277.         End If
  278.         If Text5.Text <> "" Then
  279.             If FilterEmpty Then
  280.                 rsFilter = "FIXED_PHONE='" & Text5.Text & "'"
  281.             Else
  282.                 rsFilter = rsFilter & " AND FIXED_PHONE='" & Text5.Text & "'"
  283.             End If
  284.             FilterEmpty = False
  285.         End If
  286.         If Text6.Text <> "" Then
  287.             If FilterEmpty Then
  288.                 rsFilter = "FIXED_REMARK='" & Text6.Text & "'"
  289.             Else
  290.                 rsFilter = rsFilter & " AND FIXED_REMARK='" & Text6.Text & "'"
  291.             End If
  292.             FilterEmpty = False
  293.         End If
  294.         If Text7.Text <> "" Then
  295.             If FilterEmpty Then
  296.                 rsFilter = "FIXED_USER='" & Text7.Text & "'"
  297.             Else
  298.                 rsFilter = rsFilter & " AND FIXED_USER='" & Text7.Text & "'"
  299.             End If
  300.             FilterEmpty = False
  301.         End If
  302.         If DTPicker1.Enabled Then
  303.             If FilterEmpty Then
  304.                 rsFilter = "FIXED_DATE='" & DTPicker1.Value & "'"
  305.             Else
  306.                 rsFilter = rsFilter & " AND FIXED_DATE='" & DTPicker1.Value & "'"
  307.             End If
  308.             FilterEmpty = False
  309.         End If
  310.         If PartCombo.ListIndex <> -1 Then
  311.             If FilterEmpty Then
  312.                 rsFilter = "FIXED_PART=" & PartCombo.ListIndex
  313.             Else
  314.                 rsFilter = rsFilter & " AND FIXED_PART=" & PartCombo.ListIndex
  315.             End If
  316.             FilterEmpty = False
  317.         End If
  318.         sql = "SELECT FIXED_ID,FIXED_NAME,FIXED_NUM,FIXED_MONEY,FIXED_USER,FIXED_DATE,FIXED_PHONE,FIXED_REMARK,PART_NAME FROM TBL_FIXED,TBL_PART WHERE "
  319.         If FilterEmpty Then     '构造完整的SQL语句(静态语句+动态条件)
  320.             sql = sql & "FIXED_PART=PART_ID"
  321.         Else
  322.             sql = sql & rsFilter & " AND FIXED_PART=PART_ID"
  323.         End If
  324.         rs.CursorType = adOpenDynamic
  325.         rs.LockType = adLockOptimistic
  326.         rs.Open sql, DbFinance
  327.         resultcount = DbHandle.resultcount(rs)
  328.         QueryFixed2.Cls       '设置电子表格的列头
  329.         QueryFixed2.MSFlexGrid1.Cols = 9
  330.         QueryFixed2.MSFlexGrid1.Rows = resultcount + 1
  331.         QueryFixed2.MSFlexGrid1.Row = 0
  332.         QueryFixed2.MSFlexGrid1.Col = 0
  333.         QueryFixed2.MSFlexGrid1.Text = "资产编号"
  334.         QueryFixed2.MSFlexGrid1.Col = 1
  335.         QueryFixed2.MSFlexGrid1.Text = "资产名称"
  336.         QueryFixed2.MSFlexGrid1.Col = 2
  337.         QueryFixed2.MSFlexGrid1.Text = "资产数目"
  338.         QueryFixed2.MSFlexGrid1.Col = 3
  339.         QueryFixed2.MSFlexGrid1.Text = "资产单价"
  340.         QueryFixed2.MSFlexGrid1.Col = 4
  341.         QueryFixed2.MSFlexGrid1.Text = "经手人ID"
  342.         QueryFixed2.MSFlexGrid1.Col = 5
  343.         QueryFixed2.MSFlexGrid1.Text = "联系电话"
  344.         QueryFixed2.MSFlexGrid1.Col = 6
  345.         QueryFixed2.MSFlexGrid1.Text = "购买部门"
  346.         QueryFixed2.MSFlexGrid1.Col = 7
  347.         QueryFixed2.MSFlexGrid1.Text = "购买日期"
  348.         QueryFixed2.MSFlexGrid1.Col = 8
  349.         QueryFixed2.MSFlexGrid1.Text = "资产说明"
  350.         For i = 0 To 8     '平均分配每个列的宽
  351.             QueryFixed2.MSFlexGrid1.ColWidth(i) = QueryFixed2.MSFlexGrid1.Width / 9 - 50
  352.         Next i
  353.         For i = 1 To resultcount    '循环将报销记录信息放入电子表格
  354.             QueryFixed2.MSFlexGrid1.Row = i
  355.             QueryFixed2.MSFlexGrid1.Col = 0
  356.             QueryFixed2.MSFlexGrid1.Text = rs("FIXED_ID")
  357.             QueryFixed2.MSFlexGrid1.Col = 1
  358.             QueryFixed2.MSFlexGrid1.Text = rs("FIXED_NAME")
  359.             QueryFixed2.MSFlexGrid1.Col = 2
  360.             QueryFixed2.MSFlexGrid1.Text = Trim(Str(rs("FIXED_NUM")))
  361.             QueryFixed2.MSFlexGrid1.Col = 3
  362.             QueryFixed2.MSFlexGrid1.Text = Trim(Str(rs("FIXED_MONEY")))
  363.             QueryFixed2.MSFlexGrid1.Col = 4
  364.             QueryFixed2.MSFlexGrid1.Text = rs("FIXED_USER")
  365.             QueryFixed2.MSFlexGrid1.Col = 5
  366.             QueryFixed2.MSFlexGrid1.Text = rs("FIXED_PHONE")
  367.             QueryFixed2.MSFlexGrid1.Col = 6
  368.             QueryFixed2.MSFlexGrid1.Text = rs("PART_NAME")
  369.             QueryFixed2.MSFlexGrid1.Col = 7
  370.             QueryFixed2.MSFlexGrid1.Text = rs("FIXED_DATE")
  371.             QueryFixed2.MSFlexGrid1.Col = 8
  372.             QueryFixed2.MSFlexGrid1.Text = rs("FIXED_REMARK")
  373.             rs.MoveNext
  374.         Next i
  375.         QueryFixed2.Show 1        '显示查询结构窗体
  376.         rs.Close        '查询结束,释放资源
  377.         DbHandle.DbClose
  378.     Else        '数据库连接失败,退出
  379.         MsgBox "数据库错误!", vbExclamation
  380.         DbHandle.DbClose
  381.         End
  382.     End If
  383. End Sub
  384. Private Sub Command2_Click()
  385.     Unload Me       '返回主窗体
  386. End Sub
  387. Private Sub Form_Load()
  388.     Dim sql As String
  389.     Dim rs As New ADODB.Recordset
  390.     
  391.     Me.Left = (Screen.Width - Me.ScaleWidth) / 2       '窗体居中显示
  392.     Me.Top = (Screen.Height - Me.ScaleHeight) / 2
  393.     If DbHandle.DbConnection Then
  394.         sql = "TBL_PART"     '把部门信息表中所有静态记录提取出来
  395.         rs.CursorType = adOpenDynamic
  396.         rs.LockType = adLockOptimistic
  397.         rs.Filter = ""
  398.         rs.Open sql, DbFinance
  399.         
  400.         Do While rs.EOF = False     '循环加入下拉列表中去
  401.             PartCombo.AddItem (rs("PART_NAME"))
  402.             PartCombo.ItemData(PartCombo.NewIndex) = rs("PART_ID")
  403.             rs.MoveNext
  404.         Loop
  405.         rs.Close        '释放资源
  406.         Set rs = Nothing
  407.         DbHandle.DbClose
  408.     Else        '数据库连接失败,退出
  409.         MsgBox "数据库错误!", vbExclamation
  410.         DbHandle.DbClose
  411.         End
  412.     End If
  413.     Text1.Text = ""    '初始化窗体元素属性
  414.     Text2.Text = ""
  415.     Text3.Text = ""
  416.     Text4.Text = ""
  417.     Text5.Text = ""
  418.     Text6.Text = ""
  419.     Text7.Text = ""
  420.     Text7.MaxLength = 100
  421.     PartCombo.Text = ""
  422. End Sub