strSql = "insert into PRJ_项目版本(项目UID,顺序号,版本号,版本时间,版本操作人,版本说明,阶段,操作名,年度,批次,项目名称,项目类型,专业,部门,"
    
strSql = strSql & "合同制项目,乙方单位,单位,周期,项目内容,本年进度,备注,总概算,已安排,本年计划,项目优先级) values ('" & proj.projID & "'," & proj.orderNo & "," & proj.editionNo & ",'" & GetTime(Now()) & "','" & FormalSql(proj.editionBuilder) & "','" & FormalSql(proj.editionCause) & "','评审','生成新版本'," & proj.proj_year    strSql = strSql & "," & proj.proj_times & ",'" & FormalSql(proj.proj_name) & "','" & FormalSql(proj.proj_type) & "','" & FormalSql(proj.proj_spec) & "'," & proj.proj_dept    strSql = strSql & "," & proj.proj_con & ",'" & FormalSql(proj.proj_bunit) & "','" & FormalSql(proj.proj_unit) & "','" & FormalSql(proj.proj_cyc) & "','" & FormalSql(proj.proj_content)    strSql = strSql & "','" & FormalSql(proj.proj_sche) & "','" & FormalSql(proj.proj_re) & "'," & proj.proj_summ & "," & proj.proj_plan & "," & proj.proj_planyear & "," & proj.proj_pri & ")"这么拼字串到底有什么问题。
vb6环境,access数据库,
进行跟踪,发现strSql的值是:
"insert into PRJ_项目版本(项目UID,顺序号,版本号,版本时间,版本操作人,版本说明,阶段,操作名,年度,批次,项目名称,项目类型,专业,部门,合同制项目,乙方单位,单位,周期,项目内容,本年进度,备注,总概算,已安排,本年计划,项目优先级) values ('{3239423F-FF2C-4C0E-BE12-567331
why?

解决方案 »

  1.   

    把strSql整个字符串的值帖出来看看,报的什么错误?
      

  2.   

    有必要这么写吗?太复杂了,还不如.addnew
      

  3.   

    类型用错了.时间类型的用  #"& xxx &"# 格式如:
    #" & GetTime(Now()) & "#
      

  4.   

    如果是提示类型不匹配错误,那得注意看了,如果是数值类型数据,不必要用单引号括起来,否则需要用两个单引号括起来(在Access里,日期类型除外,日期类型得用两个#括起来)
      

  5.   

    strSql整个字符串的值是:"insert into PRJ_项目版本(项目UID,顺序号,版本号,版本时间,版本操作人,版本说明,阶段,操作名,年度,批次,项目名称,项目类型,专业,部门,合同制项目,乙方单位,单位,周期,项目内容,本年进度,备注,总概算,已安排,本年计划,项目优先级) values ('{3239423F-FF2C-4C0E-BE12-567331
    总长度:170
    项目uid是个guid的字符串,都没显示完。好像被截断了,vb里的字符串有长度限制吗?
      

  6.   

    长度有限制但远大于你现在的内容长度,你试着在VALUES里面连一个输出一个看,这样看我头晕。
      

  7.   

    时间类型的用 #"& xxx &"# 格式,再看看有id的是不是自动数字类型,自动数字类型是不用加个单引号的
      

  8.   

    你不要用MsgBox来显示StrSql,改用Debug.Print strSql,看看立即窗口(按Ctrl+G来显示)显示的strSql的值是什么,注意看语句中各个的值是否符合规定(改加单引号的加,不改加的去掉,改用#号的加上#号)