|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
资料中有如下一段代码:
Sub 创建进销存表文件()
Dim conn As ADODB.Connection
Dim WN As String
Dim sSql As String
WN = "进销存表.xls"
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.jet.Oledb.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.Path & "\" & WN
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
(注:其中引用了microsoft activex date objects 2.8)
上面这段代码在office2003中运行正确,但我的系统是office2010(x64),通过google,我将代码中红色的部分改为:
WN = "进销存表.xlsx"
conn.Open "Provider=Microsoft.ace.Oledb.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.Path & "\" & WN
(注:其中引用了microsoft activex date objects 6.0)
运行后创建了“进销存表.xlsx”这个文件,但如果打开此文件就会报错,图片如下:
点击确定后无法打开,但如果将文件名改为“进销存表.xls”,可以打开但我觉得不太正常,图片如下:
点击确定后可以打开,虽然从文件名上看是97-2003的兼容性office文件,但实际从行列的数量上看是2007或2010的office文件。
小弟是个数据库的初学者,想知道是随着office的升级这种创建方式已经不再支持了,还是代码中有什么需要改进的地方,google了很久也不得其解,想用excel为前台,access为后台,我觉得绕不过这样基础性的知识,明白朋友给点指点,谢谢。
|
|