PDA

Vollständige Version anzeigen : Kombinatisonfeld verschiebt Datensätze im Unterformular


SirBlack
15.10.2001, 10:25
Hallo,
ich habe da ein Problem das mich zum Wahnsinn treibt:
Ich habe ein Formular mit einem Unterformular erstellt. Im Formular ist ein Kombinationsfeld mit dem ich die Herkunft der Datensätze im Unterformular auswählen kann.
Wenn ich Daten in das Unterformular eingebe und dann mit Hilfe des Kombinationsfeldes (im Hauptformular) die Datensatzherkunft des Unterformulars ändere und danach den Focus auf das Unterformular setzte, wird der letzte Datensatz vom vorherigem Unterformular in das aktuelle Unterformular verschoben. Hilfe...

Vielen Dank im voraus

Mattes
15.10.2001, 17:54
Puhhh,

nur eine Vermutung:

Wenn Du einen datensatz eingibst, wird dieser erst gespeichert, wenn Du entweder den nächsten eingibst, oder "sagst" speichern!

Du gibst aber ein, und wechselst dann die Datenquelle. Da ist nichts gespeichert, und so lange bleiben Deine Eingaben in den Eingabefeldern stehen.

Könnte es das sein?

Gib mal ein, schalte im UFO einmal zum vorherigen Datensatz, dann zum eingegebenen ( Navigationsschaltflächen ), und wechsel dann mal die Datenquelle mit Deinem Kombifeld.

SirBlack
16.10.2001, 11:37
Danke Mattes aber das läuft nicht...
Ich navigiere nur mit Hilfe des Kombinationsfeldes im Hauptformular.
Jedesmal wenn ich das Hauptformular aufrufe suche ich mit dem Kombinationsfeld (im Hauptformular) die gewünschten Datensätze im Unterformular (Datenblatt layout) heraus. Wenn ich nun den Focus auf das Unterformular setze, legt mir das Programm einen neuen Datensatz an. Wenn ich nun darin etwas eingebe und im gleiche Unterformular weitere Datensätze eingebe ist alles in Ordnung. Erst wenn ich mit Hilfe des Kombinationsfeldes ein anderes Unterformular aufruffe und wiederum den Focus auf das Unterformular setze, wird der als erstes eingegebene Datensatz (der vorher auch gespeichert wurde)in das aktuelle Unterformular verschoben......... Und das sollte natürlich nicht sein.

Danke nochmals.....
SirBlack

Mattes
16.10.2001, 16:21
Hmmm,

also das hört sich so an, als ob Du entweder eine Ausführung an ein falsches Ereigniss gebunden hast, oder mit der Anlegung dieser neuen Datensätze bei Fokuserhalt irgendwas nicht stimmt.

In welcher Tabelle stehen die Daten im HF? In welcher Tabelle stehen die Daten im UFO, und wie ist das UFO mit dem HF verbunden?

SirBlack
17.10.2001, 09:08
Also,
im Hauptformular hab ich das Kombinationsfeld mit Namen "Positionsnummer" dessen Steuerelementinhalt aus der Tabelle1 ist. Die Datensatzherkunft des Kombinationsfeldes im HF ist Tabelle2. Das Unterformular "in Datenblattansicht" liegt Tabelle2 zugrunde. Beide Formulare sind über die Positionsnummer verknüpft.
Wenn ich also im HF eine Positionsnummer auswähle , zeigt mir das Unterformular alle Datensätze mit dieser Positionsnummer an.
Ich habe dort keine Ereignisse wie Focuserhalt usw. festgelegt, die so ein Verhalten auslösen könnten.
Allerdings habe ich im Hauptformular die Eigenschaft "Dateneingabe" auf JA gesetzt, da sonst immer der erste vorhandene Datensatz (wie bereits beschrieben) verschoben wird. Mit der "Datensatzeingabe JA" wird nur der erste neu angelegte Datensatz verschoben. D.H. wenn ich in diesem Datensatz einfach nichts eintrage, und einfach nochmal einen neuen anlege, tritt das Problem in der Weise nicht mehr auf, da ja nur ein leerer Datensatz verschoben wird. (ja ja viele Kommas :-)) Ist allerdings einem Anwender nicht zuzumuten, dass er immer den ersten neuen Datensatz frei lassen muss.
Nochmals vielen Dank
SirBlack

Mattes
17.10.2001, 10:35
ganz langsam...

was meinst Du mit verschieben? Du wählst im HF eine Positionsnummer.

Das UFO zeigt Dir alle zugehörigen DS an.

wenn Du jetzt einen neuen DA eingibst (anfügst) musst Du im UFO die Positionsnummer auch eingeben (klar, oder?).

Wenn Du dann im HF eine neue Positionsnummer wählst, sollte der soeben eingegebene DS nicht angezeigt werden. ( Das ist doch Dein Problem, wenn ich das endlich geschnallt habe)?

... ah, ich glaub mir dämmerts gerade.

Kann folgendes sein:

erst wenn Du in den ersten DS etwas einträgst wird ein neuer DS angelegt der die Positionsnummer dann automatisch enthält. Dadurch kann dieer und alle folgenden dann zugeordnet werden. Dein erster DS enthält aber keine Poaitionsnummer und wird daher "das was Du verschoben nennst"?


Oder bin ich völlig am Problem vorbei?

SirBlack
18.10.2001, 08:12
Ja Mattes fast.....

Wenn ich das erste mal nach dem Start der Formulare in das UF klicke, legt das Programm einen zusätzlichen leeren Datensatz an. Dieser ist dann bereits der Positionsnummer zugeordnet und auchg gespeichert (Habe mir die zugehörige Tabelle anzeigen lassen). Wenn ich nun in diesen noch leeren Datensatz etwas eintrage und danach im HF die Positionsnummer ändere (Der DATENSATZ IM UF ist dabei bereits gespeicher) verschiebt sich dieser Datensatz zu der anderen Posaitionsnummer. Das seltsame ist: Es ist immer nur der erste Datensatz den ich eingegeben habe, d.h. ich kann im ersten UF zehn Datensätze eingeben aber nur der erste wird immer mit verschoben. Und das über alle UF hinweg. Ich kann also die Datensatzherkunft das UF so oft im HF wechseln wie ich will... der zuerst eingegebene Datensatz wandert im UF mit.

Ich lerne gerade von deinen Abkürzungen ;-)

Danke
SirBlack