Dateneingabe
>>>`Eingabe-Formulare`

Hier erfahren Sie alles darüber, wie man neue Daten `eingibt` und vorhandene `bearbeitet`. Probieren Sie alles aus. 
Aber es steht hier auch, was der `Systemverwalter` tun kann, um die Sache für die eigenen Zwecke zu verbessern! %=x sho rec% 
Und: was eigentlich passiert, wenn man auf `Neusatz` drückt (oder F9). 
Mit F1 kommt immer eine Hilfe zu der Situation, in der man gerade ist! 
 
Daten bearbeiten/korrigieren
Situation: Man sieht in der Anzeige einen Datensatz, an dem etwas korrigiert werden muß. Dazu gibt es mehrere Funktionen. Sobald man eine Änderung gemacht hat, wird der Hintergrund der Anzeige hellgelb, beim Abspeichern des Satzes mit dem Button [Speichern] wieder hellgrün. Mehr zu diesen Farben unter dem Thema `Online-Offline`. 

a) Normale Korrektur 
	Feld links auswählen - Enter - Korrigieren - Enter
An der linken Seite sieht man die Kategorien, bei längeren nur den Anfangsteil. Mit F5 kann man die vollständigen Kategorien im Anzeigefenster sehen. (Nochmals F5 schaltet zur Normalanzeige zurück) 
Wenn die Liste der Kategorien nicht zu sehen ist, sondern z.B. die Liste der Ergebnismengen: [Record] drücken oder Alt+r.
Man wählt aber immer links in der Liste die Kategorie aus, die man korrigieren will, dann [Enter] - der ganze Text wird im Schreibfeld sichtbar. 
Korrektur im Schreibfeld ausführen, dann mit [Enter] zurückgeben. Links und oben wird die korrigierte Kategorie sichtbar. 

b) Korrektur im Formular 
Unten in der Mitte den Button [Form.] drücken, oder Alt+#. Ein passendes Formular wird sichtbar, und diejenigen Felder, die etwas enthalten, sind zu sehen. 
Wenn man nur mit TAB weitergeht, wie sonst bei Windows-Eingabeformularen üblich, wird der Inhalt nicht sofort übernommen. Sondern erst, wenn das Formular verlassen wird. 
Wenn man sofort Enter drückt, erfolgt auch sofort die Fehlerkontrolle des betr. Feldes. Das Formular wird also mit Enter nicht geschlossen, dafür gibt es den Button [Ende]. 
Tip: Der Button mit dem Fragezeichen (oben rechts) bringt einen Hilfetext mit interessanten Hinweisen.

c) Ein Feld löschen 
Das betr. Feld anwählen, dann die [Entf]-Taste auf der Tastatur. 
Tip: Das Feld verschwindet nicht wirklich: Mit Alt+r (Button [Reserve]) kommt der Hintergrundspeicher, dort sieht man das gelöschte Feld. Dann: 
Auswählen,  Alt+k,  Alt+r  - schon ist man zurück in der Anzeige des Datensatzes.

d) Einzelne Felder kopieren 
Feld auswählen, Alt+k. Es kommt dann in den Hintergrundspeicher. 
Wenn man es wieder braucht: Alt+r  -  Feld auswählen  -  Alt+k  -  Alt+r.

