arrays - 当只有 1 项留在最简单的框中时,数组不会转置
问题描述
我在将项目正确加载到多列列表框中时遇到问题
场景如下:
我将 SQL 数据库中的数据加载到数组中,然后将数组加载到用户窗体中的多列列表框中。我这样做是因为我读到这是最快的方法。
如果查询返回多于一行,则数据在列表框中正确显示为
Value A1 - Value A2 - Value A3 - Value A4
Value B1 - Value B2 - Value B3 - Value B4
但是当查询只返回一行时,它显示为
Value A1
Value A2
Value A3
Value A4
代码如下:
SQL = "SELECT (my query)"
con.Open "(my connection string)"
rs.Open SQL, con
myarray = rs.GetRows
'Fill Listbox
With Me.Listbox
.Clear
.ColumnCount = 6
.ColumnWidths = "30;20;170;40;40;20"
.List = Application.Transpose(myarray)
.ListIndex = -1
End With
我正在四处寻找,并试图通过这样做来让代码不转置记录集:
SQL = "SELECT (my query)"
con.Open "(my connection string)"
rs.CursorLocation = adUseClient 'count number of records in recordset
rs.Open SQL, con
'Fill Listbox
With Me.Listbox
.Clear
.ColumnCount = 6
.ColumnWidths = "30;20;170;40;40;20"
If rs.RecordCount > 1 Then 'only transpose when count exceeds 1
.List = Application.Transpose(myarray)
Else
.List = myarray 'paste untransposed recordset
End If 'neu
.ListIndex = -1
End With
但这并没有帮助。记录集仍然显示不正确。也许问题是记录集仅包含 1 条记录时没有转置?显然我在这里。有人可以告诉我发生了什么吗?提前致谢。
解决方案
推荐阅读
- java - 无法获取设备位置
- javascript - Javascript/React onClick 向下/向上滚动设置量
- dialogflow-es - 应用程序超时并退出对话需要多长时间
- php - 函数后在 2 个不同的自定义帖子类型中创建 2 个不同的帖子
- c++ - 使用 Ubuntu 对 Clion 进行 lncurses
- python - 在csv中写入数据的Python程序取决于列的存在
- javascript - 从 firebase 数据库中检索数据(在控制台中工作,但在代码中不起作用)
- performance - O(log n) 澄清
- windows - Git 尝试在 Windows 上暂存 5000 多个文档**
- php - Laravel DataTables 多选复选框