提前感谢您抽出宝贵时间帮助我。这是我第一次在这里提问 - 因为我在研究现有问题和答案方面取得了如此大的成功!我是这个网站的忠实粉丝!
无论如何 - 到了这一点。我编写了一个程序,包括用户表单中使用的一些列表框。我正在从查询Oracle数据库的SQL语句派生的数组中填充这些多列列表框。当查询结果中的记录满足特定条件时,将在列表框中为最终用户发布该记录。
问题:当查询中只有一条记录符合条件时,列会被包装成多行而不是一行。当用户点击一行时,这会导致我打算发生的问题。我需要将与查询中的单个记录关联的所有列只写入列表框的一行 - 即使只有一个记录。有趣的部分:当返回2条或更多记录时,它会很好地发布到列表框中。
我感谢任何帮助!我已经用尽了我的在线搜索,并且还没有找到这样的常见问题。
以下是我的一些代码:
.ConnectionString = strDBConnectWrite 'Connect to database
.CursorLocation = adUseClient 'Necessary for creating disconnected recordset
.Open 'Open Connection
End With
With oTbl4
.ActiveConnection = oDB
.source = strSQL4 'SQL statement above
.LockType = adLockReadOnly
.Open
'Populate the array with the recordset
oArray4 = .GetRows
k = .Fields.Count
End With
x = oTbl4.RecordCount 'for debugging purposes during development
'Debug.Print "oTbl4 count" & x
With frmValidationForm.listAddresses 'listbox to which I want to publish the query results
.ColumnCount = 8
.ColumnWidths = "100;0;0;0;0;0;0;0"
.Clear 'Clears the listbox
.BoundColumn = 1
.List = Application.Transpose(oArray4)
.ListIndex = -1
End With
答案 0 :(得分:0)
更改此行:
.List = Application.Transpose(oArray4)
到此:
.Column = oArray4