e) Hierarchische Untersätze verschieben / kopieren
-- Balken auf die #01 des zu verschiebenden Untersatzes 
-- Doppelklick oder Alt+m  (die #01 wird mit * markiert) 
Verschieben:
-- Balken auf irgendeine Kategorie (unter der #01 !) desjenigen Untersatzes, UNTER den der markierte zu verschieben ist 
-- nochmals Doppelklick oder  Alt+m - Verschiebung wird ausgeführt. 
Kopieren: (d.h. duplizieren) 
-- Balken AUF die #01 desjenigen Untersatzes, UNTER den der markierte zu kopieren ist 
-- Alt+k - Einfügung wird ausgeführt. 
Beim Doppelklick muß der Mauszeiger auf die betr. Zeile zeigen! Also beim ersten auf die 
#01-Zeile, beim zweiten auf eine Zeile unterhalb der betr. #01.

f) Datensatz extern bearbeiten 
Mit Alt+t wird der Datensatz in eine Datei EXX.XXX kopiert und dann der X-Editor aufgerufen. Damit kann nun diese Datei bearbeitet werden. Wenn man mit [Esc] q s den Editor verlassen hat, wird gefragt, ob der Satz wieder eingelesen werden soll. Antwortet man [Ja], wird dies ausgeführt, aber der Satz noch nicht gespeichert. Das macht man mit dem Button [Speichern], wie sonst auch. Der X-Editor ist sehr einfach zu bedienen! (`Anhang D` im Handbuch.) 
Will man die externe Bearbeitung mit Notepad machen: Im Schreibfeld  X notepad eingeben.

g) Einzelnes Datenfeld extern bearbeiten 
Im Schreibfeld  Bnnn  eingeben, mit der Feldnummer nnn. Also z.B.  B81 für das Feld #81. 
Dies lohnt sich nur für sehr lange Felder. Ein Zeilenumbruch innerhalb des Feldes wird durch das Sonderzeichen ¶ ausgelöst. Man gibt es im Schreibfeld mit Strg+t ein. Im X-Editor auch. In Notepad geht es nur mit Alt+0182.

h) Phrasen nutzen 
Phrasen sind Zeichenfolgen, die in einem Hilfsspeicher liegen und jederzeit an jeder Stelle einkopiert werden können. Mehr dazu in einem eigenen `Hilfetext`. 

i) Sehr effizient: Datensatz im Anzeigefeld bearbeiten 
Dazu gibt es diesen Menüpunkt im Füllhorn: `Bearbeitung im Anzeigefeld`. 
Wenn man diesen auslöst, werden die Tastenkombinationen Alt+9 und Alt+0 so eingerichtet: 
Alt+9: Anzeige des aktuellen Satzes im Anzeigefeld mit Kategorienummern. Daran kann man beliebig ändern 
Alt+0: Den Datensatz aus dem Anzeigefeld wieder übertragen in den Arbeitsspeicher. Dann wird er auch rechts im Auswahlfeld mit allen Veränderungen sichtbar, und darauf kommt es an. Anschließend mit Alt+s normal speichern oder vorher noch weitere Änderungen machen.

Neuen Datensatz eingeben 
Dafür gibt es unten den Button [Neusatz], gleichwertig ist F9. Dann kommt's darauf an, ob es eine FLEX-Datei namens oninput.flx gibt, denn diese wird dann ausgeführt. Im Standardfall bietet sie Ihnen ein Menü an zur Auswahl der Satztypen. Wenn oninput.flx nicht existiert, passiert folgendes: 
Es werden dann zwei Möglichkeiten angeboten: 

a) Kopie  (F9 und "Ja") 
Vorher einen geeigneten Satz suchen, also einen, in dem schon Felder belegt sind, die man übernehmen kann. Dann: 
 -- F9 und "Ja" 
 -- die nötigen Änderungen und Ergänzungen machen (siehe oben) 
 -- den Button [Speichern] betätigen

