AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi dbf Tabelle per BatchMove füllen
Thema durchsuchen
Ansicht
Themen-Optionen

dbf Tabelle per BatchMove füllen

Ein Thema von blutigerAnfänger · begonnen am 9. Mär 2011 · letzter Beitrag vom 14. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2      
blutigerAnfänger

Registriert seit: 23. Mär 2010
82 Beiträge
 
#1

dbf Tabelle per BatchMove füllen

  Alt 9. Mär 2011, 12:33
Datenbank: Paradox • Version: 4 • Zugriff über: BDE
Hallo DPler

Ich möchte eine dbf Tabelle per BatchMove mit Daten aus einer Tabulator-getrennten Quell Datei füllen.

Hier mein Ansatz:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 with Table1 do
 begin
   Active := false;
   DataBaseName := 'C:\';
   TableName := 'Quell.txt';
    TableType := ttASCII;
    Table1.Open;
  end;

 with Table2 do
 begin
   Active := false;
   DataBaseName := 'C:\';
   TableName := 'Ziel.dbf';
    TableType := ttDbase;
  end;

    with Table2.FieldDefs do //Benenne Tabellenfeld
    begin
      Clear;
      Add('Feld001', ftString, 50, false);
      Add('Feld002', ftString, 250, False);
    end;

    Table2.CreateTable; //Erzeuge Tabelle

    Table2.BatchMove(Table1, batAppend);


Form1.Close;
end;
Leider preßt BatchMove alle Datensätze in ein Feld.

Also wie mache ich BatchMove begreiflich den Tabulator als Feldtrennzeichen zu verwenden.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: dbf Tabelle per BatchMove füllen

  Alt 9. Mär 2011, 12:46
Hier scheinen Tabs nicht als Feldtrenner erkannt zu werden.

Btw:
-Paradox <> dBase
-die BDE ist total veraltet
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: dbf Tabelle per BatchMove füllen

  Alt 9. Mär 2011, 14:24
Datenbankdateien direkt unter "C:\". Du kennst scheinbar Vista/Win7 auch nur vom hörensagen bzw. schaltest generell UAC ab?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
peterlepan

Registriert seit: 5. Jun 2006
Ort: Nordhausen
37 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: dbf Tabelle per BatchMove füllen

  Alt 9. Mär 2011, 14:51
Hi,

da gab es vor Urzeiten mal eine Schrift, wie der TXT-Treiber mit der BDE zu benutzen ist, hab ihn mal angehängt.

Gruß Peter
Angehängte Dateien
Dateityp: txt ASCIIDRV.TXT (6,5 KB, 6x aufgerufen)
Peter Tabatt
  Mit Zitat antworten Zitat
blutigerAnfänger

Registriert seit: 23. Mär 2010
82 Beiträge
 
#5

AW: dbf Tabelle per BatchMove füllen

  Alt 9. Mär 2011, 15:13
Datenbankdateien direkt unter "C:\". Du kennst scheinbar Vista/Win7 auch nur vom hörensagen bzw. schaltest generell UAC ab?
C:\ ist doch bloß ein Beispiel. Natürlich steht die Tabelle unter C:\DB

was aber hat das mit Vista oder Win7 zu tun?

Anmerkung: Quell.txt ist eine AnsiDatei BatchMove spricht aber von ASCII.
Bringt mich zur Frage: Ist BatchMove überhaupt geeignet ??

Geändert von blutigerAnfänger ( 9. Mär 2011 um 15:16 Uhr)
  Mit Zitat antworten Zitat
blutigerAnfänger

Registriert seit: 23. Mär 2010
82 Beiträge
 
#6

AW: dbf Tabelle per BatchMove füllen

  Alt 10. Mär 2011, 12:40
Schade, daß es niemanden gibt der zu diesem Thema etwas zu sagen hat.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: dbf Tabelle per BatchMove füllen

  Alt 10. Mär 2011, 14:35
Hast du Dir schon mal den Inhalt der Table1 angeschaut. Wird die in einem Grid richtig dargestellt? Kannst Du normal auf die Felder zugreifen, also getrennt?
Gruß, Jo
  Mit Zitat antworten Zitat
blutigerAnfänger

Registriert seit: 23. Mär 2010
82 Beiträge
 
#8

AW: dbf Tabelle per BatchMove füllen

  Alt 10. Mär 2011, 16:02
Ich habe keine Probleme mit der Quell.txt. Sie ist nur viel zu groß für ein Grid. Dafür benötige ich wenigstens 4 Stringgrids. Also geviertelt und in ein Stringgrid geladen...

Ich hatte die Hoffnung, daß das Ganze mit BatchMove sich wesentlich beschleunigen läßt (Alles in einem Schritt), aber der Tabulator wird halt nicht als Trennzeichen erkannt. BatchMove lädt wie bereits gesagt alle Datensätze in ein Feld. Aber in affenartiger Geschwindigkeit.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: dbf Tabelle per BatchMove füllen

  Alt 10. Mär 2011, 16:49
Ich weiß nicht, ob wir uns richtig verstehen.
Wofür willst Du 4 String Grids? Was ist zu groß?
Wenn das Grid nicht auf den Monitor passt, brauchst Du vielleicht einen größeren Monitor?!

Meine Frage war, ob deine Table1 richtig gelesen wird, also deine Batchmove Quelle. Wenn die schon falsch geöffnet wird, kann BatchMove auch nichts dafür.

Delphi-Quellcode:
 with Table1 do
 begin
   Active := false;
   DataBaseName := 'C:\';
   TableName := 'Quell.txt';
    TableType := ttASCII;
    Table1.Open;
  end;
Ich meine:
Hast Du da einmal ein DBGrid drangebunden, werden deine CSV Daten via Table1 richtig dargestellt?
Gruß, Jo
  Mit Zitat antworten Zitat
blutigerAnfänger

Registriert seit: 23. Mär 2010
82 Beiträge
 
#10

AW: dbf Tabelle per BatchMove füllen

  Alt 10. Mär 2011, 18:06

Meine Frage war, ob deine Table1 richtig gelesen wird, also deine Batchmove Quelle. Wenn die schon falsch geöffnet wird, kann BatchMove auch nichts dafür.

Ich meine:
Hast Du da einmal ein DBGrid drangebunden, werden deine CSV Daten via Table1 richtig dargestellt?
Ja, da gibt es kein Problem.

Achso, du meinst: von DBGrid nach dbf wandeln, dafür gibt es ja hier Beispiele.
Das ganze hebelt aber das Thema BatchMove aus. Oder nicht?

Geändert von blutigerAnfänger (10. Mär 2011 um 18:19 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:14 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