ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2169|回复: 5

[已解决] 为什么不能创建数据库??以下代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-8-24 13:42 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 创建进销存表数据库()
'*******************************************
'作者:bengdeng
'功能:在程序文件同一目录创建进销表一个进销存表数据库
'注意:要在工具/引用中引用microsoft activex date objects x.x
' 其中x.x为版本号,可能会因为你安装的office的版本不同而不同,本例引用了2.5版
' 由于要创建一个新的数据库,还要引用microsoft ado ext.2.x for ddl and security
' 利用ADOX的Create方法来创建,其中2.X为版本号,本例引用了2.8版
'*******************************************
Dim MyCat As ADOX.Catalog
Dim conn As ADODB.Connection
Dim WN As String
Dim sSql As String
WN = "进销存表.mdb"
Set MyCat = New ADOX.Catalog
MyCat.Create "Provider=Microsoft.Jet.Oledb.4.0; _
Data Source=" & ThisWorkbook.Path & "\" & WN
Set conn = New ADODB.Connection
conn.ConnectionString = MyCat.ActiveConnection
conn.Open
If conn.State = adStateOpen Then
sSql = "CREATE TABLE 明细表 ( 物品名称 Char(255)," & _
" 结余日期 Date, 结余数量 Float," & " 进仓数量 Float, 出仓数量 Float)"
conn.Execute sSql
sSql = "CREATE TABLE 进仓表 ( 进仓日期 Date, 物品名称 Char(255), 进仓数量 Float)"
conn.Execute sSql
sSql = "CREATE TABLE 出仓表 ( 出仓日期 Date, 物品名称 Char(255), 出仓数量 Float)"
conn.Execute sSql
MsgBox "创建数据库成功!" & vbCrLf & "数据库文件名为:" & WN & vbCrLf & _
"保存位置:" & ThisWorkbook.Path
conn.Close
End If
Set conn = Nothing
End Sub

TA的精华主题

TA的得分主题

发表于 2011-8-24 20:34 | 显示全部楼层
可以的。但需要同时引用ADO和ADOX(ADO Ext)库。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-24 22:17 | 显示全部楼层
roych 发表于 2011-8-24 20:34
可以的。但需要同时引用ADO和ADOX(ADO Ext)库。

数据库我是小鸟,什么也不懂,能具体一点吗?

TA的精华主题

TA的得分主题

发表于 2011-8-25 00:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 roych 于 2011-8-25 01:36 编辑

不熟悉的话,建议自行在Access里建立表算了,没必要搞那么复杂。退一万步来说,即便这样创建很简单,却无论如何都是无法显示出数据表之间的关系的。

TA的精华主题

TA的得分主题

发表于 2011-8-25 08:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ExcelObject.jpg

工具---->引用

TA的精华主题

TA的得分主题

发表于 2011-8-25 19:31 | 显示全部楼层
发哥的引用库还少一个(运行一次就知道了):
Dim MyCat As ADOX.Catalog对应的是ADO Ext 库(目的在于创建MDB文件)。
原则上并不建议大家用代码来建立数据表(原因已经在4L说明了),即便为了方便,也应该创建了MDB文件后再用代码来创建表,代码会简化很多。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-11 07:53 , Processed in 0.022602 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表