Set Db = OpenDatabase(App.Path & "\all.mdb")
sSQL = "ALTER TABLE PRE1991 MODIFY K TINYINT,CHANGE P21P12 c CHAR(20)"
Db.Execute sSQL
Db.Close老说实时错误3293,ALTER TABLE 语句中的语法错误!而以下却没有错误,运行正常:
Set Db = OpenDatabase(App.Path & "\all.mdb")
sSQL = "ALTER TABLE PRE1991 ADD COLUMN P850 long"
Db.Execute sSQL
Db.Close难道 vb 不支持MODIFY和CHANGE,只支持ADD??
请大家指教一下。谢谢!

解决方案 »

  1.   

    分开执行
    sSQL = "ALTER TABLE PRE1991 ALTER COLUMN K TINYINT"
    sSQL = "ALTER TABLE PRE1991 ALTER COLUMN CHANGE P21P12 c CHAR(20)"
      

  2.   

    使用 ALTER COLUMN 可更改现有字段的数据类型。可以指定字段名称、新的数据类型及文本和二进制字段的可选大小。例如,以下语句将 Employees 表中称为 ZipCode(原先定义为整数)字段的数据类型更改为一个大小为 10 个字符的文本字段: 
    ALTER TABLE Employees ALTER COLUMN ZipCode TEXT(10)