当前位置:首页 » 编程语言 » vbexcelsql数据库

vbexcelsql数据库

发布时间: 2023-08-07 06:14:18

Ⅰ Excel VBA 连接sql数据库后的操作。

呵呵,以前就帮人家解决过这个,请看下面的代码,有注释的!
Private Sub CommandButton5_Click()
Dim Conn As New ADODB.Connection '定义ADODB连接对象
Dim ConnStr As String '定义连接字符串
Dim xiao As String

xiao = ComData.Text

'对于SQL 2008,如果以IP方式访问服务器,必须要启动SQL Server Browser服务,如果是Express版本,要以“IP(计算机名)\实例名”方式访问
ConnStr = txtData.Text

Dim Records As New ADODB.Recordset '定义ADODB对象的记录集
Dim Sheet As Worksheet '定义工作表

Set Sheet = ThisWorkbook.Worksheets("Sheet2") '给变量Sheet赋值,注意:是工作簿中索引为1的那个表(通常一个新的工作簿Sheet1的索引为1)
'Sheet.Name = "Data" '把Sheet名称改为Data
Sheet.Cells.Clear '清空表中原有的数据

'连接状态是打开就不在进行Open操作

Conn.Open ConnStr
Dim SQLStr As String '要执行的SQL语句
SQLStr = "select * from Shift_Code where Club='" + xiao + "'" '可以执行更复杂的SQL语句

Records.Open SQLStr, Conn, adOpenStatic, adLockBatchOptimistic '读取SQL查询结果到Records记录集
'Records.Open
Dim i, j, TotalRows, TotalColumns As Integer
j = 0
TotalRows = Records.RecordCount
TotalColumns = Records.Fields.Count

'下面的循环把表头(即列名)写到Excel表的第一行
For i = 0 To TotalColumns - 1
Sheet2.Cells(1, i + 1) = Records.Fields(i).Name
Next

'下面的循环把查询结果写到Excel表中
Do While Not Records.EOF

For i = 0 To TotalColumns - 1
Sheet2.Cells(j + 2, i + 1) = Records.Fields(i).Value
Next

Records.MoveNext
j = j + 1

Loop
Records.Close '关闭记录集
Conn.Close '关闭连接

Set Records = Nothing '清空对象
Set Conn = Nothing '清空对象

End Sub

有什么不懂的话Hi我!

Ⅱ 用VB编写一个导入EXCEL文件数据到SQL2000数据库中的程序,怎么编写的

操作方法如下:
1、导入Excel数据,同时创建表:
select * into 表名 FROMopenrowset( 'Microsoft.Jet.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=1;DATABASE=文件路径','select* from [Excel表名(默认为Sheet1)$]')。
2、在表中插入Excel数据:
insert into 表名 select * fromopenrowset( 'Microsoft.Jet.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=1; DATABASE=文件路径','select * from [Excel表名(默认为Sheet1)$]')。
3、导出数据到Excel中:
insert into openrowset('Microsoft.Jet.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=0; DATABASE=文件路径','select* from [Excel表名(默认为Sheet1)$]') select * from 表名;需要创建Excel文件并指定列名后才可以导出。

Ⅲ 用VB做怎么将Excel数据导入SQL数据库中

用VB做,将Excel数据导入SQL数据库中:
法一:可以试着用VB书写一段调用SQL Server数据库DTS的代码,然后就可以像直接使用DTS进行数据导入一样就行Excel与SQL Server数据之间的迁移了。
方法二:可以用VB来 作EXCEL,然后一条数据一条数据的 入到数据库中,这种方法不 使用,因为VB 作EXCEL是非常慢的,如果数据量太大,很有可能会造成宕机。

Ⅳ VB 从SQL数据库中把数据导出到Excel表格中,怎么写

SubdataToExcel()
DimconnAsString
DimrsAsNewADODB.Recordset
DimexcelAsObject
DimworkbookAsObject
DimsheetAsObject
Dimi&,j&
'SQL数据库的连接字串
conn="Provider=SQLOLEDB.1;Datasource=服务器地址;initialcatalog=数据库名称;UserId=数据库登录账号;Password=数据库登录账号"
'打开到sql的连接,读取xxx表数据到rs
rs.Open"select*fromxxx",conn,adOpenKeyset,adLockReadOnly
'excel对象、工作簿、工作表
Setexcel=CreateObject("Excel.Application")
Setworkbook=excel.workbooks().Add()
Setsheet=workbook.sheets(1)
excel.Visible=True
'循环读取rs并写入到excel
Fori=1Tors.Fields.Count
j=1
rs.MoveFirst
DoWhileNotrs.EOF
sheet.cells(j,i)=rs.Fields(i-1).Value
rs.MoveNext
j=j+1
Loop
Next
rs.Close
Setrs=Nothing

EndSub

热点内容
原神游戏服务器ip 发布:2025-02-06 17:54:23 浏览:810
如何查笔记本电脑的真正配置 发布:2025-02-06 17:48:07 浏览:81
存储器存在地址 发布:2025-02-06 17:47:28 浏览:539
phpsocket教程 发布:2025-02-06 17:42:13 浏览:423
mysql解压缩版安装 发布:2025-02-06 17:26:33 浏览:179
phpgd图片 发布:2025-02-06 17:24:34 浏览:206
php代码整理 发布:2025-02-06 17:24:31 浏览:477
java可执行文件 发布:2025-02-06 17:18:59 浏览:249
卫士相当于现在什么配置 发布:2025-02-06 17:05:04 浏览:409
项目编译慢 发布:2025-02-06 16:53:48 浏览:382