Clipper5.2e Fehler
Moderator: Moderatoren
Clipper5.2e Fehler
Hallo zusammen,
habe vor einigen Zeit mein Programm das ich mit Clipper5.1 geschrieben habe auf Clipper5.2e umgestellt. Einiges habe ich dabei auch ändern müssen. Jedoch taucht immer mal wieder die folgende Fehlermeldung auf.
ERROR DBCMD/1011 ALIAS bereis benutzt
ERROR DBCMD/2001 nicht selektierter Arbeitsbereich
Könnte mir jemand dabei helfen wieso diese Fehlermeldung auftaucht bzw. was ich da falsch mache.
Unter Clipper5.1 hat es ohne Probleme funktioniert.
Im voraus vielen Dank für die Antworten.
Viele Grüße
angelo
habe vor einigen Zeit mein Programm das ich mit Clipper5.1 geschrieben habe auf Clipper5.2e umgestellt. Einiges habe ich dabei auch ändern müssen. Jedoch taucht immer mal wieder die folgende Fehlermeldung auf.
ERROR DBCMD/1011 ALIAS bereis benutzt
ERROR DBCMD/2001 nicht selektierter Arbeitsbereich
Könnte mir jemand dabei helfen wieso diese Fehlermeldung auftaucht bzw. was ich da falsch mache.
Unter Clipper5.1 hat es ohne Probleme funktioniert.
Im voraus vielen Dank für die Antworten.
Viele Grüße
angelo
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Angelo,
kannst Du mal ein wenig von dem betroffenen Code posten?
Öffnest Du vielleicht die betreffende DBF ohne speziellen Alias und hast auch eine andere geöffnet, der Du bereits einen Aliasnamen mitgegeben hast, der genauso heißt, wie die angemeckerte Datei?
Viele Grüße,
Martin
kannst Du mal ein wenig von dem betroffenen Code posten?
Öffnest Du vielleicht die betreffende DBF ohne speziellen Alias und hast auch eine andere geöffnet, der Du bereits einen Aliasnamen mitgegeben hast, der genauso heißt, wie die angemeckerte Datei?
Viele Grüße,
Martin
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.
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Clipper5.2e Fehler
moin
a.) wenn "ALIAS bereis benutzt" heist das, das du die DBF
schon in einer anderen WorkArea ( SELECT() ) geöffnet hast
oder bei explizitem Alias-Namen diesen schon verwendest.
b.) "nicht selektierter Arbeitsbereich" ist nun genau das Gegenteil
den da befindest du dich in einer WorkArea wo du was machen
willst die aber nicht nicht dem ALIAS() ( SELECT() ) entspricht.
zu a.) verwende nur eine NET_USE Routine zum öffen der DBF
und Index Dateien.
zu b.) compiliere mal mit "-w" und er wird dir alle "FELD"er
anmeckern die kein "ALIAS->" haben.
gruss by OHR
Jimmy
du meint v5.01a. (eine v5.1 gibt es nicht)angelo hat geschrieben: habe vor einigen Zeit mein Programm das ich mit Clipper5.1 geschrieben
hm ... eigendlich sind die Meldungen doch eindeutig ?angelo hat geschrieben: habe auf Clipper5.2e umgestellt. Einiges habe ich dabei auch ändern müssen. Jedoch taucht immer mal wieder die folgende Fehlermeldung auf.
ERROR DBCMD/1011 ALIAS bereis benutzt
ERROR DBCMD/2001 nicht selektierter Arbeitsbereich
Könnte mir jemand dabei helfen wieso diese Fehlermeldung auftaucht bzw. was ich da falsch mache.
a.) wenn "ALIAS bereis benutzt" heist das, das du die DBF
schon in einer anderen WorkArea ( SELECT() ) geöffnet hast
oder bei explizitem Alias-Namen diesen schon verwendest.
b.) "nicht selektierter Arbeitsbereich" ist nun genau das Gegenteil
den da befindest du dich in einer WorkArea wo du was machen
willst die aber nicht nicht dem ALIAS() ( SELECT() ) entspricht.
zu a.) verwende nur eine NET_USE Routine zum öffen der DBF
und Index Dateien.
zu b.) compiliere mal mit "-w" und er wird dir alle "FELD"er
anmeckern die kein "ALIAS->" haben.
hm ... hmm ... hmmmangelo hat geschrieben: Unter Clipper5.1 hat es ohne Probleme funktioniert.
gruss by OHR
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Clipper5.2e Fehler
Ich meine mich erinnern zu können, dass 5.2ff strenger war was die Syntax angeht, genauso wie XBase++ strenger ist wie es Clipper jemals war.angelo hat geschrieben:Unter Clipper5.1 hat es ohne Probleme funktioniert.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 70 Mal
Hi Daniel,
Xbase++ schaut nach, ob eine Datei unter dem gleichen Namen schon geöffnet ist. Wenn dies der Fall ist, dann erzeugt es einen Alias, der sich aus dem Dateinamen + der Area zusammenbaut.
Unter Clipper war das wohl so nicht der Fall. Also bedeutet dass: Es muß beim Öffnen der Dateiname zzgl. einem eindeutigen und einmaligen Aliasnamen angegeben werden.
Use test alias blahblah NEW
Use test alias blahblahblah NEW
Use test alias blah2
usw.
Xbase++ schaut nach, ob eine Datei unter dem gleichen Namen schon geöffnet ist. Wenn dies der Fall ist, dann erzeugt es einen Alias, der sich aus dem Dateinamen + der Area zusammenbaut.
Unter Clipper war das wohl so nicht der Fall. Also bedeutet dass: Es muß beim Öffnen der Dateiname zzgl. einem eindeutigen und einmaligen Aliasnamen angegeben werden.
Use test alias blahblah NEW
Use test alias blahblahblah NEW
Use test alias blah2
usw.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Hi Manfred
ja, entweder gibst du diesen einmaligen Alias explizit vor.
Oder du öffnest
USE test NEW
fragst dann den ALIAS() oder die SELECT() ab, die XBase vergeben hat,
und verwendest einfach die weiter.
Auf jeden Fall ist es wichtig, Angelo,
das nicht nur für CLIPPER 5.2 /5.3 zu lösen, sondern gleich für XBase++
gruss
Daniel
ja, entweder gibst du diesen einmaligen Alias explizit vor.
Oder du öffnest
USE test NEW
fragst dann den ALIAS() oder die SELECT() ab, die XBase vergeben hat,
und verwendest einfach die weiter.
Auf jeden Fall ist es wichtig, Angelo,
das nicht nur für CLIPPER 5.2 /5.3 zu lösen, sondern gleich für XBase++
gruss
Daniel
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Man kann es auch - wenn man weniger Code ändern will - so machen:
Man kann auch in Clipper eine Datei beliebig oft öffnen, aber sie muß jedes Mal einen ein-eindeutigen Alias haben, sonst schließt Clipper - wie Xbase - die zuvor unter diesem Alias geöffnete Datei.
Übrigens kann es auch daran liegen, daß Clipper implizit die Anzahl der zu öffnenden Tabellen begrenzt (20, wenn ich mich recht erinnere). Dafür gibt es entweder die Möglichkeit, eine Environment-Variable hochzusetzen (Batch):
SET CLIPPER=F100
oder, wenn Blinker benutzt wird, sowas zu tun:
BLINKER EXECUTABLE CLIPPER F100
Das geht auch mit dem normalen Linker, aber da ich den seit tausend Jahren nicht mehr benutzt habe, weiß ich nicht aus dem Kopf, wie.
Code: Alles auswählen
Select 0 // selektiert die nächste freie Workarea
Use Cust Index Cust Alias Cust // keine numerischen Aliase verwenden, Alias eindeutig
Übrigens kann es auch daran liegen, daß Clipper implizit die Anzahl der zu öffnenden Tabellen begrenzt (20, wenn ich mich recht erinnere). Dafür gibt es entweder die Möglichkeit, eine Environment-Variable hochzusetzen (Batch):
SET CLIPPER=F100
oder, wenn Blinker benutzt wird, sowas zu tun:
BLINKER EXECUTABLE CLIPPER F100
Das geht auch mit dem normalen Linker, aber da ich den seit tausend Jahren nicht mehr benutzt habe, weiß ich nicht aus dem Kopf, wie.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
use (cDBF) -> Clipper erzeugt automatisch einen AliasDaniel hat geschrieben:Hibrandelh hat geschrieben: Grundsätzlich sollte man immer einen expliziten Alias angeben.
wie meinst du das genau, einen expliziten Alias?
Gruss
Daniel
use (cDBF) ALIAS XYZ -> Programmierer bestimmt Alias ...
Für Clipper ist die direkte Vergabe immer besser, aber für Xbase nicht !
Wenn ich beim Öffnen eines GUI Fensters jeweils die Datenbank mit öffne und
Code: Alles auswählen
use (cDBF) ALIAS XYZ
GUI Programme sind anders als alte Clipper Programme.
Deshalb vergibt Xbase++ die automatischen Aliasnamen auch anders.
Dennoch ist es für den Programmierer nicht möglich im Fenster-Quellcode den automatischen Alias direkt anzusprechen, denn woher soll er jetzt wissen in welchem Fenster die Datei zur Laufzeit schon offen ist ?
Daher verwende ich in GUI Applikationen immer eine Instanzvariable, die den Alias (numerisch) der DBF enthält (Natürlich ging auch der Text des automatisch vergebenen Alias, aber Zahlen sind einfach weniger Overhead):
Code: Alles auswählen
method ....:create(...
...
use (cDBF) NEW SHARED
if neterr() // da könnte ja was schief gehen !
::nAlias := select()
set index ....
else
Fehlermeldung
endif
...
method ....:close(...)
if (::nAlias)->(used())
(::nAlias)->(dbclosearea())
endif
...
Also bei Clipper und längeren Dateinamen immer vorsichtig sein und einen passenden selbst zusammen basteln.
Gruß
Hubert
Hubert
Re: Clipper5.2e Fehler
AUGE_OHR hat geschrieben:moindu meint v5.01a. (eine v5.1 gibt es nicht)angelo hat geschrieben: habe vor einigen Zeit mein Programm das ich mit Clipper5.1 geschrieben
hm ... eigendlich sind die Meldungen doch eindeutig ?angelo hat geschrieben: habe auf Clipper5.2e umgestellt. Einiges habe ich dabei auch ändern müssen. Jedoch taucht immer mal wieder die folgende Fehlermeldung auf.
ERROR DBCMD/1011 ALIAS bereis benutzt
ERROR DBCMD/2001 nicht selektierter Arbeitsbereich
Könnte mir jemand dabei helfen wieso diese Fehlermeldung auftaucht bzw. was ich da falsch mache.
a.) wenn "ALIAS bereis benutzt" heist das, das du die DBF
schon in einer anderen WorkArea ( SELECT() ) geöffnet hast
oder bei explizitem Alias-Namen diesen schon verwendest.
b.) "nicht selektierter Arbeitsbereich" ist nun genau das Gegenteil
den da befindest du dich in einer WorkArea wo du was machen
willst die aber nicht nicht dem ALIAS() ( SELECT() ) entspricht.
zu a.) verwende nur eine NET_USE Routine zum öffen der DBF
und Index Dateien.
zu b.) compiliere mal mit "-w" und er wird dir alle "FELD"er
anmeckern die kein "ALIAS->" haben.
hm ... hmm ... hmmmangelo hat geschrieben: Unter Clipper5.1 hat es ohne Probleme funktioniert.
gruss by OHR
Jimmy
Hallo Auge_Ohr,
ich verwende zum öffnen der Datenbank 'USE Dateiname' bzw.
'USE Dateiname INDEX Dateiname.
Wie meinst Du das ich zum öffnen NET_USE Routine verwenden sollte.
Kannst Du mir ein kleines Beispiel zeigen.
gruss
angelo
Martin Altmann hat geschrieben:Hallo Angelo,
kannst Du mal ein wenig von dem betroffenen Code posten?
Öffnest Du vielleicht die betreffende DBF ohne speziellen Alias und hast auch eine andere geöffnet, der Du bereits einen Aliasnamen mitgegeben hast, der genauso heißt, wie die angemeckerte Datei?
Viele Grüße,
Martin
Hallo Martin,
ich öffne alle DBF's nur mit USE.
Benütze keine ALIASNAMEN, im ganzen Programm. Ist es ratsamer wenn ich ALIASNAMEN vergebe? Es ist auch so das es mit der gleichen Datenbank immer ohne Probleme klappt und dann kommt plötzlich der Fehler.
Hier ein wenig Code:
DO rahmen
STORE SPACE(5) TO such
SET KEY -1 TO skssuch
@ 5,04 SAY 'Kundennummer....' GET such VALID such <> " "
@ 6,2 SAY REPL('Ä',76)
READ
USE sksks
SET INDEX TO kskdnr,kskurz,ksbran
SET KEY - 1 TO
gruss
angelo
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Angelo,
wie heißen Deine DBFs die Probleme bereiten?
Wie weist Du beim Öffnen eine Workarea zu (Select ...) - oder tust Du dies gar nicht?
Kann es sein, dass Du eine DBF öffnest (nicht shared, sondern exclusive) und sie später erneut öffnest, ohne sie vorher geschlossen zu haben?
Viele Grüße,
Martin
wie heißen Deine DBFs die Probleme bereiten?
Wie weist Du beim Öffnen eine Workarea zu (Select ...) - oder tust Du dies gar nicht?
Kann es sein, dass Du eine DBF öffnest (nicht shared, sondern exclusive) und sie später erneut öffnest, ohne sie vorher geschlossen zu haben?
Viele Grüße,
Martin
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.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Hallo, Angelo.
Ist Dir der Begriff "Workarea" geläufig? Wenn Du eine Tabelle öffnest, so oder so, geschieht das in einer Workarea. Zum Beispiel so:
Die Tabelle wird in Workarea 1 geöffnet. Wenn man auf diese Art immer wieder Tabellen aufmacht, geschieht das in der selben Workarea, und Clipper schließt automatisch die zuvor in dieser Workarea geöffnete Datei:
Aber:
Um sich den ganzen numerischen Quatsch zu sparen, wählt man Aliase. Xbase macht das automatisch (Name der Datenbank ist der Name des Aliases), aber man kann sie auch direkt vergeben, um nicht durcheinanderzukommen, wenn man eine Tabelle mehrfach öffnet. Die numerische Vergabe der Workarea-Nummer bleibt weiterhin erhalten:
Der Alias-Operator hat den Vorteil, daß man die Workarea nicht wechseln muß, um zwischen den Tabellen hin- und herzuschalten:
usw.
Ist Dir der Begriff "Workarea" geläufig? Wenn Du eine Tabelle öffnest, so oder so, geschieht das in einer Workarea. Zum Beispiel so:
Code: Alles auswählen
USE Kunden
? Select() // Antwort: 1
Code: Alles auswählen
USE Kunden
? Select() // Antwort: 1
USE Artikel
? Select() // Antwort: 1 - Kunden ist automatisch geschlossen worden
Code: Alles auswählen
USE Kunden NEW
? Select() // Antwort: 1
USE Artikel NEW
? Select() // Antwort: 2 - Kunden ist immer noch offen
Select 1 // jetzt arbeite ich mit Kunden
Select 2 // jetzt mit den Artikeln
CLOSE // jetzt ist Artikel zu, Kunden ist noch offen
Code: Alles auswählen
USE Kunden ALIAS db1 NEW
USE Artikel ALIAS db2 NEW
Select db1 // bin auf Kunden
Select db2 // bin auf Artikel
Code: Alles auswählen
? db1->name // ist immer "name" aus Kunden
? db2->name // ist "name" aus Artikeln
Herzlich,
Tom
Tom
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Hallo, Angelo.
Wenn Du sowas machst:
, dann geht die Referenz auf "name" im READ verloren, sobald "artsuche" aufgerufen wird, weil "artsuche" "Kunden" schließt. Ich kann mir allerdings kaum vorstellen, daß das in Clipper 5.1 ging.
Wenn Du sowas machst:
Code: Alles auswählen
USE Kunden
GO TOP
SET KEY -1 TO artsuche
@ 1,1 SAY "Name" GET name
READ
PROC artsuche
USE Artikel
// Suche in Artikeln
RETURN
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hallo Tom,
und warum sollte das in 5.1 nicht gegangen sein ?
Hilfsbildschirme mit eigenem Dateizugriff habe ich schon unter Sommer87 eingesetzt. Ob NEW als USE Parameter erlaubt ist weiß ich aber auch nicht mehr.
Wichtig bei solchen Aktionen ist aber alles beim Aufruf zu sichern, und später zurückzusetzen, was auch nur irgendwie geändert werden kann.
und warum sollte das in 5.1 nicht gegangen sein ?
Hilfsbildschirme mit eigenem Dateizugriff habe ich schon unter Sommer87 eingesetzt. Ob NEW als USE Parameter erlaubt ist weiß ich aber auch nicht mehr.
Wichtig bei solchen Aktionen ist aber alles beim Aufruf zu sichern, und später zurückzusetzen, was auch nur irgendwie geändert werden kann.
Code: Alles auswählen
function ....
local nAltSelect, nAltColor, ...
nAltSelect := select()
select 2
use ...
do irgendwas ...
close ...
select (nAltSelect)
...
return ...
Gruß
Hubert
Hubert
Martin Altmann hat geschrieben:Hallo Angelo,
wie heißen Deine DBFs die Probleme bereiten?
Wie weist Du beim Öffnen eine Workarea zu (Select ...) - oder tust Du dies gar nicht?
Kann es sein, dass Du eine DBF öffnest (nicht shared, sondern exclusive) und sie später erneut öffnest, ohne sie vorher geschlossen zu haben?
Viele Grüße,
Martin
Hallo Martin,
die DBF's heißen z.B. kunden.dbf oder die Datenbanken für die Statistik bzw. Monatsabschluß. Jedoch kann ich es dir nicht genau sagen weil für Wochen oder Monate nichts passiert und dann taucht die Fehlermeldung auf. Später passiert wieder lange Zeit nichts.
Zuweisen tu ich beim öffnen der Workarea Select() zu aber die Nummern dazu vergebe ich selber.
Die Datenbanken öffne ich exklusive aber diese werden auch wieder geschlossen bevor ich diese wieder öffne.
Viele Grüße
angelo
Tom hat geschrieben:Hallo, Angelo.
Ist Dir der Begriff "Workarea" geläufig? Wenn Du eine Tabelle öffnest, so oder so, geschieht das in einer Workarea. Zum Beispiel so:
Die Tabelle wird in Workarea 1 geöffnet. Wenn man auf diese Art immer wieder Tabellen aufmacht, geschieht das in der selben Workarea, und Clipper schließt automatisch die zuvor in dieser Workarea geöffnete Datei:Code: Alles auswählen
USE Kunden ? Select() // Antwort: 1
Aber:Code: Alles auswählen
USE Kunden ? Select() // Antwort: 1 USE Artikel ? Select() // Antwort: 1 - Kunden ist automatisch geschlossen worden
Um sich den ganzen numerischen Quatsch zu sparen, wählt man Aliase. Xbase macht das automatisch (Name der Datenbank ist der Name des Aliases), aber man kann sie auch direkt vergeben, um nicht durcheinanderzukommen, wenn man eine Tabelle mehrfach öffnet. Die numerische Vergabe der Workarea-Nummer bleibt weiterhin erhalten:Code: Alles auswählen
USE Kunden NEW ? Select() // Antwort: 1 USE Artikel NEW ? Select() // Antwort: 2 - Kunden ist immer noch offen Select 1 // jetzt arbeite ich mit Kunden Select 2 // jetzt mit den Artikeln CLOSE // jetzt ist Artikel zu, Kunden ist noch offen
Der Alias-Operator hat den Vorteil, daß man die Workarea nicht wechseln muß, um zwischen den Tabellen hin- und herzuschalten:Code: Alles auswählen
USE Kunden ALIAS db1 NEW USE Artikel ALIAS db2 NEW Select db1 // bin auf Kunden Select db2 // bin auf Artikel
Hier verwende ich 'STORE name TO name' nach dem öffnen von 'db1' oder 'db2'. Diese hat doch die gleiche auswirkung, oder?Code: Alles auswählen
? db1->name // ist immer "name" aus Kunden ? db2->name // ist "name" aus Artikeln
usw.
Hallo Tom,
vielen dank erstmal für die Beispiele.
Workarea heißt doch Arbeitsbereich wenn ich nicht falsch liege.
Wahrscheinlich werde ich zum öffnen der DBF's diese mit ALIASE versehen weil das doch besser ist wie mit den Nummern (SELECT()) und auch eindeutiger.
Viele Grüße
angelo
Tom hat geschrieben:Hallo, Angelo.
Wenn Du sowas machst:
, dann geht die Referenz auf "name" im READ verloren, sobald "artsuche" aufgerufen wird, weil "artsuche" "Kunden" schließt. Ich kann mir allerdings kaum vorstellen, daß das in Clipper 5.1 ging.Code: Alles auswählen
USE Kunden GO TOP SET KEY -1 TO artsuche @ 1,1 SAY "Name" GET name READ PROC artsuche USE Artikel // Suche in Artikeln RETURN
Hallo Tom,
mit 'artsuche' wird ein kleines Hilfe-Fenster geöffnet wenn man die F2-Taste drückt. Man kann dann den Kunden oder Artikel usw. aussuchen und nach dem bestätigen wird die Artikelnr. oder Kundennr. übernommen und dieser Kunde oder Artikel letzten endes auf den Bildschirm angezeigt.
Viel Grüße
angelo
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Angelo,
Tom hatte darauf hingewiesen, dass Du Probleme bekommst, wenn Du in der Funktion, die mit F2 aufgerufen wird, einfach wieder eine DBF öffnest, ohne vorher in eine frei Workarea zu wechseln!!
Viele Grüße,
Martin
Tom hatte darauf hingewiesen, dass Du Probleme bekommst, wenn Du in der Funktion, die mit F2 aufgerufen wird, einfach wieder eine DBF öffnest, ohne vorher in eine frei Workarea zu wechseln!!
Viele Grüße,
Martin
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.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Hallo, Angelo.
Und genau das scheitert, wenn beim Öffnen der Artikeldatei kein neuer Arbeitsbereich (mit NEW bei USE oder durch vorheriges Select 0) gewählt wird. Es scheitert auch, wenn die Artikeldatei nicht geschlossen wird und "artsuche" abermals aufgerufen wird.mit 'artsuche' wird ein kleines Hilfe-Fenster geöffnet wenn man die F2-Taste drückt. Man kann dann den Kunden oder Artikel usw. aussuchen und nach dem bestätigen wird die Artikelnr. oder Kundennr. übernommen und dieser Kunde oder Artikel letzten endes auf den Bildschirm angezeigt.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 70 Mal
Wobei ich jetzt aber ganz ehrlich zugeben muß, dass unter Xbase++ mit Klassen, es wesentlich einfacher geworden ist. Eine Klasse bauen, die DB NEW öffnet, sich die Area merkt usw. und dann nur noch ansprechen und alle Namen sind Schall und Rauch.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!