【发布时间】:2021-05-12 01:34:27
【问题描述】:
我在尝试访问的列名称中遇到方括号问题。
列名:[KPI] 标准交付能力 SO [
这是我的代码:
Dim rs As New ADODB.Recordset
Dim query As String
Dim WhatToSelect as String
query = "Select " & WhatToSelect & " From" & sourceSheet & ".[Sheet1$]"
rs.Open query, connection
rs.MoveFirst
i = rs.Fields(rs.Fields(0).name).Value
基本上我正在尝试查找变量,该变量位于“WhatToSelect”变量中
我试过了:
WhatToSelect = "avg([[KPI] Standard Delivery Capability SO [<0/0]])"
WhatToSelect = "avg(`[KPI] Standard Delivery Capability SO [<0/0]`)"
到目前为止没有任何效果。
(它适用于所有其他列,没有 [ ] )
【问题讨论】:
-
您的
where子句未完成。where条件是什么? -
我的错,这部分确实很重要,它工作得很好,它充满了变量,所以我认为这样代码会更清晰。唯一的问题是列名中的 suqare 括号。
-
您是否尝试过使列类似于“[带有 [ 和 ] 括号的名称]”?那么在字段名称周围加上方括号并转义字段中已经存在的方括号?
-
@Roemer 我不确定,你是什么意思。您能否给我举个例子,在这种情况下会如何?如果您的意思是我应该更改列的名称,我不能这样做。
-
啊,我现在看到 stackoverflow 删除了我的反斜杠! Arggg...让我们再试一次:
[a name with \[ and \] brackets]。但 FunThomas 可能有更好的主意。