Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem mit zugriff auf dbf Dateien und bearbeiten. (https://www.delphipraxis.net/188043-problem-mit-zugriff-auf-dbf-dateien-und-bearbeiten.html)

Duffy Duck 26. Jan 2016 16:23

Datenbank: dbf • Version: ? • Zugriff über: TDBF

Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Hallo Leute

Ich habe ein neues Projekt und zwar habe ich eine *.dbf Datei die ich mit Delphi öffnen im DBGrid anzeigen sowie editieren möchte.
Nun, soweit habe ich mit TDBF und eine eine TDataSource eine verbindung aufgebaut, mit DBGrid kann ich die Tabelle auch schön anzeigen lassen :thumb:

Nun die frage: Wieso kann ich keine änderungen an der Tabelle vornehmen? um diese natürchlich wieder zu speichern...? Habe festgestellt dass "TableLevel" auf 3 steht... dieser Wert lässt sich leider nicht ändern.

Kann mir da jemand behilflich sein? Schon mal besten Dank:-D

PS: Zum Projekt, Ziel ist es die dbf Datei aufzurufen, bearbeiten und wieder zu Speichern. Wenn in der Tabelle z.B. 100 Kunden drin stehen, so soll ein Wert von Kunde bis Kunde bearbeitet werden, zugleich soll es möglich sein z.B. ende Monat von Kunde bis Kunde (also 1-100) den Wert (Guthaben) wieder zu löschen.

nahpets 26. Jan 2016 16:31

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Meine bisherige Erfahrung mit TDBF ist, dass das von Dir Beschriebene problemlos funktioniert.

Der Tabellenlevel hat nichts damit zu tuen, ob man schreiben darf oder nicht, das ist (soweit ich weiß) nur eine Info zu der verwendeten dBase-Version der Tabelle.

Zeig' uns bitte mal die Eigenschaften der Komponente, wie Du sie in der IDE eingestellt hast, eventuell kann man daran was erkennen.
Ansonsten hänge hier bitte mal den Quelltext und die DFM an.

haentschman 26. Jan 2016 17:54

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
[OT]
...der übliche Hinweis. :P

Zitat:

Ich habe ein neues Projekt und zwar habe ich eine *.dbf Datei
...ist ein Widerspruch in sich. Bei neuen Projekten ist ein "modernes" DBMS die bessere Wahl. :thumb:

Duffy Duck 26. Jan 2016 18:30

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Liste der Anhänge anzeigen (Anzahl: 1)
sowas?

Code:
unit WinArtikel;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, Grids, DBGrids, dbf, ExtCtrls, DBCtrls, Menus, StdCtrls,
  DBTables, DirOutln, jpeg, Mask;

type
  TForm1 = class(TForm)
    Dbf1: TDbf;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    DBNavigator1: TDBNavigator;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Oeffnen1: TMenuItem;
    Save1: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Exit1: TMenuItem;
    GroupBox1: TGroupBox;
    Dbf1KUNR: TIntegerField;
    Dbf1KUNAM: TStringField;
    Dbf1KUERTRAG: TFloatField;
    Dbf1KUSALDO: TFloatField;
    Dbf1KULIMIT: TLargeintField;
    Dbf1KUTAGUMS: TFloatField;
    procedure Schliessen1Click(Sender: TObject);
    procedure Save1Click(Sender: TObject);
    procedure Oeffnen1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Schliessen1Click(Sender: TObject);
begin
  close;
end;

procedure TForm1.Save1Click(Sender: TObject);
begin
     saveDialog1.Execute;
end;

procedure TForm1.Oeffnen1Click(Sender: TObject);
begin
   if OpenDialog1.Execute then

   //ShowMessage(OpenDialog1.FileName);

   //showmessage ('Daten wurden erfolgreich eingelesen.... oder auch nicht');

end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
    close;
end;


end.

joachimd 26. Jan 2016 20:35

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von haentschman (Beitrag 1328316)
Zitat:

Ich habe ein neues Projekt und zwar habe ich eine *.dbf Datei
...ist ein Widerspruch in sich. Bei neuen Projekten ist ein "modernes" DBMS die bessere Wahl. :thumb:

nicht zwingend...vielleicht ist die DBF auch vorgegeben (weil zB ein anderes, in einer Xbase Sprache entwickeltes Programm dies schon seit Jahren so nutzt) und er soll etwas drumherum bauen. Du solltest mal sehen, wieviele DBF-Dateien noch im Umlauf sind:shock:

joachimd 26. Jan 2016 20:36

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von Duffy Duck (Beitrag 1328319)
snip viel code

Vom Code her sehe ich auf den ersten Blick keinen Grund, warum es nicht gehen sollte. Ist vielleicht die DBF-Datei selbst schreibgeschützt?

Duffy Duck 26. Jan 2016 20:56

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Hallo Joachim

die dbf datei ist nicht schreibgeschützt, denn wenn ich es mit dem Formular-Experte eine verbindung aufbaue, dann klappt es mit den ändern...

ich probiere gleich nochmal mit Tdbf eine komplett neue Verbindung herzustellen...

Edit:

Das gleiche problem.. die Einträge lassen sich nicht verändern...

Hier nochmals den Code (Falls es was bringt den Code zu posten):
Delphi-Quellcode:
unit Main;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Menus, ComCtrls, DB, Grids,
  DBGrids, dbf, DBTables;

type
  TMainForm = class(TForm)
    MainMenu: TMainMenu;
    FileNewItem: TMenuItem;
    FileOpenItem: TMenuItem;
    FileSaveItem: TMenuItem;
    FileSaveAsItem: TMenuItem;
    FilePrintItem: TMenuItem;
    FilePrintSetupItem: TMenuItem;
    FileExitItem: TMenuItem;
    EditUndoItem: TMenuItem;
    EditCutItem: TMenuItem;
    EditCopyItem: TMenuItem;
    EditPasteItem: TMenuItem;
    StatusLine: TStatusBar;
    OpenDialog: TOpenDialog;
    SaveDialog: TSaveDialog;
    PrintDialog: TPrintDialog;
    PrintSetupDialog: TPrinterSetupDialog;
    DataSource1: TDataSource;
    Dbf1: TDbf;
    DBGrid1: TDBGrid;
    Dbf1KUNR: TIntegerField;
    Dbf1KUNAM: TStringField;
    Dbf1KULIMIT: TLargeintField;
    procedure FormCreate(Sender: TObject);
    procedure ShowHint(Sender: TObject);
    procedure FileNew(Sender: TObject);
    procedure FileOpen(Sender: TObject);
    procedure FileSave(Sender: TObject);
    procedure FileSaveAs(Sender: TObject);
    procedure FilePrint(Sender: TObject);
    procedure FilePrintSetup(Sender: TObject);
    procedure FileExit(Sender: TObject);
    procedure EditUndo(Sender: TObject);
    procedure EditCut(Sender: TObject);
    procedure EditCopy(Sender: TObject);
    procedure EditPaste(Sender: TObject);
  end;

var
  MainForm: TMainForm;

implementation

{$r *.dfm}

procedure TMainForm.FormCreate(Sender: TObject);
begin
  Application.OnHint := ShowHint;
end;

procedure TMainForm.ShowHint(Sender: TObject);
begin
  StatusLine.SimpleText := Application.Hint;
end;

procedure TMainForm.FileNew(Sender: TObject);
begin
  { Code zur Erzeugung einer neuen Datei hinzufügen }
end;

procedure TMainForm.FileOpen(Sender: TObject);
begin
  if OpenDialog.Execute then
  begin
    //ShowMessage(OpenDialog1.FileName);

   //showmessage ('Daten wurden erfolgreich eingelesen.... oder auch nicht');
    { Code zum Öffnen von OpenDialog.FileName hinzufügen }
  end;
end;

procedure TMainForm.FileSave(Sender: TObject);
begin
   { Code zum Speichern der aktuellen Datei unter aktuellem Namen hinzufügen }
end;

procedure TMainForm.FileSaveAs(Sender: TObject);
begin
  if SaveDialog.Execute then
  begin
    { Code zum Speichern von SaveDialog.FileName hinzufügen }
  end;
end;

procedure TMainForm.FilePrint(Sender: TObject);
begin
  if PrintDialog.Execute then
  begin
    { Code zum Drucken von aktueller Datei hinzufügen }
  end;
end;

procedure TMainForm.FilePrintSetup(Sender: TObject);
begin
  PrintSetupDialog.Execute;
end;

procedure TMainForm.FileExit(Sender: TObject);
begin
  Close;
end;

procedure TMainForm.EditUndo(Sender: TObject);
begin
  { Code zur Durchführung von Bearbeiten Rückgängig hinzufügen }
end;

procedure TMainForm.EditCut(Sender: TObject);
begin
  { Code zur Durchführung von Bearbeiten Ausschneiden hinzufügen }
end;

procedure TMainForm.EditCopy(Sender: TObject);
begin
  { Code zur Durchführung von Bearbeiten Kopieren hinzufügen }
end;

procedure TMainForm.EditPaste(Sender: TObject);
begin
  { Code zur Durchführung von Bearbeiten Einfügen hinzufügen }
end;

end.

haentschman 26. Jan 2016 21:37

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

nicht zwingend...vielleicht ist die DBF auch vorgegeben
:P ... meine Aussage war nicht provokant genug damit der TE mal erklärt warum DBF verwendet wird.

Luckie 26. Jan 2016 22:20

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Muss man die Datenbank nicht erst in den Edit-Modus versetzen?

Duffy Duck 26. Jan 2016 23:19

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von haentschman (Beitrag 1328334)
Zitat:

nicht zwingend...vielleicht ist die DBF auch vorgegeben
:P ... meine Aussage war nicht provokant genug damit der TE mal erklärt warum DBF verwendet wird.

nun ich versuche eine "bestehende" dbf Datei auszulesen und zu editieren. Die vorhandene Software Arbeitet mit dbf Dateien (ist leider so gegeben).
Das Editieren der dbf Datei resp. Kunden kann in der Software immer nur ein Kunde editieren, ich versuche nun dies mit Delphi eine von - bis änderung zu erstellen.
Desweiteren weiss ich auch nicht wie ich die von - bis Abfragen machen soll... stehe im moment voll auf dem schlauch :(

Beispiel:
Kunde 1 hat 10 Euro guthaben
Kunde 2 hat 10 Euro guthaben
Kunde 3 hat 10 Euro guthaben

Nun möchte ich mit abfragen der Tabelle folgendes erstellen, mit Auswahlfeld "von Kunde" - "bis Kunde" einen neuen Wert von z.B. 30 Euro eintragen lassen. (OK drücken und der neue Wert steht im entsprechndem Feld und kann von der Software verwendet werden).


siehe Bild im Anhang:

Dejan Vu 27. Jan 2016 06:53

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Darfst Du in das Verzeichnis der DBF schreiben? Geht es mit anderen Programmen? Wieso nimmst Du nicht einfach EXCEL? ADO sollte auch gehen.

BiBi 27. Jan 2016 07:24

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Hast Du den Hinweis von Luckie beachtet?

Die Datenbank in den Editiermodus setzen.

Duffy Duck 27. Jan 2016 08:43

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von Dejan Vu (Beitrag 1328357)
Darfst Du in das Verzeichnis der DBF schreiben? Geht es mit anderen Programmen? Wieso nimmst Du nicht einfach EXCEL? ADO sollte auch gehen.

Ja ich darf in das Verzeichnis schreiben, es liegt lokal auf der Platte.
Excel? hmmm eine überlegung wert...

Duffy Duck 27. Jan 2016 08:45

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von BiBi (Beitrag 1328359)
Hast Du den Hinweis von Luckie beachtet?

Die Datenbank in den Editiermodus setzen.

Ja natürlich, habe gestern versucht dies auch umzusetzen... finde nur nicht wie ich die Datenbank in den Editiermodus setzen kann.
Danke schon mal für eure hinweise...:thumb::thumb:

Luckie 27. Jan 2016 09:16

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von Duffy Duck (Beitrag 1328369)
Ja ich darf in das Verzeichnis schreiben, es liegt lokal auf der Platte.

Das hat nichts zu sagen. Als einfacher Benutzer hab eich auch keien Schreibrechte in bestimmten Verzeichnissen.

Kommt denn eine Fehlermeldung?

Duffy Duck 27. Jan 2016 09:52

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Das ist ja das verrückte, es kommt nicht mal ne Fehlermeldung... ich klicke im in die Tabelle rein wo der Wert steht und mehr passiert nicht... nur der Eintrag mit dem Wert wird "Blau" kann es aber nicht verändern

nahpets 27. Jan 2016 13:06

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von Duffy Duck (Beitrag 1328369)
Zitat:

Zitat von Dejan Vu (Beitrag 1328357)
Darfst Du in das Verzeichnis der DBF schreiben? Geht es mit anderen Programmen? Wieso nimmst Du nicht einfach EXCEL? ADO sollte auch gehen.

Ja ich darf in das Verzeichnis schreiben, es liegt lokal auf der Platte.
Excel? hmmm eine überlegung wert...

Excel ist die schlechteste Alternative, die man sich dafür denken kann.

Excel erstellt die Datei komplett neu, einschließlich der Felddefinitionen und die müssen nicht mit den ursprünglichen Felddefinitionen übereinstimmen. Man braucht nur in der Anzeige die Spaltenbreite zu ändern und schon hat man eine vollständig neue Tabellendefinition, mit der die Ursprungssoftware nicht unbedingt zurechtkommen muss.

ADO ginge, wenn es unbedingt sein muss, aber bitte kein Excel.

Duffy Duck 27. Jan 2016 13:18

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Ja richtig, die dbf Datei muss zwingend die gleichen Felddefinitionen haben ansonsten funktioniert es mit der Software nicht mehr...

Excel ist definitiv gestrichen :roll:

Leider bin ich noch nicht weiter gekommen...:|

nahpets 27. Jan 2016 13:46

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von Luckie (Beitrag 1328336)
Muss man die Datenbank nicht erst in den Edit-Modus versetzen?

Nein, geht automatisch, wie bei allen anderen Datenbankkomponenten auch.
Zitat:

Zitat von Duffy Duck
nun ich versuche eine "bestehende" dbf Datei auszulesen und zu editieren. Die vorhandene Software Arbeitet mit dbf Dateien (ist leider so gegeben).
Das Editieren der dbf Datei resp. Kunden kann in der Software immer nur ein Kunde editieren, ich versuche nun dies mit Delphi eine von - bis änderung zu erstellen.
Desweiteren weiss ich auch nicht wie ich die von - bis Abfragen machen soll... stehe im moment voll auf dem schlauch

Beispiel:
Kunde 1 hat 10 Euro guthaben
Kunde 2 hat 10 Euro guthaben
Kunde 3 hat 10 Euro guthaben

Nun möchte ich mit abfragen der Tabelle folgendes erstellen, mit Auswahlfeld "von Kunde" - "bis Kunde" einen neuen Wert von z.B. 30 Euro eintragen lassen. (OK drücken und der neue Wert steht im entsprechndem Feld und kann von der Software verwendet werden).

Das sieht sehr nach der Verwendung von SQL aus.
TDBF kann kein SQL.
Man kann Filter setzen.

Habe mal ein Miniprogrämmelchen angehängt, das eine änderbare DBF nutzt, Filter setzen kann und für die gefilterten Sätze den Inhalt einer Spalte auf einen eingegebenen Wert ändern kann. (mit Delphi 7 erstellt)

Um Probleme beim Öffnen und schließen von Tabellen zu verringern, empfiehlt es sich, die Tabellen in der Entwicklungsumgebung geschlossen zu halten und erst beim Programmstart zu öffnen und beim Programmende zu schließen.
TDBF ist nicht multiuserfähig, wer soll dann beim Ändern "gewinnen"? Die Entwicklungsumgebung oder die aus der Entwicklungsumgebung heraus gestartete Exe?

Duffy Duck 27. Jan 2016 15:08

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hey suuuper :-D:thumb::thumb:
genau das was ich brauche... nur kommt leider bei einsetzten eines betrages folgende Fehlermeldung (siehe anhang).

Auch habe ich in den Projektoptionen die Verzeichnisse geändert.. waren auf Lfw E:\:-D

hoika 27. Jan 2016 15:49

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Hallo,
TDbf hat ein ReadOnly-Flag, setze das mal nach dem Open auf False.


Heiko

nahpets 27. Jan 2016 16:16

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von Duffy Duck (Beitrag 1328466)
Hey suuuper :-D:thumb::thumb:
genau das was ich brauche... nur kommt leider bei einsetzten eines betrages folgende Fehlermeldung (siehe anhang).

Auch habe ich in den Projektoptionen die Verzeichnisse geändert.. waren auf Lfw E:\:-D

Die Fehlermeldung ist für mich absolut unerwartet.
Die Tabelle ist im Programm (bei mir) änderbar (habe die Nonsensdaten im Grid in die Tabelle gedaddelt).
Bitte überprüfe mal, ob Du wirklich an der Stelle, an der die Datei liegt, auch Schreibrechte hast.
Das ReadOnly-Flag steht in meinem Progrämmelchen auf false und kann von daher (eigentlich) nicht die Fehlerursache sein.

Nimm bitte mal die von mir erstellte Exe und die DBF und kopiere die beiden in ein Verzeichnis, in dem Du Schreibrechte hast (andernfalls dürfte das Kopieren ja nicht funktionieren).
Dann starte dort die EXE, sie sucht die DBF im gleichen Verzeichnis. Ist die DBF dann auch ReadOnly?

Ok, die Projektoptionen waren bei mir halt so, wie bei mir Delphi eingerichtet ist, da hab' ich vor'm Zippen nix geändert :-(

Duffy Duck 27. Jan 2016 16:28

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von hoika (Beitrag 1328479)
Hallo,
TDbf hat ein ReadOnly-Flag, setze das mal nach dem Open auf False.


Heiko

meinst Du im Objektinspektor?? Sorry steh auf dem Schlauch...:shock:

nahpets 27. Jan 2016 16:30

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
ja, steht in meinem Quelltext auf false.

Habe es gerade nochmal ausprobiert.
Die Exe oben aus dem Zip und die Kunden.dbf aus dem Zip in ein eigenes Verzeichnis entpackt, Exe ausgeführt, Werte geändert. Funktioniert.

Exe beendet und neu gestartet. Geänderte Werte sind vorhanden.

Duffy Duck 27. Jan 2016 16:35

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
@nahpets

habe es so gemacht wie Du soeben beschrieben hast... die kunden.dbf und die exe in ein separates verz. kopiert und gestartet, klappt soweit:thumb:

Wenn ich nun dein Programm im Delphi aufmache und mit F9 ausführe, schmiert alles ab... eigenartig...

nahpets 27. Jan 2016 17:00

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Naja, hab' halt 'ne alte Delphi Version, der Quelltext muss bei Dir nicht unbedingt compilierbar und lauffähig sein.

Die Beschreibung "schmiert ab" ist jetzt aber auch nicht unbedingt hilfreich für die weitere Fehlersuche.

Präzisiere diese Aussage doch bitte.

hoika 27. Jan 2016 18:08

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Hallo,
von welcher Delphi-Version reden wir denn (der Thread-Ersteller möge bitte antworten)?
Und welche TDBF-Version wird verwendet?
Ältere Versionen haben Probleme mit Delphi ab D2010.

Ansonsten mal das komplette Projekt zippen + eine Bsp.-DBF, die sich nicht beschreiben läßt und hochladen.

Heiko

Duffy Duck 27. Jan 2016 21:47

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

ich habe auch eine "alte" Version 7.0...
ich werde mal alles zippen und hochladen:thumb:

Edit:

Sooo liebe Leute, habe alles gezippt und eine Kunden.dbf liegt auch bei:thumb:

Delphi Version 7.0
TDBF Version: 6.9

Im Grid brauche ich vorerstmal nur die:
- KUNR
- KUNAM
- KULIMIT

jaenicke 28. Jan 2016 06:28

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Du hast AutoEdit in der DataSource1 auf False gesetzt. Standard ist True und damit geht es auch.

Duffy Duck 28. Jan 2016 07:57

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Hallo Jaenicke

Ich habe soeben wie Du beschrieben hast, AutoEdit in der DataSource1 auf True gesetzt. F9 gedrückt und kann immer noch keinen Wert ändern... was mach ich bloss falsch???

hoika 28. Jan 2016 12:21

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Hallo,
wie änderst du überhaupt was ?
Wie gehst du vor (F2?), einfach lostippen?)


Heiko

HolgerX 28. Jan 2016 12:24

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von Duffy Duck (Beitrag 1328579)
Hallo Jaenicke

Ich habe soeben wie Du beschrieben hast, AutoEdit in der DataSource1 auf True gesetzt. F9 gedrückt und kann immer noch keinen Wert ändern... was mach ich bloss falsch???

Hmm...

Habe dein Projekt genommen
- Pfad in Dfb1 auf meinen Ablageort der dbf geändert
- Dfb1 auf true gesetzt
-> Datenmenge wird im Grid angezeigt (nach BugFix in dbf_memo.pas)

- AutoEdit des DataSource1 auf true
- F9
- Mit der Maus ins Grid
- Aus einer 10 ein 20 gemacht
- Mit der Maus auf ein anderes Feld geclickt (dann wird erst der Wert gespeichert)

- Programm beendet
- Programm neu gestartet
-> Wert war immer noch 20

Somit geht alles, wie es soll...

Hinweis..
Da keine xMemo-Datei dabei war, musste ich in 'dbf_memo.pas' einen kleinen BugFix einbauen (TDBF V.6.9.1), er vesuchte dort dem Header (war nil) wg dBase III einen Wert zuzuweisen.

Mein Delphi ist zwar D6, sollte aber hier keinen Unterschied machen!

freimatz 28. Jan 2016 13:01

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
BTW:
Zitat:

Zitat von Duffy Duck (Beitrag 1328466)
Hey suuuper :-D:thumb::thumb:
genau das was ich brauche... nur kommt leider bei einsetzten eines betrages folgende Fehlermeldung (siehe anhang).

Auch habe ich in den Projektoptionen die Verzeichnisse geändert.. waren auf Lfw E:\:-D

Das geht meist schöner: Zur Sicherheit auf den Text klicken; Strg+C :)

Duffy Duck 29. Jan 2016 00:40

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von hoika (Beitrag 1328619)
Hallo,
wie änderst du überhaupt was ?
Wie gehst du vor (F2?), einfach lostippen?)


