2024年5月4日发(作者:)
Access和VBA
分类: 工作相关
2011-07-09 15:05 356人阅读 评论(0) 收藏 举报
accessvba数据库microsofttabledate
最近很忙,忙得基本没时间整理博客,好不容易到了周末,还是把最近工作中学到的东西好好整理下,也算对工作的一种回顾。
1 第一个问题:
利用程序将CSV导入数据库:
第一步:建立Improt/Export Specification
具体步骤:选择“File”-->"Get External Data"-->"Import",选择需要导入的文件,然后在出现的界面中选择“Advanced”并进行设置。
设置的项包括: File Format,如选择Delimited,设置各个域分开的格式,如“|”,设置Date Order。 同时设置Field Imformation,这些字段和需要导入的数
据库中表格的字段名称一样,即使在导入之前表格被删除了,也会按照此种格式建立对应的表格。设置完成后保存。
2 写VBA导入数据的宏,选择tools-->Micro-->"Virtual Basic Eidtor"
实现代码如下:代码进行了一些处理,但最主要的函数还留着
其中erText有两个重要的参数,SpecificationName 这个为第一步建立的spectiation的名字,FileName则为导入的文件的名称,包
括全路径,TableName为建立的表格的名称。
erText(TransferType, SpecificationName, TableName, FileName, HasFieldNames,HTMLTableName, CodePage)
3 第三步: 建立access的宏:
在access中选择宏,并选择新建,在出现的表格中,Action中选择Return Code,并在下面的function中设置为你刚才所写的函数的名称。
第四步: 利用bat自动运行宏导入数据
"C:Program FilesMicrosoft " "you_dirctory"youDB /excl /x your_mirco_name便可以自动导入数据了。
2 第二个问题:
访问access数据库获取数据:
打开数据库:
DIM DBS as se
DIM RST as et
Dim str as String
set DBS =CurrentDb()
str ="select * from Table1"
set RST= cordset(str,dbOpenDynaset)
st
rst
插入数据:
str2 =“insert table ******”//insert语句不再仔细写了
e(str2) 这样就可以插入数据了
关闭数据库:()
获取某一列的数据如RST(“filedName”)
获取access数据库中某个表格中记录的总数:Count,这个数要保证正确,需要RST先MoveLast再MoveFirst一下
3 第三个问题:
插入数据库遇到的问题: 各个字段的值需要用‘’ 括起来,否则有可能插入不成功;
Update的时候需要保证字段名和对应的数据库表格建立的顺序一样,并且有的时候对于一些特殊的类型,如时间,如果写成Update table set
filed1='d',filed3='3' where Dateu= Date有可能更新不成功。
4 第四个问题:利用VBA将数据库中的数据导入excel,并生成html
发布者:admin,转转请注明出处:http://www.yc00.com/web/1714822083a2522665.html
评论列表(0条)