Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Access/ FoxPro/ Daten umwandeln

Empfohlene Antworten

Veröffentlicht

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?

  • 2 Wochen später...

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.