Heiko

Hallo

meinst Du wenn die exe ausgeführt wird?
ich klicke mit der Maus ins Feld und versuche einen neuen Wert einzugeben...

Duffy Duck 29. Jan 2016 00:50

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Hallo HolgerX

ich könnte schreien vor....:evil:
Ich habe es genau gleich gemacht, schritt für schritt wie Du so schön beschrieben hast...
Projekt wird ausgeführt, keine Fehlermeldungen, alles ok soweit. Mit der Maus ins Grid, auf die 10 drauf, die 10 wird "Blau" hinterlegt und nichts lässt sich verändern.

aha dachte ich evtl. rechts den Zahlenblock von der Tastatur verwenden, kontrollieren ob Numlock eingeschaltet ist.. alles eingeschaltet:thumb:

Wert verändern? ne nichts da... es ist zum heulen.

Gut hab ich mir noch gedacht, evtl. hat mein Delphi probleme, so werde ich morgen mal Delphi komplett löschen und neu Installieren... es kann doch nicht sein:shock:

Duffy Duck 29. Jan 2016 01:06

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Jetzt komme ich der sache näher...

Einen versuch noch, habe komplett eine neue Anwendung aufgemacht.

- Tdbf drauf
- Datasource drauf
- DBGrid drauf
- Tdbf Filepfad angegeben
- TableName also Kunden.dbf ausgewählt
- Auf Datasource, bei Dataset Dbf1 ausgewählt
- DBGrid, Datasource und DataSource1 ausgewählt
- F9 gedrückt und folgende Fehlermeldung erschein... (siehe anhang)

