![]() |
Datenbank: Access • Version: 2003 • Zugriff über: ADO
Access Abfrage per SQL erweitern
Etwas weiter unten "Access neues Feld anlegen" ist der Start meiner Geschichte.
Soweit so gut. Also Neue Tabelle (Versionsinfo) u. eine Tabelle erweitert zur Laufzeit klappt ohne Probleme, nach Bummis Vorschlag im AfterConnect. Nun hab ich aber das Problem das ich eine Abfrage erweitern möchte.Mache ich das ganze per Access Oberfläche geht das ja ohne Probleme, nur wie kann ich soetwas zur Laufzeit machen. Wenn ich ein Feld im Feldeditor der Query hinzufüge bekomme ich ne Fehlermeldung, nach einer Datenanderung, das mehrere Recordsets nicht möglich sind. Mache ich das ganze statisch wie gesagt klappt alles. Ich suche sowas wie Alter Abfrage.... die bestehende Abfrage ist schon mit der Access Oberfläche vorhanden, nur wie gesagt ein Feld soll noch hinzu. Gruß schniede |
AW: Access Abfrage per SQL erweitern
Liste der Anhänge anzeigen (Anzahl: 1)
meinst Du
Code:
und danach
DROP View ViewName
Code:
ich hab mal ein Beispiel unserer Scripte angehängt
Create View ViewName as
... ... |
AW: Access Abfrage per SQL erweitern
Also damit kann ich eine Abfrage erstellen
Code:
;
with NeuQuery do begin
sql.clear; NeuQuery.SQl.add('create view test as select Memory from geraetetabelle'); ExecSQL; end Danach habe ich in der Datenbank eine Abfrage Test mit dem Feld Memory, aber ich möchte eine vorhandene Abfrage ändern. |
AW: Access Abfrage per SQL erweitern
Ich würde zwar AdoConnection.Execute(SQL) schreiben, aber ja.
|
AW: Access Abfrage per SQL erweitern
So für alle die es vieleicht interressiert, meine Lösung des Problems.
Delphi-Quellcode:
großes Danke Bummi
with NeuQuery do begin
sql.clear; NeuQuery.SQl.add('drop view Geraeteabfrage'); ExecSQL; end; with NeuQuery do begin sql.clear; SQl.add('create view Geraeteabfrage as select Memory,Seriennummer,Eingang ,Ausgang,Ausgabe,GeraeteID,Bemerkung,Bestellnummer , Bezeichnung,Gruppen_id, Sortierung, exelnr, Zustand,'); sql.Add('[Zustandtabelle].Zustand_id '); sql.add('FROM [Zustandtabelle] INNER JOIN ([Bestellnummerntabelle] INNER JOIN [Geraetetabelle] ON Bestellnummerntabelle.Bestell_id = Geraetetabelle.Bestell_id) ON Zustandtabelle.Zustand_id = Geraetetabelle.Zustand_id'); ExecSQL; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 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