让ACCESS删除记录后自动排序字段不断号
.版本 2
.支持库 ADODB
.子程序 重新编号, 逻辑型, , 重新给ACCESS自动编号,成功返回真
.参数 数据库连接, 数据库连接对象
.参数 表名, 文本型
.参数 字段名, 文本型, , 如:ID
.参数 索引名, 文本型, , 如:ID
.局部变量 sql_重新编号, 文本型
.局部变量 记录数_局, 整数型, , , 操作返回的记录数
.局部变量 是否成功_局, 逻辑型
.局部变量 最后错误, 文本型
.如果真 (取反 (打开ACCESS数据库 (数据库连接, , , 取运行目录 () + “\” + #数据库文件名, , “”, )))
信息框 (“打开ACCESS数据库失败!”, #错误图标 + #程序等待, )
返回 (假)
.如果真结束
数据库连接.开始事务 ()
sql_重新编号 = “DROP INDEX ” + 字段名 + “ ON [” + 表名 + “]”
' //删除自动编号字段索引
输出调试文本 (sql_重新编号)
数据库连接.执行 (sql_重新编号, 记录数_局, )
最后错误 = 数据库连接.最后错误
.如果真 (最后错误 ≠ “”)
信息框 (最后错误, #程序等待 + #错误图标, )
.如果真 (取反 (数据库连接.回滚事务 ()))
信息框 (“回滚事务失败!”, #程序等待 + #错误图标, )
返回 (假)
.如果真结束
返回 (假)
.如果真结束
sql_重新编号 = “ALTER TABLE [” + 表名 + “] DROP COLUMN ” + 字段名
' //删除自动编号字段
输出调试文本 (sql_重新编号)
数据库连接.执行 (sql_重新编号, 记录数_局, )
最后错误 = 数据库连接.最后错误
.如果真 (最后错误 ≠ “”)
信息框 (最后错误, #程序等待 + #错误图标, )
.如果真 (取反 (数据库连接.回滚事务 ()))
信息框 (“回滚事务失败!”, #程序等待 + #错误图标, )
返回 (假)
.如果真结束
返回 (假)
.如果真结束
sql_重新编号 = “ALTER TABLE [” + 表名 + “] ADD ” + 字段名 + “ AUTOINCREMENT”
' //建立自动编号字段
输出调试文本 (sql_重新编号)
数据库连接.执行 (sql_重新编号, 记录数_局, )
最后错误 = 数据库连接.最后错误
.如果真 (最后错误 ≠ “”)
信息框 (最后错误, #程序等待 + #错误图标, )
.如果真 (取反 (数据库连接.回滚事务 ()))
信息框 (“回滚事务失败!”, #程序等待 + #错误图标, )
返回 (假)
.如果真结束
返回 (假)
.如果真结束
sql_重新编号 = “CREATE INDEX ” + 索引名 + “ ON [” + 表名 + “] (” + 字段名 + “)”
' //建立自动编号字段索引
输出调试文本 (sql_重新编号)
数据库连接.执行 (sql_重新编号, 记录数_局, )
最后错误 = 数据库连接.最后错误
.如果真 (最后错误 ≠ “”)
信息框 (最后错误, #程序等待 + #错误图标, )
.如果真 (取反 (数据库连接.回滚事务 ()))
信息框 (“回滚事务失败!”, #程序等待 + #错误图标, )
返回 (假)
.如果真结束
返回 (假)
.如果真结束
.如果真 (取反 (数据库连接.保存事务 ()))
信息框 (“保存事务失败!”, #程序等待 + #错误图标, )
返回 (假)
.如果真结束
返回 (真)
页:
[1]