dbs
=
OpenDatabase(App.Path
+
"\APP\TL.mdb")
参数不对:workspace.OpenDatabase(数据库名,打开模式,是否只读,连接字符串)
Set
dbs=Workspaces(0).OpenDatabase(App.Path+"\APP\TL.mdb",False,False,"MS
AccessPWD=***")
'下面引用ADO2.1
Private
Sub
Command1_Click()
On
Error
GoTo
aa:
Dim
dbs
As
New
Connection
'定义为数据库类型
Dim
rst
As
Recordset
'定义为记录类型
Dim
theday
As
Date
'定义为日期类型
Dim
connstr
As
String
Dim
i
As
Integer
Dim
Bcell,
Ecell,
SQLString
As
String
Set
ExcelReport
=
New
Excel.Application
ExcelReport.Workbooks.Open
FileName:=App.Path
+
"\APP\脱硫系统运行日志.xls"
ExcelReport.DisplayAlerts
=
False
Set
Sheet1
=
ExcelReport.Sheets("Sheet1")
Set
Sheet2
=
ExcelReport.Sheets("Sheet2")
Set
Sheet3
=
ExcelReport.Sheets("Sheet3")
Set
Sheet4
=
ExcelReport.Sheets("Sheet4")
Sheet1.Activate
theday
=
Day(CDate(DTPicker1.Value))
connstr
=
"DBQ="
+
App.Path
+
"\APP\TL.mdb"
+
"DefaultDir=DRIVER={Microsoft
Access
Driver
(*.mdb)}"
Set
dbs
=
New
Connection
dbs.Open
connstr
'dbs.Execute
"delete
from
day1
"
SQLString
=
"select
*
from
TL1
where
DT='"
&
CStr(DTPicker1.Value)
&
"'"
dbs.Execute
SQLString
Set
rst
=
dbs.Execute("select
*
from
TL1")
If
rst.EOF
=
False
Then
rst.MoveFirst
End
If
ExcelReport.Visible
=
True
i
=
0
While
rst.EOF
=
False
i
=
i
+
1
Sheet1.Cells(i
+
7,
2)
=
rst!GLFH
Sheet1.Cells(i
+
7,
3)
=
rst!PH
Sheet1.Cells(i
+
7,
4)
=
rst!TFTW
Sheet1.Cells(i
+
7,
5)
=
rst!TFMD
Sheet1.Cells(i
+
7,
6)
=
rst!JT1
Sheet1.Cells(i
+
7,
7)
=
rst!CT1
Sheet1.Cells(i
+
7,
8)
=
rst!JP1
Sheet1.Cells(i
+
7,
9)
=
rst!CP1
Sheet1.Cells(i
+
7,
10)
=
rst!CWSP
Sheet1.Cells(i
+
7,
11)
=
rst!CWXP
Sheet1.Cells(i
+
7,
12)
=
rst!XAI
Sheet1.Cells(i
+
7,
13)
=
rst!XBI
Sheet1.Cells(i
+
7,
14)
=
rst!XCI
Sheet1.Cells(i
+
7,
15)
=
rst!MAI
Sheet1.Cells(i
+
7,
16)
=
rst!MBI
Sheet1.Cells(i
+
7,
17)
=
rst!YAI
Sheet1.Cells(i
+
7,
18)
=
rst!YAP
Sheet1.Cells(i
+
7,
19)
=
rst!YBI
Sheet1.Cells(i
+
7,
20)
=
rst!YBP
Sheet1.Cells(i
+
7,
21)
=
rst!SHAP
Sheet1.Cells(i
+
7,
22)
=
rst!SHBP
Sheet1.Cells(i
+
7,
23)
=
rst!SH_4MIDU
Sheet1.Cells(i
+
7,
24)
=
rst!SGAI
Sheet1.Cells(i
+
7,
25)
=
rst!SGBI
Sheet1.Cells(i
+
7,
26)
=
rst!MFT
Sheet1.Cells(i
+
7,
27)
=
rst!MFP
rst.MoveNext
Wend
ExcelReport.Visible
=
True
GoTo
cc
aa:
ExcelReport.DisplayAlerts
=
False
dbs.Close
Set
dbs
=
Nothing
Unload
Me
cc:
End
Sub
数据库使用二维表存储数据,它不像电子表格那样,具有固定的行号和列号。相对于电子表格来讲,它的列号相当于各个字段名,但是它没有固定的列号,垂直方向的坐标需要由各个记录行的字段值来确定。获取数据表某些单元的数据,一般可以用SQL选择查询,选定输出字段加上筛选条件选字段来确定,例如
select 课程 from 课程表 where 课程id='001'
如果数据表具有唯一约束的列,例如主键或带唯一索引的字段,那么我们就可以用该列名或者说是字段名(横向坐标)加列值(纵向坐标)来精确定位某个记录单元。但是如果不存在唯一标识列的情况下,我们就无法精确定位到某个记录单元了 因为它会返回多个记录行。其实用电子表格单元格的概念去理解数据库表,并不是一个好主意,电子表格和数据库的用途不同,各有各的强项。但就数据处理的能力来讲,数据库要远较电子表格强大,前者关注于数据的储存、管理,和检索,后者关注于数据的展示。请注意现实中数据库中的数据的使用是要通过应用程序来体现的,例如从数据库检索出数据导入到excel做进一步处理并某种外观予以展示。
access系统表和普通表一样可以直接查询
如果想在左侧直接查询看到系统表,需要用access工具设置
单机工具的
文件-》选项-》当前数据库-》导航-》导航选项将系统表勾上即可
之后具体系统表介绍可以百度
介绍一个查询所有表的系统表msysobjects,筛选出type=1和flags=0
详细可以查看网页链接
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)