您可以只将表导入Access中,然后使用它们作为蓝图来工作。只要确保“表关系”是正确的...我知道没有一个,而是采用“逻辑”路径...如果您的表的fieldName为“ FaxBookID”,而您的表为“ FaxBook”。 ..您知道它们是相关的
我有一个旧的dbase数据库(由使用clipper 5.2编程的程序制成),它由多个表(文件)组成。这些表与某种记录号链接,但是在源表中找不到记录号字段。我想将此数据库转换为Access并重新建立链接。我已经阅读了有关dbf记录指针(?)的内容,但我不知道如何从DBF中提取它。
嗯,如果正在使用recno()或其他类似方法,则表明该表从1开始。记住,您无法在Access中更新PK自动编号,但可以对此类表格附加查询!!!>
因此链接到dBase表。在Access中查看此表时,它是否显示该递增列?
它应该并且对我有用。
您尚未清楚上述详细信息。
因此,假设您看到此列增加且未标记为PK?
这很好(并且可以预期)。正如您在链接表中看到的递增数字一样长,那么就很好。
然后,此导入过程变得非常快速和容易。
在创建功能区选项卡上,只需选择查询设计。
拖放到该链接表中。
从功能区中选择制作表。输入新的本地表名称。
将表中的*拖动到查询网格中(网格的第一列)。
您有这个:
现在运行以上查询查询(点击功能区中的运行按钮。
退出(抛出该查询-无需保存)。
结果将是带有该数字列的新本地表。
现在,从该本地表中清空数据。
(使用Ctrl-g调试窗口)
Currentdb.execute“从NewLocalTable中删除*”
现在执行压缩+修复(这将重置空表中的所有自动编号列-可能不是必需的-但无论如何都要这样做)。并且它回收了我们刚刚清空的那个表的空白空间。
确定,现在在设计模式下打开该新本地表。选择该第一个数字id列,然后将其删除。 (点击该行-可能是第一行-按下del键)。
现在,单击第一行以选择第一列。点击插入键将其全部按下,然后输入您刚删除的编号列的名称。 Tab键,自动编号,然后从功能区中敲击PK按钮(主键按钮)。
关闭表设计师。保存设计更改。
我们现在有一个空表,其PK自动编号列与以前的名称相同。
现在,创建新查询,在链接表中下垂。
从功能区中选择追加查询,然后输入新的本地空表的名称。
将*拖动到查询网格中。
运行它。
我们现在有了一个具有PK自动编号的本地表,并且这些列将匹配链接的表。
要进行10秒钟的测试?
Ctrl-g(跳至调试窗口)。
输入:
? dcount("*","linkeddBaseTabble name") ? dcount("*","NewlocalTable name")
记录数应该相同。
此时,您的本地表具有相同的列+ PK ID自动编号列。
您可以重复上述步骤。进行得很快。 20-30张桌子不会花很长时间。
结果现在是本地表,并且每个表将具有一个具有相同列名的自动编号PK列。
我认为作为链接表的列是“ ID”,但可能是RECNO。 (因此,请将其用于本地PK列名称。)>
所以你:
链接到数据库表。
查询生成器–生成表。
Ctrl-g清空本地表:
Currentdb.execute "delete * from local table name"
在设计中打开本地表-删除数字列,将其重新添加为PK自动编号。
查询构建器,放入链接表。从功能区中选择追加查询,输入本地表的名称。
拖动“ *”以查询网格–运行它。
您现在有了一个本地表,其PK自动编号与链接表相同。
移至要导入的下一个表(通过上述几个步骤,将自动编号添加到要导入的每个表中。
您可以只将表导入Access中,然后使用它们作为蓝图来工作。只要确保“表关系”是正确的...我知道没有一个,而是采用“逻辑”路径...如果您的表的fieldName为“ FaxBookID”,而您的表为“ FaxBook”。 ..您知道它们是相关的
您可以只将表导入Access中,然后使用它们作为蓝图来工作。只要确保“表关系”是正确的...我知道没有一个,而是采用“逻辑”路径...如果您的表的fieldName为“ FaxBookID”,而您的表为“ FaxBook”。 ..您知道它们是相关的