AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fehlermeldung: *.db Index ist schreibgeschütz
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung: *.db Index ist schreibgeschütz

Ein Thema von RedHorse · begonnen am 26. Feb 2003 · letzter Beitrag vom 3. Mär 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#11
  Alt 1. Mär 2003, 14:41
Hallo RedHorse,

ich habe das Programm gestartet und konnte den Fehler nachvollziehen.

eddy hat eigentlich bereits die Antwort geliefert. Du musst folgendes machen:

1. Öffne die Datenbank zum Umstrukturieren in der DB Oberfläche
2. Lösche lief und liefn
3. Doppelklicke auf die rechte Spalte hinter LFNR, um diesen zum Primärindex zu machen
4. Lege liefn neu an (wie gehabt mit Firmenname1 als Feld und liefn als Indexname). Wähle als Option "gewartet"

Im Program löscht du jetzt im TTableobject den Indexname, damit der Primärindex benutzt wird.

Ich habe es ausprobiert: dann läuft das Programm fehlerfrei.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
RedHorse

Registriert seit: 14. Jan 2003
11 Beiträge
 
Delphi 7 Enterprise
 
#12

re: Fehler, Index ist schreibgeschützt, Fehler behoben.

  Alt 1. Mär 2003, 19:02
Hallo MrSpock,

Danke für rasche Antwort: Ich hatte diesen Vorgang nicht geändert gehabt

" Im Program löscht du jetzt im TTableobject den Indexname, damit der Primärindex benutzt wird. " ( das war Fehler)

Ich habe es ausprobiert: das Programm läuft Fehlerfrei.

Speichern, Ändern, Neueinfügen läuft ohne Fehler.

"Leider habe ich mich zu früh gefreut."

Weil ich vorher zwischen beiden indexdateien wechseln können, damit die Datenbank 1. Lfnr 2. nach name sortiert angezeigt werden konnte. Jetzt geht es leider nicht mehr.

Wenn du in meinem Programm oben sehen würdes, zeigt indexdateinen an.
Wenn ich vorher dort angeklickt hatte, hatte er zwischen beider indexdateien gewechselt gehabt. Jetzt kommt Fehlermeldung "Index nicht mehr gültig".

Jetzt kann ich speichern, aber nicht zwischen beieden indexdateien wechseln, weil jetzt Fehlermeldung: Index nicht mehr gültig erscheint und Programm abbricht.

Eine Fehler ist bezeitigt, kommt jetzt andere Fehler.

Ich habe über arbeitsplatz in die Verzeichnis angeschaut.

lief.PX, lief.XG0, liefYG0 indexdateien sind da.

Warum sind indexdateien nicht mehr gültigt.????

1. Frage noch: Wie kann man in eiem Feld mit ENTER-Taste auf die nächste Feldgehen.

muss man bei bei DELPHI unbedingt TAB-Taste benutzen???


Mit Freundlichen Grüssen

RedHorse
Ich glaube nicht
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#13
  Alt 1. Mär 2003, 23:46
Hallo RedHorse,

Du mußt Deine Index-Dateien natürlich auch als "gewartet" kennzeichnen. Ich habe diese mit dem Browser geöffnet, den ich Dir schon mal geschickt hatte, und beim Versuch einen neu eingefügten Datensatz zu speichern, erhielt ich die gleiche Meldung.

Außerdem empfehle ich Dir für die nachfolgenden Felder den Typ Integer
0 LFNR N
1 KDNR N
2 KDNRTK N

bzw. A (String) zu verwenden (bei Plz sonst Problem mit führenden Nullen z.B. 09126 --> 9126)
7 PLZ N


Code:
Im cbME1 vom Typ TComboBox wird bei Enter die aktive Seite gewechselt und ein ausgewähltes Edit-Feld fokussiert:

procedure TFKasse.cbME1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then begin
    sbBack2BucheWE.Visible := false;
    key := #0;
    pcArt.ActivePage := tsKalk1;
    pcArtChange(Sender);
    edListenPreis.SetFocus;
  end;
end;
Und das ist aus einem der vielen Beiträge zu diesem Thema und ist wohl von der Funktion identisch mit Tab (ich hab's noch nicht probiert):

Code:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  If (Key = #13) Then Begin
    Key := #0;
    Perform(WM_NEXTDLGCTL,0,0); // gehe zur nächsten Komponente
  End;
end;

mfg
eddy
  Mit Zitat antworten Zitat
RedHorse

Registriert seit: 14. Jan 2003
11 Beiträge
 
Delphi 7 Enterprise
 
#14

re: Fehler, Index nicht mehr gültig, lauft wieder.

  Alt 2. Mär 2003, 21:40
Hallo an Allen, (MrSpock, Eddy und anderen die mir geholfen haben)

Ich habe den Fehler bei mir gefunden.
Databasename : Falscheverzeichnis eingestellt.

Jetzt lauft alles ok. Ich kann jetzt zwischen beide Indexdateien wechseln.

1. Frage: gibt es nicht die Möglichkeit bei der Eingabe TDBEditfeld mit ENTER-Taste auf die nächste Feld zu wechseln.

wird es bei DELPHI nicht automatisch unterstüztz ??.

Ich würde mich freuen, wenn jemand mir helfen würde.

Mit freundlichen Grüssen.

RedHorse
Ich glaube nicht
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#15
  Alt 3. Mär 2003, 10:15
Hallo RedHorse,

Enter-Taste funktioniert wie Tab-Taste in OnKeyPress:

Code:
procedure TForm.MyObj_KeyPress(Sender: TObject; var Key: Char);
begin
  If (Key = #13) Then Begin
    Key := #0;
    Perform(WM_NEXTDLGCTL,0,0); // gehe zur nächsten Komponente
  End;
end;
funktioniert in TEdit, TDBEdit und vielen anderen Objekten. Einfach probieren. Ich habe es getestet mit den beiden genannten.

mfg
eddy
  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 17:50 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