Ich glaube nun das meine Tdbf einfach nicht mehr richtig Funktioniert:shock::shock::shock:
Was meint Ihr?

jaenicke 29. Jan 2016 02:16

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Versuche es bitte einmal mit der aktuellsten TDbf Version. Da hat sich ja doch offenbar einiges getan, wenn auch auf den ersten Blick vor allem die Struktur der Verzeichnisse etc.

Ein Unterschied ist, dass du die Memo-Datei (.dbt) nicht mitgeliefert hattest. Dadurch haben wir die einfach ausgeklammert bzw. ich habe sie leer neu erstellt, aber es wäre möglich, dass das Problem genau dort liegt.

Ich werde es einmal in einem virtuellen PC mit Delphi 7 ausprobieren, das habe ich hier nicht mehr drauf und deshalb hatte ich Delphi 10 benutzt.

HolgerX 29. Jan 2016 04:28

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von jaenicke (Beitrag 1328685)
Versuche es bitte einmal mit der aktuellsten TDbf Version. Da hat sich ja doch offenbar einiges getan, wenn auch auf den ersten Blick vor allem die Struktur der Verzeichnisse etc.

Ein Unterschied ist, dass du die Memo-Datei (.dbt) nicht mitgeliefert hattest. Dadurch haben wir die einfach ausgeklammert bzw. ich habe sie leer neu erstellt, aber es wäre möglich, dass das Problem genau dort liegt.

