Seite 1 von 1
Re: DBF-Datei, wo?
Verfasst: Di, 28.07.2009 09:40
von komma4
Re: DBF-Datei, wo?
Verfasst: Mi, 29.07.2009 11:37
von komma4
Du hast eine DBF - weisst aber nicht, wo?
Meinst Du als Frage: wo befindet sich eine als Datenquelle [ODB] registrierte DBF?
Du möchtest diese öffnen und direkt speichern - warum? dadurch ändert sich nichts.
Oder beziehst Du dich auf die Komprimierung einer DBF, nach Öffnen mit Calc?
Re: DBF-Datei, wo?
Verfasst: Do, 30.07.2009 16:46
von komma4
Mmm,
kleinere Anmerkungen von mir:
eine OOo-BASE-Datei mit einer Verbindung zu DBFs speichert sich "nur" den Pfad, in dem eine oder mehrere Dateien mit
*.dbf liegen:
ThisComponent.DataSource.URL, Speicherort nach der Zeichenkette
sdbc:dbase:. Die dort (in diesem Pfad) liegenden DBFs kannst Du mit
DIR() oder einem
SimpleFileAccess-Objekt holen.
Dann...
a) übergebe den Dateinamen als Parameter zu Deiner geposteten Routine
b)
arg(3).Name = "AsTemplate" ---
.value = TRUE bedeutet, NICHT als Vorlage laden :-#
c) (als in Calc geladene DBF)
oDBF.ReadOnly gibt Dir zurück, ob die Datei schreibgeschützt ist
d)
oDBF.store() könnte reichen (muttu testen),
.storeToURL ist die Methode zum Überschreiben einer vorhandenen Datei
Ich bin mir sicher, dass andere DBF-Nutzer Dein fertiges Makro gerne sehen würden ... Danke im Voraus für das Posten
Viel Erfolg!
Re: DBF-Datei, wo?
Verfasst: Di, 11.08.2009 12:31
von eBayer
Hallo Hotti,
ich habe es noch nicht probiert, aber es müßte doch auch per SQL gehen.
Wenn Du die Tabelle in eine neue Tabelle kopierst - so habe ich es früher jedenfalls mit DBF gemacht, wenn ich den Pack umgehen wollte. Beim kopieren sollten dann nur die aktiven Daten bearbeitet werden.
Mit SQL wäre das etwas in der folgenden Form:
INSERT INTO zieltabelle () SELECT * FROM ursprungstabelle
Wenn das klappt, kannst Du damit die Beschränkung auf 65535 umgehen.
Gruß eBayer