Form1.frm
上传用户:lykxkj
上传日期:2021-03-23
资源大小:24k
文件大小:4k
源码类别:

家庭/个人应用

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "巧制家庭财务报表"
  4.    ClientHeight    =   1725
  5.    ClientLeft      =   60
  6.    ClientTop       =   450
  7.    ClientWidth     =   3720
  8.    BeginProperty Font 
  9.       Name            =   "宋体"
  10.       Size            =   10.5
  11.       Charset         =   134
  12.       Weight          =   400
  13.       Underline       =   0   'False
  14.       Italic          =   0   'False
  15.       Strikethrough   =   0   'False
  16.    EndProperty
  17.    Icon            =   "Form1.frx":0000
  18.    LinkTopic       =   "Form1"
  19.    ScaleHeight     =   1725
  20.    ScaleWidth      =   3720
  21.    StartUpPosition =   2  '屏幕中心
  22.    Begin VB.CommandButton Command1 
  23.       Caption         =   "显示报表"
  24.       Height          =   495
  25.       Left            =   480
  26.       TabIndex        =   0
  27.       Top             =   240
  28.       Width           =   2775
  29.    End
  30.    Begin VB.Label Label1 
  31.       Caption         =   "程序设计:汤惠莉"
  32.       Height          =   255
  33.       Left            =   1800
  34.       TabIndex        =   1
  35.       Top             =   1320
  36.       Width           =   1935
  37.    End
  38. End
  39. Attribute VB_Name = "Form1"
  40. Attribute VB_GlobalNameSpace = False
  41. Attribute VB_Creatable = False
  42. Attribute VB_PredeclaredId = True
  43. Attribute VB_Exposed = False
  44. '定义全局变量
  45. Dim cn As New ADODB.Connection
  46. Dim rs As New ADODB.Recordset
  47. Dim rs1 As New ADODB.Recordset
  48. Dim cmd As New ADODB.Command
  49. 'Download by http://www.codefans.net
  50. Private Sub Command1_Click()
  51. Dim q As Integer
  52. Dim z As Integer
  53. Dim intCtrl As Integer
  54.   With DataReport1
  55.     Set .DataSource = rs
  56.     .DataMember = ""
  57.     '显示按消费日期分类的消费日期
  58.     With .Sections("section4").Controls
  59.       For intCtrl = 1 To .Count
  60.         If TypeOf .Item(intCtrl) Is RptLabel Then
  61.           .Item(intCtrl).Caption = "消费日期:"
  62.         End If
  63.         If TypeOf .Item(intCtrl) Is RptTextBox Then
  64.           .Item(intCtrl).DataMember = ""
  65.           .Item(intCtrl).DataField = "消费日期"
  66.         End If
  67.       Next
  68.     End With
  69.       
  70.     '显示该消费日期中的消费明细
  71.     q = 0
  72.     z = 0
  73.     With .Sections("Section1").Controls
  74.       For intCtrl = 1 To .Count
  75.         If TypeOf .Item(intCtrl) Is RptLabel Then
  76.           .Item(intCtrl).Caption = rs1.Fields(q).Name & ":"
  77.           q = q + 1
  78.         End If
  79.         If TypeOf .Item(intCtrl) Is RptTextBox Then
  80.           .Item(intCtrl).DataMember = "Command1"
  81.           .Item(intCtrl).DataField = rs1(z).Name
  82.           z = z + 1
  83.         End If
  84.       Next intCtrl
  85.     End With
  86.     
  87.     '显示按消费日期分类的消费金额的合计
  88.     With .Sections("Section5").Controls
  89.       For intCtrl = 1 To .Count
  90.         If TypeOf .Item(intCtrl) Is RptLabel Then
  91.           .Item(intCtrl).Caption = "合计:"
  92.         End If
  93.         If TypeOf .Item(intCtrl) Is RptFunction Then
  94.           .Item(intCtrl).DataMember = "Command1"
  95.           .Item(intCtrl).DataField = rs1(1).Name
  96.         End If
  97.       Next intCtrl
  98.     End With
  99.     .Refresh
  100.     .Show
  101.   End With
  102. End Sub
  103. Private Sub Form_Load()
  104. Dim dbName As String
  105.       
  106.   '连接数据库
  107.   dbName = App.Path + "report.mdb"
  108.   '要使用SHAPE语句,必须指定MSDATASHAPE这个支持者
  109.   cn.Open "Provider=MSDATASHAPE; Data Provider=Microsoft.JET.OLEDB.4.0;" & "Data Source=" & dbName
  110.        
  111.   '按照消费日期这个字段来分类查询该日的消费项目和消费金额
  112.   With cmd
  113.     .ActiveConnection = cn
  114.     .CommandType = adCmdText
  115.     'command1是子查询的别名
  116.     .CommandText = " SHAPE {SELECT 消费项目,消费金额,消费日期 FROM `consume`}  AS Command1 COMPUTE Command1 BY '消费日期'"
  117.     .Execute
  118.   End With
  119.   
  120.   '执行command命令,得到执行结果数据集
  121.   With rs
  122.     .ActiveConnection = cn
  123.     .CursorLocation = adUseClient
  124.     .Open cmd
  125.   End With
  126.   '将分类结果数据集赋予rs1
  127.   Set rs1 = rs(0).Value
  128. End Sub