2つのmdbがリンクされています。 Original.mdb(触れるべきではない)と
私はテーブルが存在するかどうかをチェックするためにこれを使用してきたcopy.mdb:Delphi - ADOを使用してAccess 2003 DBにLINKEDテーブルが存在するか確認してください
function CheckIfTableExists(myTable : AnsiString): boolean;
var
x := Integer;
bTrue : boolean;
begin
f1.ADOConnection1.GetTableNames(f1.ListBox1.Items,False);
bTrue := false;
for x := 0 to f1.ListBox1.Items.Count -1 do
begin
if (f1.ListBox1.Items.Strings[x] = myTable) then
begin
bTrue := true;
end;
end;
if (bTrue = true) then
begin
Result := True;
end
else
Result := false;
end;
end;
を私はこれを行うには良い方法があると確信しているが、そうそれは私にとってはうまくいきました。
今度は、LINKと別のmdbテーブルが存在するかどうかを確認する必要があります。誰もそれを行う方法を知っていますか?
I.Bagon
最終 'if'が奇数です。なぜ結果:= bTrue'をしないのですか?しかし、「bトルーズ」はいい名前ではありません。それを取り除き、 'Result'に直接代入してください。そして、あなたが試合を見つけるときに外見から脱出したくないですか? –
それ以外は、大文字と小文字の区別が重要です。 MyTableの値が実際のテーブル名と異なる場合、そのテーブルは見つかりません。デルファイはアクセスではありません。 Delphiでの '= 'を使った文字列比較では、大文字と小文字が区別されます。 'if SameText(Value1、Value2)then'を使うほうが良いでしょう。 –
@DavidHeffernan:アイディアをありがとう。私は実際にこの行を説明するためにこのコードを書いた:f1.ADConnection1.GetTableNames(f1.ListBox1.Items、False);通常、私は必要以上のものを読んでいないでしょう。そして名前bTrueは頭に浮かんだ最初のものでした。リンクされたテーブル名を取得するのと同様の方法があった場合、私は実際に迷っていましたか? – user805528