我想实现当用户在点excel保存的时候
里面的数据能够上传到数据库里
这是我的代码
麻烦高手帮我修改哈
谢谢大家了,
表temp9与excel字段是对应的
我现在难就难在excel点保存的时候就触发这个函数 ,同时代码也有点小问题,麻烦大家了
Private Sub Command2_Click()
Dim Adocon As New ADODB.Connection
Adocon.ConnectionString = "Provider = MSDAORA.1;Password =8233; Persist Security Info = True;User ID = sa;Initial Catalog = hskmis; Data Source = 192.168.0.250"
Adocon.CursorLocation = adUseClient
Adocon.ConnectionTimeout = 120
Adocon.Open
Adocon.Execute ("INSERT into temp9 SELECT select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0,'Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\1.xls',[sheet1$])")
Adocon.Close
Set Adocon = Nothing
End Sub
里面的数据能够上传到数据库里
这是我的代码
麻烦高手帮我修改哈
谢谢大家了,
表temp9与excel字段是对应的
我现在难就难在excel点保存的时候就触发这个函数 ,同时代码也有点小问题,麻烦大家了
Private Sub Command2_Click()
Dim Adocon As New ADODB.Connection
Adocon.ConnectionString = "Provider = MSDAORA.1;Password =8233; Persist Security Info = True;User ID = sa;Initial Catalog = hskmis; Data Source = 192.168.0.250"
Adocon.CursorLocation = adUseClient
Adocon.ConnectionTimeout = 120
Adocon.Open
Adocon.Execute ("INSERT into temp9 SELECT select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0,'Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\1.xls',[sheet1$])")
Adocon.Close
Set Adocon = Nothing
End Sub
SQL SERVER 和EXCEL的数据导入导出
1、在SQL SERVER里查询Excel数据:
-- ======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------2、将Excel的数据导入SQL server :
-- ======================================================
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$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------3、将SQL SERVER中查询到的数据导成一个Excel文件
-- ======================================================
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
------------------------------------------------------------------------------------------------4、在SQL SERVER里往Excel插入数据:
-- ======================================================
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')
http://www.google.cn/search?hl=zh-CN&rlz=1G1GGLQ_ZH-CNCN357&newwindow=1&q=VBA%E4%BA%8B%E4%BB%B6&btnG=Google+%E6%90%9C%E7%B4%A2&aq=f&oq=
点保存的时候就触发这个函数, 这个我也想知道, 等高手!还有你的代码貌似没有看出什么问题嘛,可能每个人习惯不一样, 在excel里面用vba, 提交数据的时候俺一般都是逐行遍历当前的sheet, 每一行拼接成一个sql语句, 然后让connection对象执行更新数据库.
Dim cn As Object
Set cn = CreateObject("adodb.connection")
Dim rs As Object
Set rs = CreateObject("adodb.Recordset")
Dim cn1 As Object
Set cn1 = CreateObject("adodb.connection")
cn.Open "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='c\1.xls';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
Set rs = cn.Execute("Select * From [Sheet1$]")
cn1.Open "Provider=sqloledb;Server=192.168.0.250;Database=hskmis;Uid=sa;Pwd=8233;"
Do While Not rs.EOF
cn1.Execute ("Insert Into temp9 VALUES ('" & Format(rs(0)) & "','" & Format(rs(1)) & "',")
rs.MoveNext
Loop
rs.Close: cn.Close: cn1.Close
Set rs = Nothing: Set cn = Nothing: Set cn1 = Nothing
End Sub
要么用ACCESS,EXCEL打开后是独占的,不能同时打开EXCEL和ADO链接的