sourceData 是你的数据库名称,带路径的
Set dbCreate = DBEngine.Workspaces(0).OpenDatabase("e:\1.mdb", dbOpenDynaset)
    
    For i = 0 To dbCreate.TableDefs.Count - 1
        strInfo = dbCreate.TableDefs(i).Name
         '完成把sjnr字段变成255位
            dbCreate.Execute "Alter Table " & 表名称 & " Add COLUMN Temp double" '添加一个字段为double
            dbCreate.TableDefs(表名称).Fields("Temp").AllowZeroLength = True  '将该字段设置为允许为空字符串
            dbCreate.Execute "Update " & strInfo & " Set Temp=sjnr" '将sjnr字段的所有数据拷贝到Temp中
            dbCreate.TableDefs(strInfo).Fields.Delete "sjnr"  '删除sjnr字段
            dbCreate.TableDefs(strInfo).Fields("Temp").Name = "sjnr"  '将新添加的字段改名为sjnr
        End If
    Next i
    dbCreate.Close
这段代码其实就是把sjnr字段改成了double型,应该可以解决你的问题吧。方法就是新建一个double字段,然后把你原来的字段数据放到次字段中,再把原来的字段去掉。然后在重新易名成你原来的字段,搞定

解决方案 »

  1.   

    上面写的有点问题,看这个就可以了
    sourceData 是你的数据库名称,带路径的
    Set dbCreate = DBEngine.Workspaces(0).OpenDatabase("e:\1.mdb", dbOpenDynaset)
        
                strInfo =  你的数据表名字
             '完成把sjnr字段变成255位
                dbCreate.Execute "Alter Table " & strinfo & " Add COLUMN Temp double" '添加一个字段为double
                dbCreate.TableDefs(strinfo).Fields("Temp").AllowZeroLength = True  '将该字段设置为允许为空字符串
                dbCreate.Execute "Update " & strInfo & " Set Temp=sjnr" '将sjnr字段的所有数据拷贝到Temp中
                dbCreate.TableDefs(strInfo).Fields.Delete "sjnr"  '删除sjnr字段
                dbCreate.TableDefs(strInfo).Fields("Temp").Name = "sjnr"  '将新添加的字段改名为sjnr
            End If
        dbCreate.Close
    这段代码其实就是把sjnr字段改成了double型,应该可以解决你的问题吧。方法就是新建一个double字段,然后把你原来的字段数据放到次字段中,再把原来的字段去掉。然后在重新易名成你原来的字段,搞定
      

  2.   

    你也可以另建一个表,用dts转过去。
      

  3.   

    chenxin790311(逍遥鱼),我试用了你的方法,但执行到
    dbCreate.TableDefs(表名称).Fields("Temp").AllowZeroLength = True  '将该字段设置为允许为空字符串
    的时候,出现“Invalid  Operation"的错误,不知道为什么。请教!
      

  4.   

    哦,不好意思,你把这个去掉吧,这个应该是文本类型的时候才有用,double的话应该就不用了吧:)
      

  5.   

    哦,谢谢帮忙。还有问题请教
    http://expert.csdn.net/Expert/topic/1412/1412348.xml?temp=.2183191
    http://expert.csdn.net/Expert/topic/1411/1411789.xml?temp=.7908899