这有点类似于主从情况,但有一些变化。
问题:我有两个独立的 MS Access 数据库文件 (.mdb),需要链接。
- 第一个数据库有零件编号、零件详细信息、供应商等...
- 第二个数据库将单独的零件编号作为表名,在这些表中是使用该零件的客户和产品编号。
我找不到合适的主从链接方法,主要是因为表格名称必须随着网格中单元格数据的更改/更新而即时更改。
因此,我想出了一种替代链接方法,如下所示。而且我不完全确定这是链接它们的好方法。
{DBGrid1 显示来自 ADOTable1 的值 } {DBGrid2 显示来自 ADOTable2 的值,其表名发生变化}
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var PartTableName: string;
begin
if DBGrid1.Fields[2].IsNull then exit
else
begin
if ADOTable2.active then ADOTable2.Close;
PartTableName:= DBGrid1.Fields[2].AsString;
while pos('-',TableString) > 0 do
PartTableName[pos('-',PartTableName)] := '_';
ADOTable2.TableName:= PartTableName; //obtained from cell click in DBGrid1
ADOTable2.Open;
end;
end;
DBGrid2 显示使用在 DBGrid1 中单击的任何部件号的客户和产品。
必须有更好的方法来做到这一点?这种链接方式对我来说似乎很粗糙。我也宁愿在 OnDataChange 方法中使用它,但似乎不起作用。