在access组合框的行来源中代码能正确执行,请问在程序中代码如何写?

SELECT 对方单位信息.单位名称 & " " & 对方单位信息.编号, 对方单位信息.开户行, 对方单位信息.账号, 对方单位信息.省, 对方单位信息.市 FROM 对方单位信息 ORDER BY 对方单位信息.单位名称;

下面例子示范在程序里用代码设置组合框的行来源属性

请将代码复制到某个事件过程里,控件名替换成实际控件名

Dim str As String
'注意下面SQL语句要写成1行字,不然就要使用换行符 _
str = "SELECT 对方单位信息.单位名称 & " " & 对方单位信息.编号, 对方单位信息.开户行, 对方单位信息.账号, 对方单位信息.省, 对方单位信息.市 FROM 对方单位信息 ORDER BY 对方单位信息.单位名称;"
With Combo1  '不同的环境下,这个组合框的引用方式可能需要调整
    .RowSourceType = "Table/Query" '设置行来源类型
    .RowSource = str     '设置行来源
    .ColumnCount = 5     '设置组合框显示列数
    .ListWidth = 567 * 10  '设置下拉列表的总宽度为10CM
    .ColumnWidths = "4cm;3cm;2.5cm;1.5cm;1.5cm" '设置下拉列表各列宽度
End With

运行中如有问题,请发追问

追问

首先,非常感谢你的解答。

但上面的代码出现编译错误。

我的想法是将“对方单位信息”表中的“单位名称”字段和“单位编码”两个字段连到一起作为组合框的一列,并且连接后的结果中间有一个空格。

追答

不好意思,之前不够小心,SQL语句这样写 空格改为单引号
str = "SELECT 对方单位信息.单位名称 & ' ' & 对方单位信息.编号, 对方单位信息.开户行, 对方单位信息.账号, 对方单位信息.省, 对方单位信息.市 FROM 对方单位信息 ORDER BY 对方单位信息.单位名称;"

追问

运行时提示:语法错误(操作符丢失)在查询表达式‘对方单位信息.单位名称 对方单位信息.编号’中。

组合框的内容变成了空的。

追答

我试过这样写是没问题的,例如
str = "select name & ' ' & name from students"
如果还不行,将你的数据库发到 我邮箱里,私信我后,我将邮箱告诉你

追问

不好意思,刚才多写了半个双引号,经过仔细核对,成功了。
谢谢!

温馨提示:答案为网友推荐,仅供参考
相似回答