Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten von DBase nach ADS DB importieren (https://www.delphipraxis.net/106430-daten-von-dbase-nach-ads-db-importieren.html)

Mackhack 10. Jan 2008 20:44

Datenbank: DBase/ADS • Zugriff über: ADS TDataset

Daten von DBase nach ADS DB importieren
 
Hallo DPler,

wie sollte man am besten vorgehen wenn es darum geht einen Importer zu schreiben. Daten von einer alten DBase DB sollen in eine ADS DB importiert werden. Dabei wuerde man die DBase Daten wohl in Form von einer csv File bekommen.

Wie also am besten vorgehen um die Datensaetze einzulesen und auf direktestem Wege in die DB schicken und speichern?

Danke!

Leonard 10. Jan 2008 21:42

Re: Daten von DBase nach ADS DB importieren
 
Hi,

wenn du mit ADS arbeitest, hast du sicher auch den arc32. Bei diesem (ausser in der compact Variante) ist der Quelltext dabei. Da dieser auch einen Datenimport hat, kannst du da mal nachschauen, ob etwas für dich dabei ist. Leider habe ich hier auf dem Rechner das ganze nicht installiert und kann dir die genauen Dateinamen und Menüpunkte nicht nennen. Wenn morgen noch Interesse besteht, würde ich auf Arbeit nochmal nachschauen.

Wenn es nur um einen einmaligen Import geht, würde ich das direkt über den arc32 versuchen.

mfg Leonard

Edit:
Hier hat sich doch noch ein arc angefunden.

Unter "Tools" -> "Import Data" erhälst du einen Assistent, um Daten in eine ADS DB zu importieren (aus versch. Quellen).
Im Source gibt es die import.pas, die "verrät" was im Hintergrund passiert.

Mackhack 10. Jan 2008 21:49

Re: Daten von DBase nach ADS DB importieren
 
Hallo,

es besteht sowohl einmaliger gebrauch als spaeter auch mehrfacher von dahher waere es gut fuer den Long Term auch eine Loesung zu sehen wie man es eben selbst programmieren kann!

Aber fuers erste waere auch die Sache ueber den ARC32 moeglich!

Leonard 10. Jan 2008 21:55

Re: Daten von DBase nach ADS DB importieren
 
Gut, dann sollten dir beide Hinweise im Edit des 1. Beitrags helfen können.

joachimd 11. Jan 2008 08:52

Re: Daten von DBase nach ADS DB importieren
 
ADS kann das DBase Format native verarbeiten. Nimm zwei TAdsTable Komponenten, die erste mit TableType ttADSCDX, die zweite mit ttADSADT. Dann öffne in der ersten Deine Quelldatei und kopiere Feld für Feld, Datensatz für Datensatz in die zweite (mit deiner Ziel-ADT-Tabelle verbunden). That's it.
ungetestet:
Delphi-Quellcode:
AdsTable1.First;
while not AdsTable1.EOF do
  begin
    AdsTable2.Append;
    for i:=0 to AdsTable2.Fields.Count-1 do
      AdsTable2.Fields[i].Value:=AdsTable1.Fields[i].Value;
    AdsTable2.Post;
    AdsTable1.Next;
  end;

Mackhack 11. Jan 2008 14:48

Re: Daten von DBase nach ADS DB importieren
 
Danke Joachim,

werde ich ausprobieren!

Mackhack 13. Jan 2008 23:32

Re: Daten von DBase nach ADS DB importieren
 
Joachim and all die anderen die helfen können,

ich hab nochmal ein Problem. Die Felder der dBase DB sind ja nicht gleich derer der ADS Tabelle.

Ich habe also eine Artikel-Tabelle in ADS die bereits Felder hat (logisch) und nun möchte ich die jeweiligen Felder der Original dBase DB auslesen und in die ADS Tabelle einfügen aber natürlich in die richtigen Felder!

Hier sind die Felder der alten gefüllten DB:
Zitat:

ARTIKELNR
STKWERT
STKWERTALT
POSWERT
AUFSCHLAG
BESTMENGE
JAHR
Hier sind die Felder der neuen leeren ADS DB:
Zitat:

Number
Benennung01
Benennung02
Kategorie_Zahl
Kategorie_Zahl2
Hersteller_Nr
Gewicht
Mengeneinheit
EK_Aktuell
EK2
Letzte01
Letzte02
Letzte03
Letzte04
EK_Währung
VK_Empfohlen
MwSt_Auswahl
MwSt_Prozent
VK01_Netto
VK02_Netto
VK03_Netto
VK04_Netto
VK01_Brutto
VK02_Brutto
VK03_Brutto
VK04_Brutto
VK01_Roh_Prozent
VK02_Roh_Prozent
VK03_Roh_Prozent
VK04_Roh_Prozent
VK01_CheckBox
VK02_CheckBox
VK03_CheckBox
VK04_CheckBox
Lieferant
Lieferzeit
Import_Auswahl
Zoll
Letzte_Bestellungmenge
Letzte_Bestellung
Bestellt
Bedarf
Bestand
Reserviert
Fehlbestand
Mindestbestand
Alternative_Lfd_Nr
Alternative_Benennung
Garantie_Kurzbezeichnung
Garantie_Auswahl
Monate
Fach
Seriennummer_Auswahl
Letzte_Aenderung
Letzter_Bearbeiter
Barcode
Notice
Discount
Ordered

joachimd 14. Jan 2008 08:23

Re: Daten von DBase nach ADS DB importieren
 
Delphi-Quellcode:
AdsTable1.FieldByName['neuerfeldname'].Value:=AdsTable2.FieldByName['alterfeldname'].Value;
Den Rest überlasse ich dir als Fleißarbeit :wink:

raiguen 14. Jan 2008 08:36

Re: Daten von DBase nach ADS DB importieren
 
Zitat:

Zitat von Mackhack
nun möchte ich die jeweiligen Felder der Original dBase DB auslesen und in die ADS Tabelle einfügen aber natürlich in die richtigen Felder!

Da musst du dann ein sog. Mapping machen:
Delphi-Quellcode:
AdsTable1.First;
while not AdsTable1.EOF do
  begin
    AdsTable2.Append;
      AdsTable2.FieldValues['Number']:=AdsTable1.FieldValues['ARTIKELNR'];
      {hier die weiteren Felder entsprechend}
    AdsTable2.Post;
    AdsTable1.Next;
  end;

Mackhack 17. Jan 2008 21:12

Re: Daten von DBase nach ADS DB importieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DPler,

hab hier nochmal eine Frage dazu. Im Anhang hab ich einen Screenshot gemacht von der Original DB und von der importierten Datenbank.

Weis jemand wie ich das hinbekomme dass die Umlaute und Sonderzeichen richtig abgespeichert werden? Als Info noch ich habe ein US OS drauf, auf dem Zielrechner ist aber ein Deutsches. Gibts hierfuer eine Abhilfe?

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr.
Seite 1 von 2  1 2      

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