【问题标题】:Changing integer to long将整数更改为长整数
【发布时间】:2013-06-23 16:26:46
【问题描述】:

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

我打算这样做

A.在节目中

  1. 将所有声明从“As Integer”更改为“As Long” 除了 Unload 事件中的“Cancel as Integer”等内置参数。 和
  2. 将所有“CInt”更改为“CLng”

B.在数据库中

  1. 删除索引
  2. 添加一个与要替换的列具有相同默认值的临时整数列
  3. 将数据复制到这些
  4. 删除原始列
  5. 使用旧列的名称创建新列
  6. 再次复制数据
  7. 删除临时列
  8. 重新创建索引

这是一种可行的方法吗?有什么陷阱吗?

【问题讨论】:

  • 不要忘记更改变量名称,如果名称包含对类型的引用...例如将 intIndex 更改为 lngIndex

标签: ms-access vb6


【解决方案1】:

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

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

【讨论】:

  • @Andrew 说的是正确的。我唯一要补充的是,如果您的数据库中有大量表,您可以遍历 tabledefs,然后通过 fielddefs 查找所有整数,然后使用“ALTER TABLE”查询将它们更改为 long。它可以节省一些时间。此外,就 A. 而言,还要注意 API 整数参数。
  • @Tom Collins 和 Andrew Gibson。谢谢,我现在更有信心继续前进。我不认为我可以使用 Alter Table,尽管数据库是 Access 97?
  • @kjack 您可以在从 VBA 代码(通过 DAO)创建和运行的 sql 语句中使用 ALTER TABLE。但是,如果您没有太多表,手动更改数据类型可能会更快。如果您选择“工具”菜单(如果我没记错的话?)、“数据库工具”、“文档”,您可以打印出所有表格的定义,并在执行过程中划掉“整数”。但是请注意,生成的报告可以运行到许多页面。您可以将其导出到 Word 中,或许可以将其缩小到可管理的大小。
猜你喜欢
  • 2011-10-05
  • 2016-02-04
  • 2015-12-01
  • 2018-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多