Benutzer mit den meisten Antworten
Fehlermeldung beim Start von VFP7

Frage
-
Beim Starten von VFP7 erhalte ich ständig die Fehlermeldung, eine Tabelle würde fehlen. Das ist schon richtig. Ich habe eine nicht mehr benötigte Tabelle gelöscht. Trotzdem kommt diese Meldung immer wieder und im Projekt steht sie such nich drin. Doch dort lässt sich der Eintrag nicht löschen.
Wie kann man diese Fehlermeldung abschaffen?
Danke
PS: Beim Löschen war die Tabelle "einbezogen". War das mein Fehler? Trotzdem: die meldung ist überflüssig und stört.
<--------(nur Fliegen sind schöner!)-------->Donnerstag, 3. November 2011 10:57
Antworten
-
Keine Ahnung was Gofish genau meint, aber Das Dateipaar aus PJX und PJT Datei ist nichts anderes als eine Tabelle mit anderen Dateiendungen.
Wenn Du noch einträge im der Projektdatei und Gofish die meint, müßten sie auch im Projektmanager irgendwo zu sehen sein - eigentlich.
Mach einfach eine Kopie der PJX und PJT Dateien zur Sicherheit und dann öffne das Projekt als Tabelle:
USE projekt.pjx
Das geht natürlich nur, wenn das Projekt geschlossen ist.
Und dann schau rein, ob Du Deine Tabelle darin noch gelistet findest. Vielleicht in Datensatz nummer 33?
Tschüß, Olaf.
- Als Antwort markiert Flugkapitän-Jürgen (a. D.) Freitag, 4. November 2011 17:36
Freitag, 4. November 2011 13:26 -
Du brauchst wegen der zusätzlich per PACK entledigten Datensätze keine Angst haben. Der Menüpunkt "Projekt bereinigen" macht auch genau das, ein PACK der pjx/pjt Tabelle, d.h. wenn in der PJX Tabelle Datensätze von VFP selbst als gelöscht markiert sind, werden sie auch tatsächlich nicht mehr gebraucht.
Der Unterschied zwischen einbezogen und ausgeschlossen ist übrigens der, daß einbezogene Dateien mit in eine EXE hineincompiliert werden. Für Tabellen ist das üblicherweise nicht der Fall. Es macht aber keinen Unterschied beim entfernen aus einem Projekt mit oder ohne Löschen.
Ob das neu aufbauen eines Projektes immer die sauberere Variante ist. Klar ist: In der PJX Datei manuell herumzuwerkeln kann viel Ärger bereiten. Aber in Deinem Fall sah/sieht es danach aus, als wäre die Tabelle sachgerecht von der Datenbank selbst entfernt worden, nur der Projectmanager hat den entsprechenden Datensatz aus der PJX-Tabelle dabei trotzdem nicht entfernt.
Die Gefahr ist ja außerdem wegen des Backups gering und wenn's hart auf hart gekommen wäre, hättest und kannst Du auch immer noch ein Projekt neu aufsetzen.
Was Tom mit "Stück für Stück hinzufügen" andeutet geht übrigens durchaus in größeren Stücken. Man kann per Drag&Drop mehrere Dateien unterschiedlichster Typen einfach von einem Windows Explorer ins Projectmanagerfenster ziehen und der sortiert die Dateien dann schon in die entsprechenden Reiter.
Tschüß, Olaf.
- Als Antwort markiert Flugkapitän-Jürgen (a. D.) Samstag, 5. November 2011 08:01
Freitag, 4. November 2011 19:47
Alle Antworten
-
Hi,
da hängt ganz davon ab, wie die Tabelle in das Projekt eingegliedert war. Zwei Dinge fallen mir da so ad hoc ein:
1. War sie Bestandteil eines DBC, dann wurde dieser Zustand durch das physikalische Löschen nicht aufgehoben. Die Tabelle hätte über den DBC gelöscht (gedropped) werden müssen. Ein VALIDATE DATABASE sollte da evtl. schon helfen.
2. Handelte es sich um eine freie Tabelle, dann besteht die Möglichkeit, dass sie innerhalb der Dataenvironment einer Projekt-Form oder eines Reports enthalten ist. Dort muss sie dann ebenfalls entsorgt werden.
Möglichkeit 2. gilt allerdings auch wenn die Tabelle Bestandteil eines Datenbankcontainers war/ist.
Gruss / Best regards -Tom 010101100100011001010000011110000101001001101111011000110110101101110011Donnerstag, 3. November 2011 15:09 -
Hallo Tom,
danke, aber es hat nicht funktioniert. Der Fehler kommt auch nach dem VALIDATE noch ;-(
Die Tabelle war Bestandteil eines DBC. Ich habe schon öfters hier Tabellen gelöscht, aber nie kam dieser Fehler. Einzig diesmal war die Tabelle "eingebunden". Vielleicht hätte ich sie erst wieder "ausschliesen" müssen. Wobei der Unterschied zwischen einbezogen und ausgeschlossen mir sowieso nicht klar ist (schäm).
Ich habe auch alle Forms durchgesehen. In keiner ist sie (mehr) vorhanden.
Ich habe mal das Programm GOFISH benutzt um nach dem Tabellennamen zu suchen. Es meldet, dass er zweimal in fly2012.pjx vorhanden ist, und zwar einmal als 33-name und 33-key. Hilft dies weiter? Wie komme ich an die pjx-datei und kann die Einträge dort löschen?
Gruß Jürgen
<--------(nur Fliegen sind schöner!)-------->
- Bearbeitet Flugkapitän-Jürgen (a. D.) Donnerstag, 3. November 2011 16:05
Donnerstag, 3. November 2011 15:50 -
Es ist egal, ob die Tabelle eingebunden ist oder nicht. Wenn die Tabelle dem Projectmanager bekannt ist, sucht er sie beim Öffnen des Projekts. Sie muß dann über das Projekt entfernt werden, und das geht auch im Nachhinein noch. Registerkarte Data und da den Knoten der Datenbank öffnen, den Knoten "Tables" und darin dann die Tabelle, die dort noch gelistet sein dürfte entfernen, per Button "Remove". Da wirst Du dann noch nach Remove oder Delete gefragt, da wählst Du Remove.
Tschüß, Olaf.
Donnerstag, 3. November 2011 20:25 -
Hallo Olaf,
vielleicht habe ich mich unverständlich ausgedrückt, deshalb versuche ich es jetzt noch einmal:
So wie Du es gerade vorgeschlagen hast, habe ich es immer gemacht. Ich habe nie eine Datei direkt im Windows-Dateimanager gelöscht!
Das Problem ist, dass ich es wie immer gemacht habe, nur mit dem Unterschied des "Einschließens"! Die Tabelle wird nicht mehr in der Datenbank aufgelistet. Wieso auch? Genau darüber habe ich sie ja gelöscht, und zwar mit "Remove". Trotzdem kommt die Fehlermeldung.
GOFISH meldet mir die o. g. zwei Einträge. Ich nehme an, wenn ich die irgendwie entfernen könnte, dann wäre der Fehler behoben. Nur wie komme ich daran?
Grüße Jürgen
<--------(nur Fliegen sind schöner!)-------->Freitag, 4. November 2011 09:21 -
Keine Ahnung was Gofish genau meint, aber Das Dateipaar aus PJX und PJT Datei ist nichts anderes als eine Tabelle mit anderen Dateiendungen.
Wenn Du noch einträge im der Projektdatei und Gofish die meint, müßten sie auch im Projektmanager irgendwo zu sehen sein - eigentlich.
Mach einfach eine Kopie der PJX und PJT Dateien zur Sicherheit und dann öffne das Projekt als Tabelle:
USE projekt.pjx
Das geht natürlich nur, wenn das Projekt geschlossen ist.
Und dann schau rein, ob Du Deine Tabelle darin noch gelistet findest. Vielleicht in Datensatz nummer 33?
Tschüß, Olaf.
- Als Antwort markiert Flugkapitän-Jürgen (a. D.) Freitag, 4. November 2011 17:36
Freitag, 4. November 2011 13:26 -
und alternativ einfach mal ein neues Projekt erstellen und die nötigen Dateien Stück für Stück hinzufügen bzw. wenn im Hauptprogramm die benötigten Prozeduren und Bibliotheken definiert werden, dann nur die Hauptdatei reinpacken und das Projekt neu generieren lassen...
Gruss / Best regards -Tom 010101100100011001010000011110000101001001101111011000110110101101110011Freitag, 4. November 2011 14:08 -
Hallo Olaf, das war es!
Vielen Dank!
Ich habe mein Projekt mit USE projekt.pjx geöffnet. Ich wusste nicht, dass es sich hier auch um eine Tabelle handelt. Der letzte Datensatz enthielt genau diesen Tabellennamen. Ich habe ihn zum Löschen markiert und die Datei gepackt. Und der der Fehler ist weg!
Mir fiel auf, dass noch zwei andere Datensätze zum löschen markiert waren, die außerdem keinen Zeitstempel besaßen (timestamp = 0). Die sind jetzt auch weg. Ich hoffe nur, dass jetzt nicht etwas anderes nicht mehr funktioniert. Deshalb lasse ich die vorher kopierten Projektdateien mal stehen. Man wird sehen ....
Was mir noch nicht klar ist, ist der Unterschied zwischen "einbezogenen" und "ausgeschlossenen" Tabellen. Vielleicht hat jemand einen Literaturverweis hier im Internet, also quasi einen Link, für mich, in dem ich dies mal nachlesen kann.
Schönes Wochenende Euch allen!
Jürgen
<--------(nur Fliegen sind schöner!)-------->Freitag, 4. November 2011 17:34 -
und alternativ einfach mal ein neues Projekt erstellen und die nötigen Dateien Stück für Stück hinzufügen bzw. wenn im Hauptprogramm die benötigten Prozeduren und Bibliotheken definiert werden, dann nur die Hauptdatei reinpacken und das Projekt neu generieren lassen...
Gruss / Best regards -Tom 010101100100011001010000011110000101001001101111011000110110101101110011
Das wäre der nächste Weg gewesen. Anber jetzt ja überflüssig.Danke und Gruß Jürgen
<--------(nur Fliegen sind schöner!)-------->Freitag, 4. November 2011 17:37 -
Du brauchst wegen der zusätzlich per PACK entledigten Datensätze keine Angst haben. Der Menüpunkt "Projekt bereinigen" macht auch genau das, ein PACK der pjx/pjt Tabelle, d.h. wenn in der PJX Tabelle Datensätze von VFP selbst als gelöscht markiert sind, werden sie auch tatsächlich nicht mehr gebraucht.
Der Unterschied zwischen einbezogen und ausgeschlossen ist übrigens der, daß einbezogene Dateien mit in eine EXE hineincompiliert werden. Für Tabellen ist das üblicherweise nicht der Fall. Es macht aber keinen Unterschied beim entfernen aus einem Projekt mit oder ohne Löschen.
Ob das neu aufbauen eines Projektes immer die sauberere Variante ist. Klar ist: In der PJX Datei manuell herumzuwerkeln kann viel Ärger bereiten. Aber in Deinem Fall sah/sieht es danach aus, als wäre die Tabelle sachgerecht von der Datenbank selbst entfernt worden, nur der Projectmanager hat den entsprechenden Datensatz aus der PJX-Tabelle dabei trotzdem nicht entfernt.
Die Gefahr ist ja außerdem wegen des Backups gering und wenn's hart auf hart gekommen wäre, hättest und kannst Du auch immer noch ein Projekt neu aufsetzen.
Was Tom mit "Stück für Stück hinzufügen" andeutet geht übrigens durchaus in größeren Stücken. Man kann per Drag&Drop mehrere Dateien unterschiedlichster Typen einfach von einem Windows Explorer ins Projectmanagerfenster ziehen und der sortiert die Dateien dann schon in die entsprechenden Reiter.
Tschüß, Olaf.
- Als Antwort markiert Flugkapitän-Jürgen (a. D.) Samstag, 5. November 2011 08:01
Freitag, 4. November 2011 19:47 -
Du brauchst wegen der zusätzlich per PACK entledigten Datensätze keine Angst haben. Der Menüpunkt "Projekt bereinigen" macht auch genau das, ein PACK der pjx/pjt Tabelle, d.h. wenn in der PJX Tabelle Datensätze von VFP selbst als gelöscht markiert sind, werden sie auch tatsächlich nicht mehr gebraucht.
Der Unterschied zwischen einbezogen und ausgeschlossen ist übrigens der, daß einbezogene Dateien mit in eine EXE hineincompiliert werden. Für Tabellen ist das üblicherweise nicht der Fall. Es macht aber keinen Unterschied beim entfernen aus einem Projekt mit oder ohne Löschen.
Ob das neu aufbauen eines Projektes immer die sauberere Variante ist. Klar ist: In der PJX Datei manuell herumzuwerkeln kann viel Ärger bereiten. Aber in Deinem Fall sah/sieht es danach aus, als wäre die Tabelle sachgerecht von der Datenbank selbst entfernt worden, nur der Projectmanager hat den entsprechenden Datensatz aus der PJX-Tabelle dabei trotzdem nicht entfernt.
Die Gefahr ist ja außerdem wegen des Backups gering und wenn's hart auf hart gekommen wäre, hättest und kannst Du auch immer noch ein Projekt neu aufsetzen.
Was Tom mit "Stück für Stück hinzufügen" andeutet geht übrigens durchaus in größeren Stücken. Man kann per Drag&Drop mehrere Dateien unterschiedlichster Typen einfach von einem Windows Explorer ins Projectmanagerfenster ziehen und der sortiert die Dateien dann schon in die entsprechenden Reiter.
Tschüß, Olaf.
Vielen Dank Olaf für die Erklärungen.
Das mit dem Einbeziehen bei Forms, Programmen usw. in eine EXE-Datei ist mir schon klar. Ich konnte mir dies bei den Tabellen nicht vorstellen, da ja die Feldinhalte dann nicht mehr geändert werden können, nehme ich zumindest an. Also gibt es diese Möglichkeit nur für Tabellen, deren Inhalte nicht geändert werden dürfen. Für Konstanten usw.
Ok. Dann nochmals viele Grüße
Jürgen
<--------(nur Fliegen sind schöner!)-------->Samstag, 5. November 2011 08:01 -
Also gibt es diese Möglichkeit nur für Tabellen, deren Inhalte nicht geändert werden dürfen. Für Konstanten usw.
Es ist zumindest so, daß die Tabellen dann nicht mehr geändert werden können.
Für mich als VFP6 Einsteiger war das Feature immer da.Evtl. hat man sich einfach gedacht, das Feature für jeden Dateityp bereitzustellen, und den Sinn dafür den Usern bzw. Entwicklern selbst zu überlassen. Auf jeden Fall ist die Standardeinstellung für die jeweiligen Dateitypen sinnvoll, was eine gute Basis ist.
Einen Nutzfall hast Du ja schon selbst ausgemacht. Man kann übrigens per COPY FILE eingeschlossene Dateien auch später noch aus der EXE herauskopieren.
Tschüß, Olaf.
Samstag, 5. November 2011 11:09