b) Neue Eingabe  (F9 und "Nein")     Andere Möglichkeit:  h input  eingeben 
Es erscheint dann links die sog. "Abfrageliste", das ist eine Liste von Feldbezeichnungen, die zur Eingabe in Frage kommen. (An dieser Stelle kann man auch [Formulare] drücken, s.u.) 
Man wählt einen geeigneten Anfangspunkt (es kann verschiedene geben je nach Satztyp), dann [Enter]. Nun beginnt die Abfrage: links geht jedesmal nach einer Eingabe der Balken auf die nächste Zeile, und man gibt dann den Text zu dem betr. Feld im Schreibfeld ein. 
Mit [Alt+y] kann man die gesamte Liste der möglichen Datenfelder links einblenden lassen, wenn man ein Feld braucht, das in der Abfrage nicht vorkommt. 
Mit [Record] kann jederzeit von der Abfrage oder anderen Prozeduren auf die Anzeige des aktuellen Satzes umgeschaltet werden. Dann sieht man links die vorhandenen Kategorien und kann darin arbeiten, so wie oben beschrieben. 
Mit [Speichern] wird der neue Datensatz schließlich in die Datenbank einsortiert - erst dann kommen die Einträge in die verschiedenen Register. Mit "Deaktivieren" (oben auf dem Menü) kann ein neuer Satz vor dem Speichern wieder ungültig gemacht werden. Das muß nicht sofort geschehen, es ist auch möglich, erst am Ende der Sitzung alle neuen Sätze zu speichern oder vorher noch andere Sätze aufzusuchen und zu bearbeiten. 
Mit dem Button unten rechts, [Daten in Bearb.], oder Alt+q, kommt man in die Liste der neuen und korrigierten Sätze! Dort findet man alle Sätze wieder, die man während der Sitzung schon "angefaßt" oder neu eingegeben hat. 

c) Mehrfachfelder (Feldwiederholung)
Die meisten Felder können mehrfach eingegeben werden. Dazu gibt man im Schreibfeld die Nummer ein, gefolgt von dem Zeichen  ~, dann den Text. Zum Beispiel: 
#40~Name, Vorname 
Das Programm macht daraus #402 oder #403, falls #40 oder #40 UND #402 bereits belegt sind. 
Im Formular:  Alt +  drücken, dann wird das aktive Feld leer und man kann einen zweiten Inhalt eingeben. 

Formulare nutzen
Bei Neueingabe und Bearbeitung kann man jederzeit [Formulare] drücken. Dann das geeignete Formular wählen. Man sieht dann die schon belegten Felder und kann sie bearbeiten und/oder unbelegte ausfüllen. 
	Sehr wichtig: Die Formulare wirken immer auf den aktuellen Satz, d.h. alle Eingaben kommen als Datenfelder in den Satz hinein, an dem man gerade arbeitet. Keinesfalls bedeutet ein anderes Formular jedesmal die Eingabe eines neuen Satzes!!! Das Formular zeigt ausgewählte, kopierte Felder eines Satzes, es steht nicht selber für den Satz.
	Noch wichtiger: [Enter] drücken bei jedem Feld, das geändert oder neu eingegeben wurde - sonst wird der Inhalt nicht übernommen. Mit [Esc] das Formularfenster schließen. 
`Noch mehr über Formulare`. 

Mehrere Felder gleichzeitig eingeben 
Das ist eine Möglichkeit, die sich für "Cut-and-Paste" eignet. Man kopiert mehrere Kategorien aus der Anzeige heraus (oder aus einem anderen Fenster, wo man eine geeignete Anzeige vorfindet). Dann den Cursor ins Schreibfeld setzen und Strg+v, dann [Enter]. Es muß nur so sein, daß jede Kategorie mit '#' beginnt und auf einer neuen Zeile anfängt.

Hinweise für Systemverwalter
Zur Gestaltung eines Eingabesystems mit Hilfe des FLEX-Konzepts 

Mit relativ wenig Aufwand kann man ein Erfassungssystem konfigurieren. 
Drei Dinge werden dazu gebraucht: 

1a. Eine oder mehrere Hilfedateien mit Flex-Flips 
   Beispiel zum Anpassen: input.rtf 
   Darin sieht man, wie die Formulare aufgerufen werden. 
und/oder 
1b. Eine ViewListe mit den Satztypen, die erfaßt werden sollen. 
   Beispiel zum Anpassen: `input.vw` + input.flx 
   Jede View-Zeile ruft den FLEX auf und gibt ihm den Typ mit. 

