Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi InputQuery Abfrage (https://www.delphipraxis.net/56415-inputquery-abfrage.html)

robby3 5. Nov 2005 12:08

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;

berndberndbernd5b 5. Nov 2005 12:33

Re: InputQuery Abfrage
 
hi


du musst vor dem quatedstring nen + setzen

ich würd das mit dem Filter, tabellen zusammenführen .... mit SQL machen

Union 5. Nov 2005 12:45

Re: InputQuery Abfrage
 
Entweder so:
Delphi-Quellcode:
Query.sql.Text:= 'Select lager.* From stueckliste inner join lager on stueckliste.pos = lager.pos and stueckliste.znr = '+Quotedstr(stName);
Query.active:=true;
Oder so:
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;

robby3 5. Nov 2005 18:15

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

Union 5. Nov 2005 18:18

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.

robby3 5. Nov 2005 18:29

Re: InputQuery Abfrage
 
ich habe den RequestLive auf true gesetzt, aber ich kann meine Query Datenbank nicht ändern.
Robby
:gruebel:

Union 5. Nov 2005 18:33

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"?

robby3 5. Nov 2005 18:41

Re: InputQuery Abfrage
 
Ich möchte die Datenbank Lager ändern.
Robby

Union 5. Nov 2005 18:54

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)

robby3 5. Nov 2005 19:12

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.
Seite 1 von 2  1 2      

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