小布蛋 2017-03-27 09:44 采纳率: 0%
浏览 1059
已结题

ASP Excel上传导入access为什么每个单元格只能写入一百一十多汉字 该如何修改

'文件上传类,无惧上传类 V2.2,作者:梁无惧

全部代码粘贴不下后面分段贴出
代码虽然有点长但结构清楚 读起来不难
请路过大神帮帮忙

研究好几天无果已在濒临崩溃边缘

导入部分代码

 if request("action")="import" then
if request("mdb_table")="" or request("xls_table")="" then
    showerr "连接超时或非法访问"
end if
sql="select * from ["&request("mdb_table")&"] where 1<>1"
set rsfield=server.CreateObject("adodb.recordset")
rsfield.open sql,mdb_conn,1,1
if err.number<>0 then
    showerr err.Description
end if
sql="select * from ["&request("xls_table")&"]"
set rsxls=xls_conn.execute(sql)
if err.number<>0 then
    showerr err.Description
end if
dim success,fail,newone
success=0
fail=0
do while not rsxls.eof
    sql="select * from ["&request("mdb_table")&"]"
    set rsmdb=server.CreateObject("adodb.recordset")
    rsmdb.open sql,mdb_conn,1,3
    if err.number<>0 then
     showerr err.Description
    end if
    rsmdb.addnew
    for i=0 to rsfield.Fields.count-1
     if request("s_"&rsfield.fields(i).name)<>"" then
      rsmdb(rsfield.fields(i).name)=rsxls(cstr(request("s_"&rsfield.fields(i).name)))
      if err.number<>0 then
       response.write "<br>错误:"&err.Description
       fail=fail+1
       err.clear
      end if
     end if
    next
    rsmdb.update
    if err.number<>0 then
     response.write "<br>错误:"&err.Description
     err.clear
       else
        success=success+1 
    end if
    rsmdb.close
    set rsmdb=nothing
    rsxls.movenext
loop
rsxls.close
set rsxls=nothing
if err.number<>0 then response.write "<br>错误:"&err.Description
response.write "<br>成功导入数据"&success&"条.字段匹配错误"&fail&"次"
end if
  • 写回答

5条回答 默认 最新

  • 斯洛文尼亚旅游 2017-03-27 09:59
    关注

    mdb字段是备注的还是文本,文本自己检查下字段大小
    还有你的单元格指Excel还是access的?

    评论

报告相同问题?