excel使用sql语句查询功能.

excel使用sql语句查询功能.,第1张

在宏编辑界面中进行SQL数据查询以及生成报表的代码如下:

Sub Static()

Dim objNewWorkbook As Workbook '定义一个Workbook对象

Set objNewWorkbook = WorkbooksAdd(ThisWorkbookPath & "\模板xlt") '使用模板文件新建一个EXCEL报表生成文件

Set objConnection = CreateObject("ADODBConnection") '创建一个ADO连接

objConnectionOpen "Provider=MicrosoftJetOledb40;Extended Properties='Excel 80;Hdr=yes;Imex=1';Data Source=" & ThisWorkbookFullName '设置连接字符串

strCommand = "select 施工人, count() as 拆电话 from [" & Sheet1Name & "$] where 施工动作 = '拆' and 专业类型 = '电话' group by 施工人" '查询表单一中的数据源进行统计

objNewWorkbookSheets(1)Range("A3")CopyFromRecordset objConnectionExecute(strCommand)

2将查询统计结果输出到目的报表文件的表单1的从A3开始的区域中

3下面代码是调用EXCEL的排序方式进行汉字排序,这里SQL语句中的排序对于汉字排序与期望结果不同

4使用EXCEL中的排序方法是根据EXCEL版本不同调用有所区别

Select Case ApplicationVersion

Case "110":

objNewWorkbookSheets(1)Range("A3:M" & CStr(intSumRow - 1))Sort Key1:=objNewWorkbookSheets(1)Range("A3"), Order1:=xlAscending, Header:=xlNo, _

OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _

:=xlPinYin, DataOption1:=xlSortNormal

Case "120":

objNewWorkbookSheets(1)SortSortFieldsClear

objNewWorkbookSheets(1)SortSortFieldsAdd Key:=Range("A3:A" & CStr(intSumRow - 1)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

With objNewWorkbookSheets(1)Sort

SetRange Range("A2:M" & CStr(intSumRow - 1))

Header = xlYes

MatchCase = False

Orientation = xlTopToBottom

SortMethod = xlPinYin

Apply

End With

Case Else

End Select

objConnectionClose

End Sub

1、需要导入的数据如图。

2、在excel中添加列,并写入拼装脚本。

3、鼠标往下拖拽第一条数据单元格右下角的点,完成所有的拖动。

4、选择带有所需数据的单元格,并复制。

5、打开记事本,粘贴,并一个个替换。

6、完成替换后,完整的sql语句就出来了。

当然可以。

可以在VBA编程中使用SQL语句,可以查询也可以修改数据库。

也可以直接在单元格中使用“数据”菜单下选择插入来自SQL Server或者ODBC查询结果,建立数据库连接后可以使用SQL语句将查询结果显示在单元格中。

把excel数据导入sql server数据库里最便捷的方法就是使用SqlCel。

SqlCel可以一键批量导入Excel文件。

其数据导入的速度VBA很难做到。非常便利,参考下图:

第一句本意是获得最后记录行号,但语句中有错误,1 改为 l ,xlup 。 myrow mycoulum你找找代码里面对应的数据就好了 4 ActiveSheetrange(A2)

给你一段代码,你照着写应该就可以了:

Private Sub Command5_Click()

Dim rs As DAORecordset

Dim Filnum As Long

Dim Recnum As Long

Dim xlapp As Object

Set rs = Me打印价签导出子窗体FormRecordset

Set xlapp = CreateObject("excelapplication")

xlappVisible = True

xlappWorkbooksOpen ("D:\购好超市\促销及价格管理\标签格式\促销标签打印格式--特价xlsx")

Dim sheet As Object

Set sheet = xlappsheets("内容")

rsMoveFirst

Recnum = 2

Do Until rsEOF

For Filnum = 0 To rsFieldsCount - 1

sheetcells(Recnum, Filnum + 1) = rsFields(Filnum)

Next

Recnum = Recnum + 1

rsMoveNext

Loop

Set sheet = xlappsheets("格式1")

End Sub

以上就是关于excel使用sql语句查询功能.全部的内容,包括:excel使用sql语句查询功能.、EXCEL中能不能直接执行SQL语句、excel里可以使用sql语句吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10144540.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存