![]() |
Datenbank: Access • Version: 2000 • Zugriff über: ADO (Jet 4)
VIEW erkennen
hi ihr,
ich habe in meiner access-datenbank ein view. wenn ich mir per TADOConnection.GetTableNames() die namen der tabellen ausgeben lasse, dann ist in dieser liste auch mein view drin. soweit so gut. nur: wie kann ich erfahren, ob es sich bei einem eintrag in dieser liste um eine tabelle oder ein view handelt (ist mir zur entwurfszeit nicht bekannt)? danke schonmal, aeno |
Re: VIEW erkennen
das geht über ADOX.
Delphi-Quellcode:
uses ADOX_TLB; // Typbibliothek, muss zuvor importiert werden
var ADOXcatalog : _Catalog; .... ADOXcatalog := CoCatalog.Create; // in FormCreate .... ADOXcatalog.Set_ActiveConnection(ADOConnection1.ConnectionObject); .... function IsView(const TableName:string):Boolean; var i : Integer; T : Tables; begin T := ADOXcatalog.Tables; for i := 0 to T.Count-1 do begin if T.Item[i].Name = TableName then begin Result := Pos('VIEW', T.Item[i].Type_) > 0; Exit; end; end; Result := False; end; |
Re: VIEW erkennen
Hallo.
Als Alternative zu ADOX kann man auch den Provider befragen:
Delphi-Quellcode:
Freundliche Grüße vom marabu
function GetTableType(conn: TADOConnection; sTable: String): String;
var ds: TADODataSet; begin ds := TADODataSet.Create(nil); ds.Connection := conn; conn.OpenSchema(siTables, EmptyParam, EmptyParam, ds); ds.Open; if ds.Locate('TABLE_NAME', sTable, []) then Result := ds.FieldValues['TABLE_TYPE'] else Result := ''; ds.Close; ds.Free; end; |
Re: VIEW erkennen
danke euch beiden! das werd ich dann morgen gleich ausprobieren.
aenogym |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz