
在宏编辑界面中进行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语句吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)