标题:[求助]哪位老大能把下面的程序改一下,能在PB里运行?
只看楼主
gdyuer
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-5-23
 问题点数:0 回复次数:1 
[求助]哪位老大能把下面的程序改一下,能在PB里运行?

将Excel中的数据导入到Access中,前提是在Access中的表已经建好。

程序代码

dim conn
dim conn2
set conn=CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=c:\book1.mdb"

set conn2=CreateObject("ADODB.Connection")
conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source=c:\book1.xls"


sql = "Select * FROM [Sheet1$]"
set rs = conn2.execute(sql)
while not rs.eof
sql = "insert into xxx([a],[b],[c],[d]) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"')"
conn.execute(sql)
rs.movenext
wend

conn.close
set conn = nothing
conn2.close
set conn2 = nothing

function fixsql(str)
dim newstr
newstr = str
if isnull(newstr) then
newstr = ""
else
newstr = replace(newstr,"'","''")
end if
fixsql = newstr
end function


导入到Sql Server数据库中时,如果Excel文件和数据库不在同一台服务器上时,请参考上面的代码。在同一机器上可以参考下面代码(不需要先把表建表,程序会自己动建表,用Excel中的第一行数据做为表的字段名):

程序代码

dim conn
set conn=CreateObject("ADODB.Connection")
conn.Open ("driver={SQL Server};server=localhost;uid=sa;pwd=sa;database=hwtemp;")
sql = "Select * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=""c:\book1.xls"";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] "
conn.execute(sql)

conn.close
set conn = nothing

************************************************************************

这是我在网上找的两段代码,但这两段好象不是PB代码,高手能给改一下吗?重点是第二段代码,怎么改成导入到Sql Server数据库中的(Excel文件和数据库不在同一台服务器)?

搜索更多相关主题的帖子: Microsoft Jet 老大 
2007-06-15 15:12
fyh
Rank: 1
等 级:新手上路
威 望:1
帖 子:52
专家分:0
注 册:2006-4-5
得分:0 

这应该是VB scrip吧


2007-06-16 20:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-147735-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048541 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved