Hallo Hermann,
danke für die Aufmunterung. Ich vermute mal das "machbar ist es mit OO natürlich schon" bezieht sich auf die Variante mit den Dialogen, oder? Oder geht das vielleicht doch mit Formularen?
Auf jeden Fall komme ich aber um das, wahrscheinlich sehr umfanngreiches, "Makrotippen" nicht herum. Und genau da ist mein Problem: Alles, was ich bisher dazu auf deutsch gefunden und gelesen habe, beschreibt mehr oder weniger "nur" die Bordmittel von OOoBase oder ist (zumindest mir) so unverständlich, das ich damit nicht viel anfangen kann, manches kommt mir sogar fast wiedersprüchlich vor. OK, ich habe bisher, hoffe ich

, so viel verstanden:
- Die Maske also Formular oder Dialog lässt sich bequem per grafischem Werkzeug gestalten, das hab ich probiert und funktioniert auch.
- Sämtliche Werte die aus den eigentlichen Tabellen in die Maske geholt bzw. aus der Maske in die Tabellen geschrieben werden sollen, müssen per Code definiert und in entsprechenden "Zwischenspeichern" (Variable / Array) übergeben werden. Da schaffe ich aber nicht mal die ersten Schritte. Ohne ein wirklich nachvollziehbares Beispiel komme ich nicht mehr weiter
Hast Du dazu vielleicht einen Tipp, z. B. einen Hinweis auf ein Tutorial oder ähnliches, aus dem auch ein DAU was konkretes erfahren kann? Oder könntest Du mir vielleicht z. B. diese Aufgaben (ich verwende hierbei die Bezeichnernamen aus meinem Entwurf, als Wertefelder nehme ich einfach mal die Feldnamen der Tabelle bzw. deren Bezeichnernamen also für VORNAME / myefPDVorname, FAMNAME / myefPDFamname, RUFNAME / myefPDRufname) vom deutschen ins OOoBasic "übersetzen"?
1. Öffne die Maske: myphfPD
2. Zeige in dieser Maske den Inhalt aller Felder des ersten, sortierten (per SELECT-Befehl aus der Tabelle geholten) Datensatzes der Tabelle PERSON an.
3. Lasse in dieser Maske den Wechsel zum nächsten, übernächsten usw. sortierten Datensatz und auch das zurückgehen zum vorherigen bzw. ersten, sortierten Datensatz, zu.
4. Prüfe, ob der komplett neu in der Maske eingegebene Datensatz bereits, so wie angezeigt und mit dieser ID, in der Tabelle PERSON vorhanden ist.
5. Ergibt diese Prüfung NEIN, schreibe die in myefPDVorname, myefPDFamname, myefPDRufname eingegebenen Werte per INSERT-Befehl in die Felder VORNAME, FAMNAME, RUFNAME der Tabelle PERSON.
Mir ist bewusst, dass man diese Werte natürlich nicht so umständlich übergibt, sondern wahrscheinlich in einer Variable bzw. einem Array. Nur wie ich den richtig deklariere (es sind in anderen Tabellen ja auch nicht nur Texteingaben/Strings sondern z. B. auch Texte/String und Datumseingaben/Date gemischt zu übergeben) ist mir unklar.
Ich würde den Array z. B. myavPD nennen und diesem dann die Werte gerne mit der getByName-Methode zuweisen wollen. Nur wie geht das wirklich richtig?
4a. Prüfe, ob der verändert in der Maske eingegebene Datensatz bereits, so wie angezeigt und mit dieser ID, in der Tabelle PERSON vorhanden ist.
5a. Ergibt die Prüfung NEIN, schreibe den/die Wert/e des/der geänderten Feldes/Felder (z.B. myefPDRufname in das Feld RUFNAME) der Tabelle PERSON.
Auch hierbei kommt natürlich wieder die Frage von vorhin (Variable/Array) ins Spiel.
Für 5 und 5a gilt ausserdem: Ergibt die Prüfung JA, zeige die Fehlermeldung "Datensatz existiert bereits! In anderem Kontext speichern?" und ermögliche in dieser eine Ja-Nein Auswahl.
OK, das ist schon ne ganze Menge zum "dolmetschen". Mir würden aber auch schon ein Paar Sätze (Zeilen Code) reichen, um das Prinzip dann hoffentlich richtig zu verstehen.
Vielen Dank an den oder die Dolmetscher

ich freue mich auf jeden Tip.
Grüße
henzmen