excel中sql调用数据显示不全的问题

因数据量大,我是用sql实现工作数据查询的,如下面两个工作表,表一是原数据表(总表),表二是要查询的内容,但为什么只有分数一列的数据不显示,求教?
表一:
姓名 班级 分数 名次
李四 1 80 1
王五 2 81 3
赵六 1 82 3
李三 4 83 4

表二:
姓名 班级 分数 名次
李四 1 1
王五 2 3
赵六 1 3
李三 4 4

Sub 查询()

Dim cnn
Dim rs
Dim strSql As String
Dim str As String

On Error Resume Next

Set cnn = CreateObject("ADODB.Connection") '创建连接对象变量
Set rs = CreateObject("ADODB.Recordset") '创建记录集对象记录
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Extended Properties=Excel 8.0;" _
& "Data Source=" & ThisWorkbook.FullName
str = ActiveSheet.Range("n4").Value '获取当前单元格内容
strSql = "Select * FROM [汇总表$] Where 编号 like '%" & str & "%'" '创建数据筛选命令
rs.Open strSql, cnn, adOpenStatic
With ActiveSheet
.Range("s6:ww1000").ClearContents '清除单元格记录
.Range("s6").CopyFromRecordset rs '复制筛选结果

End With
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub
这是sql语句

第1个回答  2018-06-21
VBE 工具 引用,选中 Microsoft ActiveX Data Object 2.8 Library
我不清楚是不是UFDATA_013_2008表的VENDOR列的数据,如果不是,你自己改一下SQL语句吧,sql = "select VENDOR from UFDATA_013_2008"

Sub SQL数据导入()

Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim str As String
Dim sql As String
Dim i As Integer

str = "Provider=SQLOLEDB;Data Source=SQLSERVER服务器名或IP;DATABASE=数据库;UID=用户名;PWD=密码"
cn.Open str
Set rs = New ADODB.Recordset
sql = "select VENDOR from UFDATA_013_2008"
rs.Open sql, cn, adOpenStatic, adLockOptimistic

If Not rs.EOF Then
For i = 1 To rs.RecordCount
Sheet2.Cells(i, 1).Value = rs.Fields(0).Value
Next i
rs.MoveNext
End If
rs.Close
cn.Close
End Sub本回答被提问者和网友采纳

为什么sql查出的结果没有显示全?
你调整一下显示宽度吧,有的可能太宽了,没显示完整,调整一下列宽度就能显示了。

sql用excel表导入数据字段为空的问题
SQLSERVER中,导入导出数据,我试验过了,EXCEL表中,第一行的字段名要和表字段名对应,顺序也对应。原表中,字符类型的字段,在EXCEL只按几下空格就行,不用加引号,导进去就是空白。整型类型的按空格会出错,什么都不做导进去是NULL。

excel 导入sql数据库 数字产生乱码
在导入之前将1050908所在列设为“文本”后再导入。

你好,我用SQL Server企业管理器导入excel表时,显示导入成功,可实际上...
可能的原因是,EXCEL表中有的数据格式与数据库设置不符造成无法导入。建议:先在数据库中录入1笔信息,再导出EXCEL表。以导出的表为基础,把需要导出的数据复制--粘贴进去。注意:粘贴时一定要用选择性粘贴--数值 祝你成功。

sqlserver2008导入excel表为什么只有一行数据
sqlserver2008导入excel表只有一行数据sql表里字段里有引号的原因。根据相关信息查询结果显示,sql表里字段里有引号,复制数据到excel表,如果字段里含有引号,会引起串行,导致行数缺失,数据和其他行混乱。解决方法是通过右键先导出csv,再另存为excel,导出前去除字段里的引号,引号替换为空即可。

使用Excel SQL查询时,部分数据出不来,怎么解决?
工具栏=>数据 下面把分表格倒成总表的链接表 这样操作就都在一个文件中了 只要手动刷新或定时刷新下数据就可以

excel 导入 sql数据库 错误如下:返回列状态:文本被截断,或者一个或多...
今天我也出现这个问题,解决方法:1、首先要确认目标数据表定段的字段长度比数据长;2、最关键的一步,在下面那个图选择数据源的时候,对列的长度时行设置。设置成目标字段一样长就可以了。

如何避免SQL数据在EXCEL中自动分列现象?
sql拷贝到excel自动分列的解决办法:之所以自动分列是excel分列选项中,有一个分隔符号,把那个分隔符号清空,保存。再粘贴就好了。

excel导入sql数据库,“文本被截断,或者一个或多个字符在目标代码页中...
操作系统为win7 32[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Jet\\4.0\\Engines\\Excel]TypeGuessRows由8改为0。具体可参照EXECL导入SQL截字符:http:\/\/jingyan.baidu.com\/article\/c1a3101e842bc9de656deba3.html Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件...

SQL导入数据时错误怎么处理?
有几种原因,第一:数据库表对应列和Excel表格的列没有完全对应第二:Excel表格含有特殊格式等,导致导入时无法导入格式产生错误。第三:数据库导入导出功能缺陷(此情况一般不会出现)排除原因,找一个能够导入的表格,使用格式刷将该表格式复制到需要导入的Excel表格。查找数据库和Excel看看表是否对应。建...

相似回答