Ich werde es einmal in einem virtuellen PC mit Delphi 7 ausprobieren, das habe ich hier nicht mehr drauf und deshalb hatte ich Delphi 10 benutzt.

Hmm...

Hatte ich das nicht geschrieben (BugFix) ?

Ich hatte mir die V 6.9.1 und auch die neuste 7er Version herunter geladen, in beiden ist es zur AccessViolation gekommen, weil keine Memo-Datei dabei ist.

Deshalb einfach mal kurz im Source geachaut und den Bug gefixt:

in dbf_memo.pas in procedure TMemoFile.Open;

Delphi-Quellcode:
    // read header
    HeaderSize := 512;

    // determine version
    if (FDbfVersion = xBaseIII) and Assigned(Header) then
      PDbtHdr(Header)^.bVer := 3;
    VirtualLocks := false;
Da die Datei fehlt, wird hier versucht etwas zu öffnen, was nicht da ist (keine Fehlermeldung 'Fehlende Datei').
Jedoch ohne Datei auch keinen Header und somit kommt es zu der AccessViolation beim Zugriff auf den 'Header'.

Nach dem Fix lässt sich deine Datenbank-Datei wie beschrieben öffnen.

Ach ja, bei der 7er Version musste ich noch einige Zeilen in dbf_common.inc auskommentieren, da hier mein D6 meckerte.
Mit der 6.9.1 brauchte ich das nicht machen.

jaenicke 29. Jan 2016 07:36

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
Zitat:

Zitat von HolgerX (Beitrag 1328687)
Hatte ich das nicht geschrieben (BugFix) ?

Ich meinte dich doch gar nicht. ;-)
Ich dachte, da du nicht den letzten Beitrag geschrieben hattest, muss ich das nicht extra dazu schreiben.

HolgerX 29. Jan 2016 08:27

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.
 
;)

Ich wollte ja auch nur die Details des Bugs nochmals angeben und dass dieser auch in der aktuellsten Version vorhanden ist.

Dann kann er die Source von seiner Version fixen und nochmals testen..


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 Uhr.
Seite 1 von 2  1 2      

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