标签:远程教育资源网,远程教育学习总结,
Excel 2017访问远程数据的四种方法,
Excel 2000访问远程数据的四种方法
excel 2000作为一个电子表格软件,它不仅有强大的数据处理能力,而且它的报表功能也是十分强大。因而常常用excel 2000去调用access、sql server、oracle、db2等数据库软件建立的大型数据库的内容。用户可以在工作表中对这些数据进行筛选、排序、查询、编辑和打印报表,十分方便,这也是大多数人都熟悉的。但如何去调用这数据呢?本人在这里提供4种方法。
下面四种方法必须要先创建一个数据源,我们以sql server7.0内的样本数据库pubs为例。在控制面板/odbc数据源/系统dsn,单击增加按纽,选取sql server驱动程序,建立一个与pubs数据库连接的叫pubs名称数据源。
方法一:
在excel 2000中,选择 数据/获取外部数据/新建数据库查询,然后按向导的提示一步一步做,最后将数据返回excel 2000中就行了
这种方法是大家常用的,也是最方便的。但这种方法只能对远程数据进行查询,不能对远程数据进行增加和修改。
方法二:
这种方法需要vba编程(方法三、方法四也一样),在visual basic编程中,我们经常用ado来访问数据。ado是microsoft提供的针对各种各样数据源的新型高级编程接口。它支持大多数据库操作,在excel 2000中应用ado来访问数据,是十分理想的方法。看看下面一个实例:
sub opendb()
dim cn as adodb.connection
dim rs as adodb.recordset
set cn = new adodb.connection
set rs = new adodb.recordset
cn.open "provider=msdasql.1;persist security info=false;data source=pubs"
rs.open "select * fr
om authors", cn
range("a1").copyfromrecordset rs
rs.close
cn.close
end sub
宏中第一、二句定义了一个ado 的connection对象和一个recordset对象,第三、四句创建了一个ado 的connection对象和一个recordset对象。第五句连接到前面我们建立的数据源pubs数据库。第六句是ado 的recordset对象执行一条sql里select语句。在这也可以执行insert,update等等sql语句的。第七句是将rs里的记录返回当前表里。第八、九句是关闭连接。运行前要在excel 2000工具/引用中引用ado的库文件。
在excel 2000中应用ado对象,不仅可以对数据库进行查询,而且可以作增加,修改数据库的记录,甚至可以调用sql server7.0的存储过程,加强excel 2000对数据库处理能力。
方法三:
excel 2000的功能是十分强大的,它自带了一个odbc加载宏,我们在excel 2000中引用这个宏文件xlodbc.xla,就可以通过下面的方法去访问我们建立的数据源了
sub opendb()
dim id as integer
id = sqlopen(“dsn=pubs”)
sqlexecquery id, “select * from authors”
set output = worksheets("sheet1").range("a1")
sqlretrieve id, output, , ,
 
; true sqlclose id
end sub
第二句是调用xlodbc.xla宏中的sqlopen函数建立一个对数据库pubs连接,第三句是sqlexecquery函数执行了一条select语句,id是由 sqlopen 函数返回的唯一连接标识,第四句是sqlretrieve函数将sqlexecquery函数执行的查询的结果返回到excel 2000中。
这种编程方法可以说来的容易,用得方便。也是一种好的访问远程数据方法。
方法四:
这种方法是使用api方法,下面是一个实例
'分配环境句柄
res = sqlallochandle(sql_handle_env, sql_null_henv, henv)
'设置环境属性
res = sqlsetenvattr(henv, sql_attr_odbc_version, sql_ov_odbc3, 0)
'分配数据库连接句柄
res = sqlallochandle(sql_handle_dbc, henv, hsvr)
'连接到数据源
sconnect=“dsn=pubs;database=pubs“
res=sqldriverconnect(hsvr,byval,0&,sconnect,len(sconnect),sconnout, len(sconnout), _ nconnoutlen, 0)
ssql =“select * from authors“
res = sqlexecdirect(hsel, ssql, len(ss
ql))
'将记录返回当前表里
res=sqlnumresultcols(hsel, nc)
do while (sqlfetch(hsel) <> sql_no_data_found)
j=j+1
for i=1 to nc
res = sqlgetdata(hsel, i, sql_c_char, tmp, 512, pl)
cells(j, i) =tmp
next i
loop
'释放数据库连接句柄
res = sqlallochandle(sql_handle_stmt, hsvr, hsel)
'释放数据库连接句柄
ret = sqlfreehandle(sql_handle_env, henv)
这种方法比较复杂,调试也比较困难,但运行速度快,在进行大量查询数据和自己在api调用方面比较熟时,可以用这个方法。在用上面的实例时,要做api声明和常量的定义。
马克思“世界历史”思想的方法论意义
【英文标题】MethodologicalSignificanceofKarlMarx’sThoughtofWorldHistory【内容提要】马克思的“世界历史”思想对于研究全球化问题具有重要的方法论意义:一是使世界历史的研究达到一种新境界,这就是要注意从历史发展规律的高度来研究 阅读全文 >>
安稳入睡讲方法
(4)促进生长发育:睡眠与儿童生长发育密切相关,婴幼儿在出生后相当长的时间内,大脑继续发育,这个过程离不开睡眠;且儿童的生长在睡眠状态下速度增快,因为睡眠期血浆生长激素可以连续数小时维持在较高水平。所以应保证儿童充足的睡眠,以保证其生长发育。(5)延缓衰老,促进长寿:近年来,许多 阅读全文 >>
Excel自带的示例文件
Excel自带的示例文件仲飞广西壮族自治区柳州市在<Drive>:\ProgramFiles\MicrosoftOffice\Office10\Samples文件夹中有两个EXCEL示例文件SAMPLES:主要包含工作表函数,条件格式,数据有效性,图标标志,重复任务, 阅读全文 >>
论会计理论研究方法中的几个问题
会计理论研究方法始终是会计理论中的重要内容。以往有关会计理论研究方法的研究成果,较少论及会计理论与其研究方法之间的关系,会计理论研究方法的特征,以及会计理论研究方法体系的构成机理。本文立足于哲学基础,试对上述问题作一探讨。一、会计理论与会计理论研究方法之间的关系会计理论从不同角度 阅读全文 >>
试论国际货物买卖合同的救济方法
摘要:本文围绕两大法系以及《联合国国际货物销售合同公约》对国际货物买卖合同救济方法的规定进行了概括的分析,并从买卖双方都可以行使的救济方法,买方违约时卖方的救济方法以及卖方违约时买方的救济方法三个方面进行了论述。其中着重介绍了损害赔偿、解除合同以及继续履行三种比较常见的救济方法。 阅读全文 >>