+ -
当前位置:首页 → 问答吧 → 动态语句的写法问题,请教.....

动态语句的写法问题,请教.....

时间:2011-07-18

来源:互联网

直接这么赋值是正确的,.,....直接写....
sqla = "transform SUM(值) select 半成品名称 from (select 金额 as 值,半成品名称,产品SN号&'金额' as 列 from [Sheet1$A1:J41] Union All select 领用数量 as 值,半成品名称,产品SN号&'领用数量' as 列 from [Sheet1$A1:J41]) where 半成品名称 like '%" & Text1.Text & "%' GROUP BY 半成品名称 Pivot 列"
sqlb = "select 规格型号,半成品名称,单位,物料属性 from [Sheet1$A1:J41]"
rst.Open sqla, cnn, adOpenDynamic, adLockPessimistic
 xls.Range("a2").CopyFromRecordset rst
 Set rst = Nothing





下面这种赋值是错的...

sqla=动态赋值的SQL语句,和上面的那个SQL语句一样,只是少了2个引号.
sqla="""" & sqla & """"
这样出来的sqla和上面一摸一样,但是就是得不到值,也不报错.....
rst.Open sqla, cnn, adOpenDynamic, adLockPessimistic 
这样就不行,数值出不来.

作者: ah_2029   发布时间: 2011-07-18

错误就在这里,SQL不能识别'%" & Text1.Text & "%',总是把这个作为字符串来识别,.......

作者: ah_2029   发布时间: 2011-07-18

sqla="""" & sqla & """"
这个不要掉不就行了。

作者: BestBadGod   发布时间: 2011-07-18

自己搞定了..../确实需要2次转义.第一次转义为TEXT1.第二次才是转义为常量./
和直接写有点点区别...

没人接分哇..????????????????

作者: ah_2029   发布时间: 2011-07-18

引用 2 楼 bestbadgod 的回复:
sqla="""" & sqla & """"
这个不要掉不就行了。


问题不是这里,是第一次赋值就需要把TEXT1作为变量赋值..如下:
  StrType = " " & "where " & StrType & " like " & "'" & "%" & Text1.Text & "%" & "'"

作者: ah_2029   发布时间: 2011-07-18

热门下载

更多