PDA

Vollständige Version anzeigen : Problem mit "AllowAdditions"


Alfred G
26.09.2003, 10:27
Hallo Forum,

ich bin nahe am verzweifeln über ein vielleicht banales Problem.

Also, ich habe ein Haupt- und ein Unterformular (Beziehung 1:1)

Ein Datensatz im UFO wird immer aus dem Hauptformular per Eingabe im UFO erzeugt. Auf einen Datensatzmarkierer möchte ich bewußt verzichten.

Hat der Anwender nun einen Datensatz geschrieben, und betätigt die Eingabetaste beim in der Reihenfolge letzen Steuerelement, so gibt Access nun einen neuen, leeren DS vor. Der Anwender erschrickt erst einmal über die "verlorenen" Daten und versucht die Eingabe erneut.

Als Folge daraus erscheint logischerweise die Access-eigene Fehlermeldung

Laufzeitfehler '3022'
Die von Ihnen vorgenommenen Änderungen an der Tabelle konnten nicht vorgenommen werden, da Index, Primärschlüssel oder die Beziehung mehrfach vorkommende Werte enthalten würde...usw.

Nun habe ich es so versucht:
Der Code prüft eingaberelevante Felder; besteht ein Eintrag in einem dieser Felder (Ja/Nein-Feld), wird AllowAdditions False.


Private Sub Form_Current()
If Me!Mot_Lager = True Or Me!Mot_best = True Or Me!Mot_beigestellt = True Then
Me.AllowAdditions = False
Else
Me.AllowAdditions = True
End If
End Sub


Aber ich verstehe nicht,warum es so nicht funzt?
Oder wie kann man dieses Prob profimässig lösen?

Danke in voraus.

Alfred

Access2000

FSP
26.09.2003, 10:39
Hallo,
du kannst in deinem Unterformular lunter Eigenschaften/Andere die Zyklus Eigenschaft auf Aktuellen Datensatz stellen.

Dadurch wird nach dem letzten Feld kein neuer DAtensatz aufgerufen.

Aus der Onlinehilfe:
Wird TAB gedrückt, wenn das letzte Steuerelement den Fokus hat, wird der Fokus auf das in der Reihenfolge der Steuerelemente erste Steuerelement verschoben. Es erfolgt aber kein Wechsel zum nächsten Datensatz.

Paul.Ostermeier
26.09.2003, 10:49
Du kannst das generell einstellen unter

Extras > Optionen > Tastatur > Cursor stoppt beim ersten/letzten Feld

Alfred G
26.09.2003, 11:24
Danke FSP und Paul.Ostermeier,

@FSP:
vielen, vielen Dank. Es ist schön, dass man nicht alles über VBA machen muss. Man muss nur wissen, wo man die Funktion findet.
Jedenfalls habe ich wieder was gelernt.

@Paul.Ostermeier
an diese Möglichkeit habe ich auch schon gedacht.
Nur wollte ich diese Option nicht gerne einstellen, da diese Auswirkungen auf alle anderen Formulare/Steuerelemente hat. Trotzdem vielen Dank.

Schönes Wochenende

Alfred