有多个数字字段允许空,分别通过text控件输入,如果text控件全为空用insert into 插入时遇到问题有语法错误
insert into 表 (A,B,C,D) values (" &text1(1) &"," &text1(2) &"," &text1(3) &"," &text1(4) &")"就是要做到形如下面这种:
insert into 表 (A,B,C,D) values (null,null,null,null) 
请问如何解决,感谢!

解决方案 »

  1.   

    insert into 表 (A,B,C,D) values (" & iif(trim(text1(1).text)="",null,trim(text1(1).text) &"," & iif(trim(text1(2).text)="",null,trim(text1(2).text) &"," & iif(trim(text1(3).text)="",null,trim(text1(3).text) & "," & iif(trim(text1(4).text)="",null,trim(text1(4).text) & ")"如果字段为字符型,则每个值要加单引号,如下
    insert into 表 (A,B,C,D) values ('" & iif(trim(text1(1).text)="",null,trim(text1(1).text) & "','" & iif(trim(text1(2).text)="",null,trim(text1(2).text) & "','" & iif(trim(text1(3).text)="",null,trim(text1(3).text) & "','" & iif(trim(text1(4).text)="",null,trim(text1(4).text) & "')"
      

  2.   

    ExecSQL "insert into Goods (Num,Name,Class,PYM,Model,Spec,Unit,PPrice) values ('" & Text1(0) & "','" & Text1(1) & "'," & cn & ",'" & Text1(3) & "','" & Text1(4) & "','" & Text1(5) & "','" & Text1(6) & "'," & IIf(Text1(7) = "", Null, Text1(7)) & ")"
    有语法错误用rs.addnew不会出现,但是要解决用insert into的问题
      

  3.   

    上面这句有语法错误??
    什么提示,不是ExecSQL的问题吧!
      

  4.   

    是不是要这样  ' " & cn & " ', 和 ' IIf() '
      

  5.   

    ...用IF看文本框有没有值啊,没值生成的SQL语句的表名后就不要写那个文本框对照的列名,不就可以了
      

  6.   

    NULL还需要插入吗?你把别的字段填满,空值字段不要管就可以了。
      

  7.   

    对于可能出现null值的字段,数据库中须设置“允许空”才行^_^