Set db = OpenDatabase(dbname)
    o = db.TableDefs.Count
For oi = 0 To o - 1
    h = db.TableDefs(oi).Name
         If Left$(h, 4) <> "MSys" Then
        w = "select * from " & h
         Set rs = db.OpenRecordset(w, dbOpenDynaset)
         rs.MoveFirst
i = rs.Fields.Count
For a = 0 To i - 1
l = "alter table  db.TableDefs (oi).Name alter column rs.Fields(a).Name int"
Next
End If
我的数据库的字段是double型的,需要把字段改成integer型的.
可是运行完程序,我打开数据库里面的表,它们的字段依然是double类型的,帮忙看看,是我的程序错了,还是什么原因.
Next

解决方案 »

  1.   

    你有没有执行你修改字段的那个字符串??
    For a = 0 To i - 1
    l = "alter table  db.TableDefs (oi).Name alter column rs.Fields(a).Name int"
    cn.execute(l)
    Next
      

  2.   

    For a = 0 To i - 1
       db.execute "alter table  db.TableDefs (oi).Name alter column rs.Fields(a).Name int"
    Next
      

  3.   

    Ft~,再改~!!
    For a = 0 To i - 1
       db.execute "alter table " & db.TableDefs (oi).Name & " alter column " & rs.Fields(a).Name & " int"
    Next
      

  4.   


       db.execute "alter table " & db.TableDefs (oi).Name & " alter column " & rs.Fields(a).Name & " int"
    可是提示SOL语句中语法错误,应该怎么写才是正确的呢