Hi!
Mir hat 'mal ein Kollege aus dem Forum einen Tipp gegeben, wie ich eine Datei (im Netz bzw. auf einem Server) definitiv schließen kann, so dass
ein anderer Kunden diese wieder öffnen kann. Der Code so wie folgt aus:
if file("&sv_bmerk")
use &sv_bmerk ALIAS alia100
close alia100
endif
Dies funktioniert eigentlich ganz gut! Jetzt meine Frage dazu: Wenn ich dieses Verfahren öfters anwende, und zwar für die gleiche Datei aber mit einem
anderen ALIAS-Namen (z.B. alia200) , kann dies dann zu Fehlern führen? Manchmal bekomme ich folgende Fehlermeldung:
Datenbank-ALIAS existiert nicht/ist ungültig
Gruß Werner
Definitive Schließung einer Datei über ALIAS
Moderator: Moderatoren
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Definitive Schließung einer Datei über ALIAS
Hallo, Werner.
"Datenbank-Alias existiert nicht/ist ungültig" bedeutet, dass unter diesem Alias keine Tabelle geöffnet ist. Entweder ist sie schon zu, oder sie ist nie richtig geöffnet worden.
Falls das Close sehr viel später kommt, was wahrscheinlich ist, und die Möglichkeit besteht, dass die Tabelle schon anderswo geschlossen wurde, geht auch so etwas:
"Datenbank-Alias existiert nicht/ist ungültig" bedeutet, dass unter diesem Alias keine Tabelle geöffnet ist. Entweder ist sie schon zu, oder sie ist nie richtig geöffnet worden.
Code: Alles auswählen
IF FILE(sv_bemerk) // - wenn "sv_bemerk" eine Variable ist, kann "if file("&sv_bmerk")" eigentlich nicht funktionieren
USE (sv_bemerk) ALIAS alia100 // Klammern sind dem Makro-Operator hier vorzuziehen - use &sv_bmerk ALIAS alia100
IF NetErr() //
MsgBox("Tabelle konnte nicht geöffnet werden!")
ELSE
CLOSE alia100
ENDIF
Code: Alles auswählen
IF USED("alia100")
CLOSE alia100
ENDIF
Herzlich,
Tom
Tom
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Definitive Schließung einer Datei über ALIAS
mit WorkSpaceList() bekommt man ein Array mit Alias-Namen.
Code: Alles auswählen
aWork := WorkSpaceList()
IF ASCAN(aWork, {|x| x = MyAlias }) > 0
CLOSE (MyAlias)
ENDIF
gruss by OHR
Jimmy
Jimmy
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Definitive Schließung einer Datei über ALIAS
Könnte auch passieren, wenn man die dbf mehrfach geöffnet hat. Dann hat die Folgeinstanz nicht mehr den dbf-Namen als Alias. Sondern Alias + was durchnummeriertes. Entweder man gibt dem beim Öffnen einen speziellen Alias mit, oder fragt den Alias nach dem Öffnen ab und merkt sich den für das Schließen.
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.