alcarta / a99: Suche über Index
Mathias Manecke, DBL
manecke at dbl.ddb.de
Do Nov 23 13:42:12 CET 2000
Liebe Liste, liebe Entwickler,
Mein Ziel ist es, aus einer alcarta/a99-Sitzung heraus in einer
anderen Datenbank nach einem Schlüssel mit find zu suchen. Im
Erfolgsfall soll der Datensatz angezeigt werden. Scheitert die Suche,
soll im Index die nächst passende Stelle aufgeschlagen werden.
Wenn mit find bereits etwas gefunden wird, funktioniert alles
reibungslos. Wenn nicht (also wenn im Index weiter gesucht werden
soll), hängt das weitere Verhalten vom Kontext ab:
Ist bereits ein alcarta mit der zweiten Datenbank geöffnet und wurde
darin vorher bereits irgendwann auf den Index zugegriffen,
funktioniert der Mechanismus ebenfalls wie gewünscht. Ist das nicht
der Fall (wird also das zweite alcarta erst per Call gestartet), so
blitzt nur kurz die Indexsuche auf, die Anzeige bleibt bei Startger
stehen.
Danach funktioniert dann gar nichts mehr, wie es soll. Bisher
beobachtet:
- die in Startger integrierten Flexe (alles Indexzugriffe)
funktionieren nicht mehr.
- wird der Index aufgeschlagen, so ist zwar auf den richtigen
Suchbegriff fokussiert, wird dieser dann aber angeklickt,
erscheint der Datensatz nicht in der Anzeige, sondern es
erscheint die Onlinehilfe zum Indexfenster.
- Wird der Index geschlossen, so funktionieren die Flexe in
Startger wieder und das weitere Verhalten scheint normal zu
sein.
- Grundsätzlich wird aber, egal was danach noch mit der Datenbank
angestellt wird, nach so einem so verpatzten Start Endflx nicht
ausgeführt.
Dieses Verhalten ist wie gesagt nicht zu beobachten, wenn die DB schon
in Benutzung ist. Daher bin ich mir eigentlich recht sicher, dass es
nicht an meinen Befehlen in start.flx liegt. Vorsichtshalber hier aber
trotzdem der entsprechende Abschnitt in start.flx:
(Was gesucht werden soll steht in #uuu in der Form ?|i[Suchbegriff])
...
- Register ermitteln
var #uuu(2,0)
if "1" var "PER " #uuu(3,0)
...
- dort suchen
Find
- ging das schief, Index an der nächsten Stelle öffnen
if empty jump index
- sonst beenden
jump ende
:index
- Indexzeile konstruieren (Leerzeichen einbauen)
var #uuu(1,2) " " #uuu(3,0)
Ins #uuu
index
jump ende
...
Gibt es eine Möglichkeit, dieses unterschiedliche Verhalten zu
umgehen?
Viele Grüße
Mathias Manecke
Die Deutsche Bibliothek
Deutsche Buecherei Leipzig
Deutsches Buch- und Schriftmuseum
Deutscher Platz
04103 Leipzig
manecke at dbl.ddb.de
Tel. 0341/2271-575
Mehr Informationen über die Mailingliste Allegro