Ms access 将整型更改为长型

Ms access 将整型更改为长型,ms-access,vb6,Ms Access,Vb6,在具有VB6前端和jet MDB文件后端的应用程序中,我必须将所有整数变量更改为长变量 我正计划通过 A.在节目中 将所有声明从“As Integer”更改为“As Long” 除了卸载事件中的内置参数,如“取消为整数”。 及 将所有“CInt”更改为“CLng” 及 B.在数据库中 删除索引 添加与要替换的列具有相同默认值的临时整数列 将数据复制到这些 删除原始列 使用旧列的名称创建新列 再次跨多个服务器复制数据 删除临时列 重建指数 这是可行的方法吗?是否有问题?B.在表格设计中,您可以将数

在具有VB6前端和jet MDB文件后端的应用程序中,我必须将所有整数变量更改为长变量

我正计划通过

A.在节目中

  • 将所有声明从“As Integer”更改为“As Long” 除了卸载事件中的内置参数,如“取消为整数”。 及
  • 将所有“CInt”更改为“CLng”
  • B.在数据库中

  • 删除索引
  • 添加与要替换的列具有相同默认值的临时整数列
  • 将数据复制到这些
  • 删除原始列
  • 使用旧列的名称创建新列
  • 再次跨多个服务器复制数据
  • 删除临时列
  • 重建指数

  • 这是可行的方法吗?是否有问题?

    B.在表格设计中,您可以将数据类型/数字从整数更改为长整数。您正在增大尺寸,因此这应该不是问题。如果您有兴趣,请先复制表格


    步骤A可以,但不能更改事件参数
    Cancel
    。嗯,你也许能,但你不应该!无论如何,这是没有必要的。不要随意更改此类参数或任何其他系统(而不是自定义)参数。

    B.在表格设计中,您可以将数据类型/数字从整数更改为长整数。您正在增大尺寸,因此这应该不是问题。如果您有兴趣,请先复制表格


    步骤A可以,但不能更改事件参数
    Cancel
    。嗯,你也许能,但你不应该!无论如何,这是没有必要的。不要在没有考虑的情况下更改此类参数或任何其他系统(而不是自定义)参数。

    Andrew所说的是正确的。我要添加的唯一一件事是,如果数据库中有大量表,可以循环使用tabledef,然后使用fielddef查找所有整数,然后使用“altertable”查询将它们更改为long。这可以节省一些时间。另外,就A.而言,还要注意API整数参数。@tomcollins和andrewgibson。谢谢,我觉得现在做这件事更有信心了。我不认为我可以使用Alter Table,尽管数据库是Access 97?@kjack,您可以在从VBA代码(通过DAO)创建和运行的sql语句中使用Alter Table。但是,如果表不太多,手动更改数据类型可能会更快。如果选择“工具”菜单(如果我没记错的话?)、数据库工具、文档或,则可以打印所有表的定义,并在执行时划掉“整数”。但是,请注意,生成的报告可以运行到多个页面。您可以将其导出到Word,并可能将其缩小到可管理的大小。@Andrew所说的是正确的。我要添加的唯一一件事是,如果数据库中有大量表,可以循环使用tabledef,然后使用fielddef查找所有整数,然后使用“altertable”查询将它们更改为long。这可以节省一些时间。另外,就A.而言,还要注意API整数参数。@tomcollins和andrewgibson。谢谢,我觉得现在做这件事更有信心了。我不认为我可以使用Alter Table,尽管数据库是Access 97?@kjack,您可以在从VBA代码(通过DAO)创建和运行的sql语句中使用Alter Table。但是,如果表不太多,手动更改数据类型可能会更快。如果选择“工具”菜单(如果我没记错的话?)、数据库工具、文档或,则可以打印所有表的定义,并在执行时划掉“整数”。但是,请注意,生成的报告可以运行到多个页面。您可以将其导出到Word,或者将其减小到可管理的大小。如果名称包含对类型的引用,请不要忘记更改变量名称。。。就像将intIndex更改为LNGIndex一样,如果变量名包含对类型的引用,请不要忘记更改变量名。。。比如把intIndex改成lngIndex