![]() |
Datenbank: dBase • Zugriff über: SQL
InputQuery Abfrage
Hallo zusammen, :-D
Ich brauche Hilfe :wall: Ich habe 2 Datenbänke zusammengefasst, nun möchte ich mit einer InputQuery abfrage mein letzter Filter setzen Stuecklisten.Znr = InputQuery ich bekomme immer eine Fehlermeldung. „Merkmal nicht verfügbar“ Und wie kann ich die Query Datenbank in den Editier Modus bringen um Daten ändern zu können Ich Freue mich schon auf eure Hilfe Robby Hier mein Code: :gruebel:
Delphi-Quellcode:
var
stName,text_t:string; begin stName:=''; text_t:='Bitte Stücklistennummer eingeben'; if InputQuery(text_t,'',stName)then Query.sql.Text:='Select lager.* From stueckliste inner join lager on stueckliste.pos = lager.pos and stueckliste.znr = Quotedstr(stName)'; Query.active:=true; end; |
Re: InputQuery Abfrage
hi
du musst vor dem quatedstring nen + setzen ich würd das mit dem Filter, tabellen zusammenführen .... mit SQL machen |
Re: InputQuery Abfrage
Entweder so:
Delphi-Quellcode:
Oder so:
Query.sql.Text:= 'Select lager.* From stueckliste inner join lager on stueckliste.pos = lager.pos and stueckliste.znr = '+Quotedstr(stName);
Query.active:=true;
Delphi-Quellcode:
Query.sql.Text:= 'Select lager.* From stueckliste inner join lager on stueckliste.pos = lager.pos and stueckliste.znr = :stName'
Query.ParamByName('stName').AsString := stName; Query.active:=true; |
Re: InputQuery Abfrage
Hei bin wieder da,war auf dem Martinsmarkt
Der Tipp war prima und wie bekomme ich jetzt die Datenbank aus dem nur Lesemodus raus mit Query .Edit geht das nicht. :gruebel: Robby |
Re: InputQuery Abfrage
Eine Query, die Joins enthält, ist immer readonly. Wenn Du mit einer temporären Tabelle arbeitest (mit select into erstellt) musst Du darauf achten, RequestLive auf true zu setzen.
|
Re: InputQuery Abfrage
ich habe den RequestLive auf true gesetzt, aber ich kann meine Query Datenbank nicht ändern.
Robby :gruebel: |
Re: InputQuery Abfrage
Nochmal: Deine Query enthält einen JOIN. Deshalb ist die Query immer readonly. Behelfen kannst Du Dir, indem Du die Query in eine Temporäre Tabelle schreibst (select into). In dieser führst Du dann Änderungen durch und zum Schluss machst Du über die ID ein Update auf die eigentliche Tabelle. Was möchstest Du denn in Deinem Besipiel ändern? "Stückliste" oder "Lager"?
|
Re: InputQuery Abfrage
Ich möchte die Datenbank Lager ändern.
Robby |
Re: InputQuery Abfrage
Direkt in "Lager" ändern kannst Du nur so (ungetestet):
SQL-Code:
select * from lager where lager.pos in (select stueckliste.pos from stueckliste where stueckliste.pos = lager.pos and stueckliste.znr = :stname)
|
Re: InputQuery Abfrage
Ich habe dein Code getestet: :-D
Ich bekomme die Fehlermeldung „Table2 : das Feld ‚stname’ Wurde nicht gefunden“ Robby :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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 by Thomas Breitkreuz