AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Daten in Tabelle korrigieren
Thema durchsuchen
Ansicht
Themen-Optionen

Daten in Tabelle korrigieren

Ein Thema von Ykcim · begonnen am 22. Jan 2013 · letzter Beitrag vom 23. Jan 2013
Antwort Antwort
Seite 2 von 2     12   
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Daten in Tabelle korrigieren

  Alt 23. Jan 2013, 20:50
Hallo,

vielen Dank für die schnelle Antwort!!!

Hier werden Daten angezeigt!
Delphi-Quellcode:
 SELECT WAAUNR, WAAUPO, OAAGNR
   FROM as400temp as A
  WHERE OATLKZ = ''
    AND OAAGNR <
        ( SELECT Max( OAAGNR )
            FROM as400temp
           WHERE WAAUNR = A.WAAUNR
             AND WAAUPO = A.WAAUPO
             AND OATLKZ = '9' )
    AND OAMANR not REGEXP 'HD|FA|KO';
Hier kommt die Fehlermeldung: Table 'nedcom.tmptab' doesn't exist
Delphi-Quellcode:
CREATE TEMPORARY TABLE tmpTab
 SELECT WAAUNR, WAAUPO, OAAGNR
   FROM as400temp as A
  WHERE OATLKZ = ''
    AND OAAGNR <
        ( SELECT Max( OAAGNR )
            FROM as400temp
           WHERE WAAUNR = A.WAAUNR
             AND WAAUPO = A.WAAUPO
             AND OATLKZ = '9' )
    AND OAMANR not REGEXP 'HD|FA|KO';

 SELECT *
   FROM tmpTab;
Hier werden die gleichen Daten wie oben angezeigt
Delphi-Quellcode:
SELECT WAAUNR, WAAUPO, OAAGNR
   FROM as400temp as A
  WHERE IFNULL( OATLKZ, '' ) = ''
    AND OAAGNR <
        ( SELECT Max( OAAGNR )
            FROM as400temp
           WHERE WAAUNR = A.WAAUNR
             AND WAAUPO = A.WAAUPO
             AND OATLKZ = '9' )
    AND OAMANR not REGEXP 'HD|FA|KO';
Gruß
Patrick
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Daten in Tabelle korrigieren

  Alt 23. Jan 2013, 21:05
Führst du etwa jedes Statement einzeln aus?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Daten in Tabelle korrigieren

  Alt 23. Jan 2013, 21:21
Ich habe die ANweisungen erst zusammen ausgeführt, dann aber auch einzeln versucht...

Kann es sein, dass ich die Drop-Anweisung einzeln ausführen muss?

Ohne die habe ich es jetzt irgendwie ans Laufen bekommen, habe aber keine Ahnung warum.

Ich verwende den QueryBrowser. Kann es auch damit zusammenhängen?

Ich bin etwas verwirrt...
Patrick
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Daten in Tabelle korrigieren

  Alt 23. Jan 2013, 21:27
Also, wenn ich die Anweisungen jetzt einzeln durchgehe, scheinen sie zu laufen, aber zusammen geht im Query-Browser nicht. ABer vielleicht hat mein Programm damit keine Probleme. Ich bin zurzeit noch nicht an dem Punkt, dass ich mein Programm testen kann. Ich programmiere also gerade blind. Ich muss noch zwei große Proceduren fertig bekommen, dann kann ich das Programm testen...

Ich werde gleich mal eben ein kleines eigenes Programm machen...

Melde mich gleich wieder.

Danke
Patrick
Patrick
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Daten in Tabelle korrigieren

  Alt 23. Jan 2013, 21:46
Hallo Zusammen,

mit dieser Procedure funktioniert es:
Delphi-Quellcode:
procedure TMain.ButtonAktualisierenClick(Sender: TObject);
var AGS: string;
      I: integer;
      Query: TUniQuery;
begin
   Query:=Main.MySelectQuery; //Normalerweise wird die Query der Procedure der Klasse übergeben, das habe hier nur für den Test gemacht...
   //Rückmeldefehler beheben
   AGS:='';
   Query.SQL.Clear; //AGs die nicht korrigiert werden sollen holen
   Query.SQL.Add('select Wert from einstellungen ');
   Query.SQL.Add('where einstellung= :Einstellung ');
   Query.ParamByName('Einstellung').AsString:='Rueckm.nicht.korrigieren';
   Query.Open;
   if not Query.Eof then begin
      AGS:=Query.Fields.Fields[0].Value;
      Query.Next;
      if Query.RecordCount>1 then begin
         for I:=1 to Query.RecordCount -1 do begin
            AGS:=AGS+'|'+Query.Fields.Fields[0].Value;
            Query.Next;
         end;
      end;
   end;

   Query.SQL.Clear;
   Query.SQL.Add('CREATE TEMPORARY TABLE tmpTab ');
   Query.SQL.Add('SELECT WAAUNR, WAAUPO, OAAGNR ');
   Query.SQL.Add('FROM as400temp as A ');
   Query.SQL.Add('WHERE OATLKZ = ''''');
   Query.SQL.Add('AND OAAGNR < ');
   Query.SQL.Add('( SELECT Max( OAAGNR ) ');
   Query.SQL.Add('FROM as400temp ');
   Query.SQL.Add('WHERE WAAUNR = A.WAAUNR ');
   Query.SQL.Add('AND WAAUPO = A.WAAUPO ');
   Query.SQL.Add('AND OATLKZ = ''9'' ) ');
   Query.SQL.Add('AND OAMANR not REGEXP '''+AGS+'''; ');

   Query.SQL.Add('UPDATE as400temp ');
   Query.SQL.Add('SET OATLKZ = ''9''' );
   Query.SQL.Add(' WHERE ( WAAUNR, WAAUPO, OAAGNR ) IN ( SELECT WAAUNR, WAAUPO, OAAGNR ');
   Query.SQL.Add('FROM tmpTab ); ');

   Query.SQL.Add('DROP TABLE tmpTab; ');

   Query.Execute;
end;
Anregungen und Verbesserungen werden gerne angenommen!


Vielen Dank für die Unterstützung!!!

Gruß
Patrick
Patrick
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz