Dbzap mit Alias

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1931
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Dbzap mit Alias

Beitrag von Rolf Ramacher »

Hallo,

ich habe folgendes Problem: Wir haben meherere Etikettendatenbanken an verschiedenen Programmteilen. Diese werden aber durch ein Programm gedruckt. Dabei werden auch teilweise die Datenbanken vorher gezapt. Um riesiges Kopieren vom quellcode zu vermeiden, was dadurch auch etwas unübersichtlich würde, wollte ich die entsprechenden Datenbanken mit alias öffnen und zappen.

Hier mein quellcode (Auszug)
Do Case
Case cEtiketArt="preisdru"
cDb:="spprver.dbf"
cDb1:="spprets"
cDb2:="sppretf"
Case cEtiketArt="ersdru"
cDb:="sperver"
cDb1:="sperets"
cDb2:="speretf"
EndCase

// Hier prüfe ich, ob die Datenbank im Exclusive zu öffnen ist.
If !Netz_Use(cDb,.t.,"Fehler: Datenbank SPPRVER in Bearbeitung","","")
Quit
EndIf
cDb->(DbZap()) // Hierbei bekomme ich den Fehler, daß die Datenbank nicht existiert.

Hier noch die Funktion Netz_use
unction Netz_Use()
Local lJa:=.f.
PARAMETERS Datei, ex_use, cTitel, Info, Name

If Info="alias"
If ex_use && exclusive
Use (Datei) New Exclusive Alias Name
EndIf
Else
If ex_use && exclusive
Use &Datei New Exclusive
EndIf
EndIf
If NetErr()
lJa:=.f.
Msgbox("Die Datenbank "+Datei+" ist in Benutzung"+CRLF+;
"Das Programm an allen Stationen beenden und erneut starten",cTitel)
Else
lJa:=.t.
EndIf
Return lJa

Spreche ich die Datenbank so direkt an funktioniert das ganze wunderbar.
Hat hier jemand eine Idee??
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Rolf,
zwei Dinge:
Zum Einen hast Du im ersten Fall in cDb den String "spprver.dbf" - laß mal das .dbf weg!
Und zum Anderen wirst Du (cDb)->(DbZap()) schreiben müssen, da Deine DB ja nicht cDb heißt, sondern wie der Inhalt der Variablen cDb!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1931
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Rolf Ramacher »

Hi Martin,

Danke für den Tipp. Habe ich total übersehen. Funktioniert- genau dass was ich wollte. Super - Danke
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Antworten