用SqlCel查询Sql Server数据库。SqlCel可以同时支持Mysql,sql server,access,oracal。sqlcel的sql语句可以引用excel单元格的值作为变量。比如楼主要将123替换成Sheet1工作表的A1单元格的内容,那么SQL语句可以这么写
select * from AAA WHERE A = [Sheet1!A1]
这样执行就可以引用A1单元格的值了
B. excel用SQL查询
你的链接字符串数据库也要改呀
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=服务器;Database=数据库;Uid=账号 ;Pwd=密码;"
.Open
End With
Set Rst = New ADODB.Recordset
SQL = "你的sql"
Rst.Open SQL, Cnn, adOpenKeyset, adLockBatchOptimistic
Sheet2.Range("A1").CopyFromRecordset Rst
Rst.Close
Cnn.Close
Set Rst = Nothing
Set Cnn = Nothing
label:
MsgBox "数据库连接失败啦"
Set Rst = Nothing
Set Cnn = Nothing
End Sub
C. excel使用sql语句查询功能.
在宏编辑界面中进行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
D. 如何在Excel中使用SQL语言实现数据查询
1、选中表格后单击右键选择“定义名称”。
2、单击后,出现命名对话框。
3、这里将表1和表2分别命名为Table1和Table2。
4、选择上方的“数据”选项卡,选择“自其他来源”下的“来自Microsoft Query ”选项。
5、在弹出的对话框中选择Excel Files*那一项,并且把对话框下面的“使用“查询向导”创建/编辑查询”勾掉。
6、点击“确定”,便出现“选择工作簿”的对话框,这里选择包含表1和表2的工作表xxx.xlsx。
7、点击确定后之后弹出添加表的对话框。
8、点击确定后之后弹出添加表的对话框。
9、输入SQL语句的按钮,弹出输入SQL语句的对话框 输入SQL,看到筛选出来的数据表。
10、将筛选出来的数据表再返回至Excel工作表当中,选择菜单中的“文件”——“将数据返回Microsoft Excel”。
E. excel 下拉列表查询
C1单元格写入公式
=VLOOKUP(B1,E:F,2,)
或
=INDEX(F:F,MATCH(B1,E:E,))
如果你一定要用LOOKUP函数,则应将E,F两列数据以E列为主要关键字进行升序排序
LOOKUP(lookup_value,lookup_vector,result_vector)
Lookup_value 为函数LOOKUP在第一个向量中所要查找的数值。Lookup_value
可以为数字、文本、逻辑值或包含数值的名称或引用。
Lookup_vector 为只包含一行或一列的区域。Lookup_vector的数值可以为文本、数字或逻辑值。
要点 Lookup_vector的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE;否则,函数
LOOKUP不能返回正确的结果。文本不区分大小写。
Result_vector 只包含一行或一列的区域,其大小必须与lookup_vector相同。
说明
- 如果函数LOOKUP找不到lookup_value,则查找lookup_vector中小于或等于lookup_value的最大数值。
- 如果lookup_value小于lookup_vector中的最小值,函数LOOKUP返回错误值#N/A。
F. 如何在Excel中使用SQL语言实现数据查询
1.选中表格后单击右键选择“定义名称”
2.单击后,出现命名对话框
3.这里将表1和表2分别命名为Table1和Table2。
4.选择上方的“数据”选项卡,选择“自其他来源”下的“来自Microsoft Query ”选项
5.在弹出的对话框中选择Excel Files*那一项,并且把对话框下面的“使用“查询向导”创建/编辑查询”勾掉,
6.点击“确定”,便出现“选择工作簿”的对话框,这里选择包含表1和表2的工作表xxx.xlsx
7.点击确定后之后弹出添加表的对话框
8.点击确定后之后弹出添加表的对话框
9.输入SQL语句的按钮,弹出输入SQL语句的对话框 输入SQL,看到筛选出来的数据表
10.将筛选出来的数据表再返回至Excel工作表当中,选择菜单中的“文件”——“将数据返回Microsoft Excel”,纯手打,望采纳答案哦,谢谢
G. 在excel中查询sql数据库
查询是数据库最常用的操作,也是最重要的操作.SQL语言提供了SELECT语句进行数据库的查询,该语句的一般格式如下:SELECT select listFROM table source!WHE咫search_ condition][GROUP BY group一y_expression]I HAVING search condition][ ORDER BY order expression[ASC I DESC]]其主要元素说明如下:select list要选择的列或表达式的集合。table source基本表或者视图的集合.search condition进行查询的条件.groupee by_expression可以根据某些特定的列进行分组。search condition分组的条件值.order expression查询结果是按照列的集合来进行升序或者降序排序.由于SELECT语句的复杂性,一下面例子涉及到一个客户、订单数据库。客户基本信息表:Customer(CustomerlD,CompanyName,Address,City, Phone, Fax)Customer由客户编号(CustomerlD )、公司名称(CompanyName)、公司地址(Address) .公司所在城市(City)、公司电话(Phone)和传真(Fax) 6个属性组成,其中客户编号(CustomerlD )是关键字.商品信息表:Proct(ProctID, ProctName,UnitPrice)Proct山产品编号(ProctID )、产品名称(ProctName)和产品单价(UnitPrice )3个属性组成,其中产品编号(ProctID )是关键字。客户汀单表:Orders(OrderlD,CustomerID,ProctID,OrderDate,RequiredDate,OrderQuantity)Order由订单编号(OrderlD )、客户编号(CustomerlD )、产品编号(ProctID )、订单日期(OrderDate )、订单预交日(RequiredDate)和订单数量(OrderQuantity) 6个属性组成,其中OrderlD是关键字.
H. excel中这个下拉查找怎么弄出来的
你好,这个下拉查找是通过excel的数据-筛选,做出来的,起初猛一看,像是数据有效性,但其实和数据有效性有很多区别。相对于数据有效性也简单很多。
你只需要选定该数据行,点击数据,筛选,即可。就很出现 你想要的效果。如果你想学习数据有效性,可以参考我的网络经验
http://jingyan..com/article/f7ff0bfc61a8792e27bb1357.html
里面有图文内容。
初学excel,最重要的是熟悉整个excel的整体框架,然后再去学函数,最后学VBA。