[gelöst]Form ohne Satzänderung

2. August 2011 12:07

Hallo Leute

Ich stehe vor dem Problem, dass ich eine Form bauen soll, bei der nur das Erfassen von Sätzen zulässig ist!

Das heißt nichts anderes, als dass ich beim Einstieg in die Form automatisch auf die "Erfassung neuer Sätze" kommen soll.

Hat jemand eine Idee wie das geht?

Danke
Zuletzt geändert von Oskar am 6. August 2011 09:44, insgesamt 1-mal geändert.

Re: Form ohne Satzänderung

2. August 2011 13:04

Hi,

so ganz verstehe ich dich noch nicht.
Was genau meinst du mit "Sätzen"?

Re: Form ohne Satzänderung

2. August 2011 13:15

Hallo

Ich habe eine Table - nennen wie sie "Protokoll".

Beim Schreiben in diese "Protokoll"-Table wird eine Methode aufgerufen, die aufgrund dieser "Prokoll"-Table Stücklisten anlegt.

Daher sollte die Form beim Aufruf automatisch auf "neuen Satz anlegen" gehen.

Re: Form ohne Satzänderung

3. August 2011 13:31

Hi,

ich bin mir zwar immer noch nicht ganz sicher, ob ich dein Problem richtig verstanden habe, aber ich versuche es mal. :-)

Du möchtest also eine Maske erstellen, in der man keinen Datensatz löschen oder editieren kann. Nur Anlegen von neuen Datensätzen soll möglich sein.
Weiterhin soll, wenn man die Maske öffnen, automatisch ein neuer Datensatz angelegt werden. richtig?

Hierfür kannst du folgendes machen:
- Für die Datasource der Maske AllowEdit = No, AllowDelete = No, AutoSearch = No einstellen.
- In der Methode run der Form, nach dem Aufruf von super(), die create Funktion deiner Datasource aufrufen.
- Ggf. Nach dem Aufruf von create auch noch Record.initValue aufrufen um die default Initalisierung des Datensatzes aufzurufen.

Hoffe das hilft dir.

Re: Form ohne Satzänderung

3. August 2011 14:44

akuehn hat geschrieben: ...
- In der Methode run der Form, nach dem Aufruf von super(), die create Funktion deiner Datasource aufrufen. ...


Leider finde ich die "create" Funktion nicht.

Re: Form ohne Satzänderung

4. August 2011 18:39

Oskar hat geschrieben:Leider finde ich die "create" Funktion nicht.


Die create Funktion steht auf Ebene der Datasource zur Verfügung.

Im Code kannst du diese aufrufen, wenn du die Datasource ansprichts (Achtung! nicht den aktuellen Record der Datasource).
Um die Datasoucre anzusprechen nimmst du:
Code:
<Datasourcename>_ds

Um den aktuellen Datensatz der Datasource anzusprechen nimmst du:
Code:
<Datasourcename>


Somit kannst du die create funktion wie folgt aufrufen (<Datasourcename> ist der Name deiner Datasource in der Form):
Code:
<Datasourcename>_ds.create();


Noch eine Anmerkung zu meinem letzten Post.
Damit du auch Daten/Werte in die einzelnen Datenfelder eingeben kannst, darfst du die Eigenschaft "AllowEdit" nicht auf NO setzen. Diese sollte auf YES eingestellt bleiben.