excel 宏使用sql语句

作者&投稿:锺斩 (若有异议请与网页底部的电邮联系)
如何在Excel,VBA中执行SQL语句?~

sub test()

Dim Conn As New ADODB.Connection
Dim strConn As String
Dim strSQL As String
Dim rs As New ADODB.Recordset

strConn = "Provider=sqloledb;Server=192.168.1.111;Database=db2014;Uid=用户名;Pwd=密码;"
Conn.Open strConn

Max_row = Range("A1").CurrentRegion.Rows.Count

for i=1 to Max_row
strSQL = "select name from sales2014 where id='" & range("A" & i).value & "'"
Conn.Execute strSQL
rs.Open strSQL, Conn, 1, 1
range("B" & i).value= rs(0)
rs.Close
Set rs = Nothing
next i

'关闭数据库
Conn.Close
end sub

数据库是access吗?很简单的。

1.在宏编辑界面中进行SQL数据查询以及生成报表的代码如下:
Sub Static()
Dim objNewWorkbook As Workbook '定义一个Workbook对象
Set objNewWorkbook = Workbooks.Add(ThisWorkbook.Path & "\模板.xlt") '使用模板文件新建一个EXCEL报表生成文件
Set objConnection = CreateObject("ADODB.Connection") '创建一个ADO连接
objConnection.Open "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties='Excel 8.0;Hdr=yes;Imex=1';Data Source=" & ThisWorkbook.FullName '设置连接字符串
strCommand = "select 施工人, count(*) as 拆电话 from [" & Sheet1.Name & "$] where 施工动作 = '拆' and 专业类型 = '电话' group by 施工人" '查询表单一中的数据源进行统计
?objNewWorkbook.Sheets(1).Range("A3").CopyFromRecordset objConnection.Execute(strCommand)
2.将查询统计结果输出到目的报表文件的表单1的从A3开始的区域中

3.下面代码是调用EXCEL的排序方式进行汉字排序,这里SQL语句中的排序对于汉字排序与期望结果不同
4.使用EXCEL中的排序方法是根据EXCEL版本不同调用有所区别
Select Case Application.Version
Case "11.0":
objNewWorkbook.Sheets(1).Range("A3:M" & CStr(intSumRow - 1)).Sort Key1:=objNewWorkbook.Sheets(1).Range("A3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
Case "12.0":
objNewWorkbook.Sheets(1).Sort.SortFields.Clear
objNewWorkbook.Sheets(1).Sort.SortFields.Add Key:=Range("A3:A" & CStr(intSumRow - 1)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With objNewWorkbook.Sheets(1).Sort
.SetRange Range("A2:M" & CStr(intSumRow - 1))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Case Else
End Select
objConnection.Close
End Sub

'VBA工具->引用->Microsoft ActiveX Date Object 2.0

Public Sub GetData()

Dim Flag, Err As Boolean
Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim SQL As String
Sheet2.Cells.Clear
Flag = False
Err = True
 
Set Cnn = New ADODB.Connection
On Error GoTo label
With Cnn
    .Provider = "SQLOLEDB"
    .ConnectionString = "Driver=SQL Server;Server=100.100.23.11;Database=数据库名;Uid=cql ;Pwd=admin;"
    .Open
End With

Set Rst = New ADODB.Recordset
SQL = "你的sql"
Rst.Open SQL, Cnn, adOpenKeyset, adLockBatchOptimistic
Sheet2.Range("A1").CopyFromRecordset Rst
   
label:
Rst.Close
Cnn.Close
Set Rst = Nothing
Set Cnn = Nothing
End Sub



利辛县17793319423: 如何用SQL语句查询Excel数据 -
终黎海珠: 在宏编辑界面中进行SQL数据查询以及生成报表的代码如下:Sub Static() Dim objNewWorkbook As Workbook '定义一个Workbook对象 Set objNewWorkbook = Workbooks.Add(ThisWorkbook.Path & "\模板.xlt") '使用模板文件新建一个...

利辛县17793319423: Excel宏操作SQL数据库 -
终黎海珠: Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strCn As String Dim strSQL As String Dim CountryCode As String Dim CountryName As String Dim DeleteFlg As String Dim CreateBy As String Dim UpdateBy As ...

利辛县17793319423: 如何在excel中通过宏来直接取得数据库中的数据? -
终黎海珠: 这个很简单,代码如下:Sub C5C15_B3B13() Dim Fo As Object, myName As StringSet Fo = Application.FileDialog(msoFileDialogFilePicker) Fo.Title = "请选择您要复制C5:C15数据的文件:" If Fo.Show = True Then myName = Fo....

利辛县17793319423: 怎么样才能将EXCEL中的数据用宏导入到SQL库中? -
终黎海珠: 你用的什么数据库?我以Mysql为例说下:1.用Excel将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉..),假如存到“D:\data.txt”这个位置里.2.根据要导入的数据快儿建立MySql数据库和表,然后进入命令提示符里使用命令 load data local infile 'D:\data.txt' into table exceltomysql fields terminated by '\t'; 进行导入操作(table是你建立的表名字) 如果提示找不到D:\data.txt 你就改成D:\\data.txt

利辛县17793319423: excel里执行SQL语句 -
终黎海珠: 单纯的如上的语句是不能执行的,你必须配上一系列的打开数据库的操作(譬如vb),而后编译成exe文件,链接到任何地方都能执行.

利辛县17793319423: EXCEL宏中的SQL字符串语句如何换行 -
终黎海珠: 这样写(为了示例,故意多折了几行): SQL = "select stor_id,qty from " _ & myTable & " where " _ & " stor_id=7067 "关键点: 1)折百行的语句每行最后用“ _”(前面有一空格),最后一行除外; 2)折行用的“_”不可以出现两个配对的度 " " 之间,一定要在配对的 " " 之外;

利辛县17793319423: 请问excel怎么转换成sql -
终黎海珠: 1、把Excel通过DTS包导入到数据库中,再通过软件生成Sql脚本(另存为sql). 2、通过Excel中的公式来生成Sql语句. 可以借助很多其它工具,数据库查询工具,UE等.

利辛县17793319423: 如何编写 Excel 宏? -
终黎海珠: 可以录制宏,然后操作Excel,例如使用公式拼接SQL语句,然后停止录制.按下Alt+F11,对VBA代码进行适当修改,就可以了.最后插入一个按钮,右击指定宏(选择那个录制的宏),即可一键操作了.

利辛县17793319423: excel中能不能使用sql语句查询记录?怎样把sql代码嵌入Excel中,并且将结果显示在Excel中? -
终黎海珠: EXCEL自带的自动筛选就可以实现.将自动筛选的过程录制成宏就可以看到代码.ALT+F11可以打开excel的vba编辑窗口.

利辛县17793319423: 如何在excel中正确使用SQL的查询语句 -
终黎海珠: 你可以直接在数据库管理软件(如access)中导入excel数据成为数据库表,就可以通过sql语句查询了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网