表InStor:
instorno   suppno   indate 
1    17     2005-10-8
2    18     2005-9-26表InStorDeta:
detano suppno commno indate
1      17     1000   2005-10-8
2      18     1001   2005-9-26Dim datInDate As Date
Dim lngSuppNo As Long
dim strCommNo As StringCall OpenTable("select * from InStor where suppno=17")
lngSuppNo=rs.Fields(1)
datInDate = rs.Fields(2)    
call closetable          '关闭记录集Call OpenTable("select * from InStorDeta where suppno=" & lngSuppNo And "indate=#" & datInDate & "#")
strCommNo = rs.Fields(2)运行后strCommNo=""
提示在对应所需名称或序数的集合中未找到项目,不知哪有问题?

解决方案 »

  1.   

    Call OpenTable("select * from InStorDeta where suppno='" & lngSuppNo &"' And indate=#" & datInDate & "#")
      

  2.   

    如果suppno是数值型:
    Call OpenTable("select * from InStorDeta where suppno=" & lngSuppNo &" And indate=#" & datInDate & "#")
      

  3.   

    回faysky2:[Microsoft][ODBC SQL Server Driver][SQL Server第一行: '#'附近有语法错误郁闷!
      

  4.   

    把日期类型转成字符串试试
    Call OpenTable("select * from InStorDeta where suppno=" & lngSuppNo &" And indate='" & cstr(datInDate) & "'")
      

  5.   

    你的suppno是integer吗?
    中断一下看看你取的值是17和2005-10-8吗?
    也可以分开对suppno和indate分别设置过滤
    Call OpenTable("select commno  from InStorDeta where suppno=" & lngSuppNo And "indate=#" & datInDate & "#")
    strCommNo = rs.Fields(0)
    Call OpenTable("select commno  from InStorDeta where indate=#" & datInDate & "#")
    strCommNo = rs.Fields(0)
    看看得到的都是什么