如下代码
rst.Open "select * from " & tablename, cnn, adOpenDynamic, adLockReadOnlyFor i = 0 To rst.Fields.Count - 1List1.AddItem (rst.Fields(i).Name)
Next irst.Close
当tablename中间含有空格时,总报错“From附近语法错误”
还有表单列名中含空格也会出错,不知要如何解决?

解决方案 »

  1.   

    rst.Open "select * from " & """" & tablename & """", cnn, adOpenDynamic, adLockReadOnly试一试,我没测试。
      

  2.   

    首先,汇报一个好消息,按sunnf(sunnf)的方法确实好用,可以解决表单名含空格的问题。
    但对于列名好像不大好用,如下:strsql = strsql + rst.Fields(i).Name + " "改为strsql = strsql + """" & rst.Fields(i).Name & """" + " "
    或strsql = strsql & """" & rst.Fields(i).Name & """" & " "
    还是不行?不知要怎样解决。帮我看看错在哪?
      

  3.   

    旧问题没解决完,新问题又来了。
    怎样判断某列是否允许为空,以及如何设置某列允许为空(不用sql语句)
      

  4.   


    判断为空
    isnull()  函数
    如何读取表单名含空格的表单?
    select * from [test y]  将它括起来
      

  5.   

    lihonggen0(李洪根,用.NET,标准答案来了) 
    select * from [test y]  将它括起来
    好像不大好用?如下:
    rst.Open "select * from " & [ & tablename & ], cnn, adOpenDynamic, adLockReadOnly
    通不过去。
    rst.Open "select * from " & [tablename],cnn, adOpenDynamic, adLockReadOnly
    还是通不过去。不过,sunnf(sunnf)确实好用,而且,对列名也好用。
    我准备结贴了,最后再问一下,我上面用方括号的语句有什么错误。为什么通不过?
      

  6.   

    rst.Open "select * from " & [ & tablename & ], cnn, adOpenDynamic, adLockReadOnly应该是这样的
    rst.Open "select * from [ " & tablename & " ]" , cnn, adOpenDynamic, adLockReadOnly
    我没有测试。