2. Eine Formulardatei mit bis zu 200 Eingabeformularen 
   Beispiel: cat.frm 
   (Name cat = Datenbankname) 
   Jedes Formular muß darin eine Überschrift in [...] haben. 
   Pro Formular können bis zu 14 Eingabefelder definiert werden. 

3. Einen Aufruf der Hilfedatei  (also z.B.`INPUT.RTF`) 
   Sofort möglich ist Eingabe von "h input" im Schreibfeld. Es geht aber 
   viel komfortabler: 
   Die Realisierung ist im Rahmen der RTF-Moeglichkeiten völlig frei. 
   Kann als Flip beliebig in andere Hilfedateien eingebettet sein, es muß 
   nur drinstehen 
   h input 
   Weitere Beispiele, input.rtf aufzurufen: 
   Wenn man per Anzeigeparameter oder von Hand die User-Variable 
   #uX0h input 
   erstellt, kann das Erfassungssystem mit Alt+0 aktiviert werden. 
   (Wenn man #uX0 statt #uZ0 nimmt, bleibt diese erhalten, denn die #uX- 
   Variablen werden in der Phrasendatei gespeichert.) 
   Einfachste Eingabe:  0 h input 
        im Schreibfenster eingegeben, es entsteht #uX0h input 

Die Datei INPUT.RTF läßt sich am besten mit dem Editor WordPad bearbeiten. 
Aber auch das Anzeigefeld selbst läßt sich dafuer nutzen! Man ruft die Datei mit  h input.rtf  auf statt mit  h input, dann können auch die Flipzeilen alle berabeitet werden (sonst werden sie nicht sichtbar). 
Man kann sie, RTF-Kenntnisse vorausgesetzt, ohne weiteres auch mit dem X-Editor ansehen und auch bearbeiten, um weitere Befehle einzubauen. Die eigentlichen FLEX-Befehle stehen am Ende der Datei und sehen so aus (die einzelnen Befehle durch `` getrennt): 

\par ?Normal (Buch)=x if diff put``new``form B``form 2``yesno Speichern? (Nein=weiter bearbeiten, Abbruch=verwerfen)``if c erase``input 1``if y put 

Die Zeichenfolge "\par " gehört zu RTF, bedeutet "Neuer Absatz" und entsteht, wenn man die Datei mit Wordpad oder WinWord bearbeitet hat. 
Natürlich können auch andere Routinevorgänge, die man in FLEXe verlegen kann, in die INPUT.RTF oder eine ähnliche Datei eingebaut werden. 

Button Neusatz   (oder F9)
Was passiert, wenn man da draufdrückt?
Zuerst wird ein FLEX gestartet:  oninput.flx. 
Wenn der nicht existiert, wird nur gefragt, ob man einen leeren Satz mit Abfrageliste eingeben will oder ob man den momentan angezeigten Satz kopieren will. 
Wenn aber  oninput.flx  existiert, dann passiert im Standardfall folgendes (wer will, kann das alles völlig anders gestalten): 

FLEX oninput.flx wird gestartet, 
     zeigt  input.vw 
            Nutzer wählt eine Zeile, dadurch: 
            startet input.flx  mit Angabe des Satztyps, z.B. Buch
                    öffnet das dem Typ zugeordnete Formular 
                    Weitere zum Typ gehörige Funktionen können 
                    also in input.flx eingebaut werden. 

?INPUT.RTF=h input 
?Eingabe-Formulare=h input 
?Online-Offline=h off 
?Noch mehr über Formulare=h form 
?Anhang D=h acd 
?Hilfetext=h phras 
?eingibt=h =Neuen Datensatz eingeben 
?bearbeitet=h =Daten bearbeiten 
?input.vw=h =Button Neusatz  
?Neusatz=h =Button Neusatz  
?Systemverwalter=h =Hinweise 
?Bearbeitung im Anzeigefeld=x var m`if "alc" end`exec dispedit