Tuoni 发表于 2007-1-23 07:49:53

ADO、Excel、VBA和;缺少运算符。。。

好的,在我开始之前,我确信这是一件愚蠢的事情,我只能#039;我不明白,因为我已经盯着这段代码看了太长时间了,运行下面的代码会给我带来以下错误:;查询表达式中的语法错误(缺少运算符)
FencingRecordSet.Open "SELECT * FROM WHERE 12mmInfillBars=" & frmSettings.opt12mmInfill.Value & _
" AND 16mmInfillBars=" & frmSettings.opt16mmInfill.Value & " AND 1mHeight=" & _
frmSettings.opt1mHigh.Value & " AND 1-2mHeight=" & frmSettings.opt12mHigh.Value & _
" AND Galvanised=" & frmSettings.optGalvanised.Value, ExcelSpreadsheetADODB, adOpenKeyset, adLockOptimistic

查询正在正确计算(如…它将TRUE和FALSE作为布尔值)…Jet前端将列报告为布尔值…
我已尝试将对单选按钮的引用封装在单引号中,不带单引号,作为文字…&160;我被难住了
It'它一定很简单,但我可以#039;我看不出来有什么想法吗,伙计们?

Tuoni 发表于 2007-1-23 09:52:17

本人'我放弃了使用过滤器,取而代之的是,我只是在记录集中搜索,直到找到满足所有标准的东西
虽然没有我想要的那么优雅,但必须如此。

Atook 发表于 2007-1-23 10:46:43

当我运行复杂的查询时,我喜欢这样格式化它们:
strSQL=quot;从中选择*,其中12mmInfillBars=&quot&frmSettings.opt12mmInfill。价值(&A)_&引用;和16mmInfillBars=”&frmSettings.opt16mmInfill。价值(&A)&引用;和1mHeight=&amp_
frmSettings.opt1mHigh。价值(&A)&引用;和1-2mHeight=“”&frmSettings.opt12mHigh。价值(&A)_
"镀锌=”&frmSettings.optgalvanized.Value
FencingRecordSet。打开strSQL、excelsreadsheetadodb、adOpenKeyset、adlockomistive,然后我可以在上面评估strSQL'我们自己解决问题。很多时候,连接或引用中都会出现奇怪的错误。你能发布实际的字符串(strSQL)给我们看吗?

Tuoni 发表于 2007-1-23 11:31:47


"SELECT * FROM WHERE " & _
"12mmInfillBars=" & frmSettings.opt12mmInfill.Value & _
" AND 16mmInfillBars=" & frmSettings.opt16mmInfill.Value & _
" AND 1mHeight=" & frmSettings.opt1mHigh.Value & _
" AND 1-2mHeight=" & frmSettings.opt12mHigh.Value & _
" AND Galvanised=" & frmSettings.optGalvanised.Value 是我给ADODB连接的SQL查询
单选按钮(opt*)显然返回布尔值TRUE或FALSE,我的数据库中的字段填充TRUE或FALSE
如果单选按钮周围有这样的单引号:
"12mmInfillBars='" & frmSettings.opt12mmInfill.Value & "'" & _ 如果我使用了字符串值,无论是在单引号内还是在单引号外,仍然返回了一个错误
就像我在上一篇文章中说的那样,我扣上了扣子,用了一个recordset.movefirst
for foo=0 to recordcount -1
    if etc etc
    endif
    recordset.movenext
next foo
整个桌子上#039;s内容 在可预见的未来(及以后),我看不到该表中的行超过8行,因此速度在这里不是问题 It#039;这很烦人:realmad:
页: [1]
查看完整版本: ADO、Excel、VBA和;缺少运算符。。。