AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Einmal index setzen, dann Tabelle kaputt
Thema durchsuchen
Ansicht
Themen-Optionen

Einmal index setzen, dann Tabelle kaputt

Ein Thema von Susanne · begonnen am 6. Sep 2006 · letzter Beitrag vom 6. Sep 2006
 
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#1

Einmal index setzen, dann Tabelle kaputt

  Alt 6. Sep 2006, 15:08
Datenbank: Paradox • Version: 9 • Zugriff über: BDE
Hallo,

ich habe ein Problem mit dem Zugriff auf die Paradoxtabelle. ich öffne die Tabelle, setze den Sekundärindex und suche dann nach einem Schlüssel, lese aus und schliesse die Tabelle wieder. Soweit klappt das. anschliessen mache ich im Programm noch mal das gleiche, aber anstatt auszulesen setze ich hier die Werte des gefundenen Datensatzes neu. Das macht er bei dem ersten Durchgang auch einwandfrei

Nun führe ich das ganze erneut aus und nun möchte ich den Index setzen und jetzt bekomme ich den Fehler : Index nicht mehr gültig.

Jetzt kann ich die Tabelle reparieren, das erst mal klappt es wieder und danach wieder die gleiche Fehlermeldung.

Wo liegt mein Fehler? Irgendjemand noch eine idee, mir sind sie irgendwie ausgegangen.


Lesen
Delphi-Quellcode:
        Form2.Table1.IndexName := '';
        try
          Form2.Table1.IndexName := 'VORGANG';
        except
          on e:exception do
            ShowMEssage(e.message);
        end;
        Form2.Table1.open;
        KeyGefunden := form2.Table1.FindKey([FieldValue]);
        if KeyGefunden then begin
          for i:=0 to (sl_FieldName1.Count-1) do begin
            if Form2.Table1.Fieldbyname(sl_Values1[i]).isnull then
              TempString := ' '
            else
              TempString := Form2.Table1.fieldvalues[sl_Values1[i]];
            if TempString <> 'then
              cbo.SetDlgFieldValue(sl_FieldName1[i] ,TempString,true);
          end;
        end else
          ShowMessage('Vorgangsnr nicht gefunden.');
        Form2.Table1.close;
Schreiben
Delphi-Quellcode:
//Werte in DB zurückschreiben / aktualisiere den Datensatz
  else if cbo.GetDlgFieldValue('VORGANG') <> 'then begin

    Form2.Table1.IndexName := '';
    Form2.Table1.IndexName := 'VORGANG';
    inhalt:= cbo.GetDlgFieldValue('VORGANG');
    KeyGefunden := form2.Table1.FindKey([inhalt]);
    if KeyGefunden then
      Form2.Table1.Edit
    else
      Form2.Table1.Append;
    Form2.Table1.open;
    Form2.Table1.FieldByName('ABNR').AsString:= cbo.GetDlgFieldValue('ABNR');
    Form2.Table1.FieldByName('BELDAT').AsString:= cbo.GetDlgFieldValue('BELDAT');
    Form2.Table1.FieldByName('VORGANG').AsString:= cbo.GetDlgFieldValue('VORGANG');
    Form2.Table1.FieldByName('KDNR').AsString:= cbo.GetDlgFieldValue('KDNR');
    Form2.Table1.FieldByName('Debitor').AsString:= cbo.GetDlgFieldValue('KUNDE');

    try
      Form2.Table1.Post;
    except
      on e:exception do begin
        ShowMessage(e.message);
        exit;
      end;
    end;
    Form2.Table1.close;
  end;
Susanne
  Mit Zitat antworten Zitat
 


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 15:12 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