rwerene81 Geschrieben 22. Februar 2007 Teilen Geschrieben 22. Februar 2007 Guten Morgen zusammen, Zustand: Ich lasse Datenbanken mit einem Modul überprüfen, ob es in diese Datenbank Tabellen gibt, die mit FoxPro verknüpft sind und in welchem Format diese abgespeichert wurden. Wird eine Verknüpfung zu FoxPro erkannt und sie hat das "falsche" Format wird der Name der Tabelle in eine weitere Tabelle geschrieben und ausgegeben. Anschließend werden die Tabellen in FoxPro aufgerufen und in den "anderen" Format gespeichert. Problem: Ist die FoxPro Anwendung zu groß, dauert das Einlesen also zu lange, wird der Code zur Umwandlung nicht richtig ausgeführt, bzw. FoxPro nicht richtig beendet. Jetzt habe ich eine Verzögerung eingebaut, die mir etwas Zet verschaffen soll, die Datenbank einzulesen und den Programmcode aus zuführen: SendKeys "USE +2" & Tabellenzeiger!verzeichnis & "\" & Tabellenzeiger!Name & "+2" & "{enter}", True SendKeys "COPY to +2" & "v:\temp\koerner\" & Tabellenzeiger!Name & "+2 fox2x" & "{enter}", True SendKeys "CLOSE DATA" & "{enter}", True SendKeys "QUIT" & "{enter}", True Programmverzögerung "Zeitraum", "s", Int(Dateigroesse / 1024 / 1024 / 2.5) Aber diese Lösung ist nicht optimal, da ich zusätzlich ja von der Geschwindigkeit der Datenübertragunszeiten im Netzwerk abhängig bin, nicht nur von der Dateigröße. Frage: Gibt es eine andere Möglichkeit, zu "erkennen" wann die Tabelle geladen ist um sie dann in einem anderen Format abzuspeichern und FoxPro wieder zu schließen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HolzOnkel Geschrieben 2. März 2007 Teilen Geschrieben 2. März 2007 Moin, also in FoxPro ist das gar kein Problem - wenn die Tabelle "geladen" ist, dann gibt Dir die Funktion USED("tabellenname") den Wert TRUE (.T.) zurück. Allerdings wird der weitere Programmcode erst dann ausgeführt, wenn das USE blahblahblah zuende ist. Allerdings verstehe ich jetzt nicht so ganz, was Du da irgendwie umformatieren willst? Dein Code macht nix anderes als die ganze Tabelle zu kopieren. Ausserdem - ich nehme an, Du versuchst hier FoxPro fernzusteuern - stellt sich mir sowieso die Frage, wieso Du jeden Befehl einzeln übergibst. Das ginge auch eleganter, je nach Version vom Füchslein auch deutlich eleganter. Dein Problem an sich ist im übrigen nicht, dass die FoxPro-Anwendung zu groß ist, sondern dass die Tabellen zu groß sind. Sag doch einfach nochmals genauer an, was du überhaupt wie formatieren willst und wie Du erkennst, ob die Tabelle das falsche Format hat, dann kann ich Dir da vielleicht weiterhelfen. Gruß, der Onkel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.