- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含表格数据的 Excel 工作表
strSQL = "SELECT S.FIELD_NAME1,S.FIELD_NAME2,S.FIELD_NAME3 from [SourceData$A1:IV6] S"
Dim cn as ADODB.Connection
Dim rs as ADODB.Recordset
cn.Open strCon
Set rs = CmdSqlData.Execute()
Worksheets("SourceData").Cells.ClearContent
Worksheets("AnswerData").Cells(2, 1).CopyFromRecordset rs
结果:
仅忽略第一行和其他记录。
我尝试过以下查询。,
strSQL = "SELECT COUNT(*) from [SourceData$A1:IV6] S"
结果为 5
。
请告诉我为什么其他记录没有复制到记录集中?
最佳答案
这是一个成功粘贴记录集的子例程。
请注意,它粘贴到的范围与通过 intMaxRow 和 intMaxCol 变量记录集的大小相同:
Sub sCopyFromRS()
'Send records to the first
'sheet in a new workbook
'
Dim rs As Recordset
Dim intMaxCol As Integer
Dim intMaxRow As Integer
Dim objXL As Excel.Application
Dim objWkb As Workbook
Dim objSht As Worksheet
Set rs = CurrentDb.OpenRecordset("Customers", _
dbOpenSnapshot)
intMaxCol = rs.Fields.Count
If rs.RecordCount > 0 Then
rs.MoveLast: rs.MoveFirst
intMaxRow = rs.RecordCount
Set objXL = New Excel.Application
With objXL
.Visible = True
Set objWkb = .Workbooks.Add
Set objSht = objWkb.Worksheets(1)
With objSht
.Range(.Cells(1, 1), .Cells(intMaxRow, _
intMaxCol)).CopyFromRecordset rs
End With
End With
End If
End Sub
使用该示例作为模型,我会为您的代码尝试类似的操作:
strSQL = "SELECT S.FIELD_NAME1,S.FIELD_NAME2,S.FIELD_NAME3 from [SourceData$A1:IV6] S"
Dim cn as ADODB.Connection
Dim rs as ADODB.Recordset
Dim intMaxCol as Integer
Dim intMaxRow as Integer
cn.Open strCon
Set rs = CmdSqlData.Execute()
intMaxCol = rs.Fields.Count
'- MoveLast/First to get an accurate RecordCount
rs.MoveLast
rs.MoveFirst
If rs.RecordCount > 0 then
'-thought you could put the MoveLast/First here but maybe not.
intMaxRow = rs.RecordCount
With Worksheets("AnswerData")
.Range(.Cells(2,1),.Cells(intMaxRow+1,intMaxColumn)).CopyFromRecordset rs
End With
End If
关于vba - 即使 Excel 中存在多条记录,CopyFromRecordset 也仅复制并粘贴前一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11426103/
我有下面的代码,它从电子表格数据库中复制数据,我已经建立了连接并将其粘贴到事件工作簿中。它检查 6 个案例,并根据案例打开特定工作表的记录集。 对于 6 个案例中的 5 个,这很有效。对于第 6 种情
我使用了几个月的 VBA 宏突然开始将不相关工作表中的单元格重新格式化为日期格式。我通过代码找到了有问题的行,它似乎是“copyFromRecordset”函数。请参阅下面的相关代码段。是的,这个简单
我正在创建一个到 Sybase 数据库的 ADODB 连接,将一条 SQL 语句执行到一个记录集中,然后使用 CopyFromRecordset 方法将记录集的内容粘贴到一个范围中。这一直运行良好,但
我正在尝试使用 Range.CopyFromRecordset 将数据集从 Access 2010 导入 Excel .查询中有一些字段,其中一些值已转换为日期或数字,例如: iif(isdate([
我有一个电子表格,我正在尝试优化它。 我必须获取列中的每个值,并从 SQL 服务器获取 3 个“对应”值,之前的做法是,每个列值都会导致 1 次 SQL 查找,因此仅仅为了更新单个工作表,就调用了超过
如何将记录集中的数据填充到列表对象中? 下面的代码不完全工作: oCN.ConnectionString = "DRIVER={SQL Server};Server=SRVSQL;Database=T
我有以下代码: Function downloadsqltoexcel(conn As ADODB.Connection, sSQL As String, exceldestinationrangen
我正在寻找可以修复此运行时构建的 VBA 代码,或有关可能导致此问题的建议。 我正在运行一个 VBA 脚本,该脚本使用 ADODB 从 SQL Server 数据库中检索数据。我已经在将数据复制到我的
我在 VBA 中有一个过程,我已经使用了一段时间来从 SQL DB 中提取数据集。 填充模板总是需要不到 1 分钟的时间,但从几天以来,它已经花费了 10 多分钟。数据库中没有任何变化,我的 VBA
我的 Excel VBA 中有以下代码,可将 SQL 中的表中的数据复制到 Excel 中。该数据从单元格 C2 开始水平插入,但我希望将其垂直插入到 C 列。 Sheets("Control").R
问题 为什么 .CopyFromRecordset 会从我的记录集输出中截断字符串? 我以前多次使用 .CopyFromRecordset 并没有遇到这个问题,但是由于某种原因,这个 VBA 代码导致
我有一个包含表格数据的 Excel 工作表 strSQL = "SELECT S.FIELD_NAME1,S.FIELD_NAME2,S.FIELD_NAME3 from [SourceData$A1
我有一个来自 SQL Server 的 SQL 查询,它以“YYYY-MM-DD”格式的字符串形式返回日期。如果我以这种格式在单元格中输入日期,它将被识别为日期。但是当我使用 CopyFromReco
我正在尝试使用下面的代码将数据从 sql (2008 r2) 表复制到 excel 2003 中的多个工作表 - 目前有 c420000 条记录,每周增加约 1000 条。这是要求,我无法选择使用 a
我是一名优秀的程序员,十分优秀!