Robi hat geschrieben:Hat das schon mal einer gemacht ?
Danke
Ja
Allerdings unter Linux, wobei das Prinzip ja das gleiche ist:
Ich habe unseren Kundenstamm per ODBC in eine OO-Datenbank eingebunden und als Datenquelle deklariert.
Das im Groben das Prinzip.
Allerdings:
Ich nehme nicht die Original-AS400-Datei. Das habe ich auch versucht. Aber: Bei der Definition der ODBC-Datenquelle bindet man immer die ganze Bibliothek ein, in der sich die gewünschte Tabelle befindet (jedenfalls ist mir kein anderer Weg bekannt). Das macht es praktisch unmöglich, einigermassen sinnvoll zu arbeiten.
Daher kopiere ich nächtens den Kundenstamm in eine AS400-Bibliothek, die sonst nichts enthält. Dabei kann man ausserdem schon Sätze ausschliessen, die ohnehin nicht gebraucht werden (solche mit Löschcode o.ä.)
Dann definiere ich eine ODBC-Datenquelle, unter Linux mit ODBCConfig, in Windows wird das wohl irgendwo in der Systemsteuerung liegen oder Du findest es bei den ClientAccess-Programmen.
Wenn Du also die ODBC-Datenquelle hast, erstellst Du eine OO-Datenbank (Datei/Neu/Datenbank) und verbindest zu dieser ODBC-Datenquelle.
Das wärs im Prinzip.
Wenn Du Du jetzt F4 drückst, hast Du die Tabelle schon zur Verfügung und könntest die Felder einfach in ein Writer-Dokument ziehen.
Jetzt gibt es noch ein kleines Problem:
Die Felder werden bei Ihrer Ankunft in OO mit Leerzeichen aufgefüllt. Dieses Problem konnte ich mit Hilfe hier aus dem Forum lösen:
Statt die Tabelle direkt zu benutzen, definiert man eine Abfrage. In dieser Abfrage kann man die Felder dann "trimmen", Beispiel:
RTRIM( "KUNA1" ) AS "Name1"
Dabei werden aus dem Originalfeld KUNA1 die Leerstellen auf der rechten Seite des Feldes abgeschnitten und ein Alias-Name "Name1" zugeordnet.
Das wär so der Überblick. Kommst Du damit klar oder brauchst Du an bestimmten Stellen mehr Info's?
mfG