Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Fehler #2950 im Endlosformular unterdrücken

Begonnen von Carl, Dezember 27, 2017, 15:47:19

⏪ vorheriges - nächstes ⏩

Carl

Ich habe ein Endlosformular mit einem Button und öffne daraus ein weiteres Formular als Popup (in dem sich aus Platzgründen ein Memofeld) befindet. Das Endlosformular übergibt die ID an das Popup. Alles funktioniert reibungslos.

Aber wenn man in der letzten Zeile des Endlosformulars, wo die neuen DS angefügt werden, auf den Button klickt, erscheint die Fehlermeldung 2950 und hält alle Makros an. Ich möchte das gern unterdrücken.

Wie?

Carl

steffen0815

Hallo,
in diesem Datensatz ist die ID NULL.
Das musst du vorher entsprechend abfragen.
Gruß Steffen

Beaker s.a.

Oder stelle die Form-Eigenschaft "Zyklus" auf "Aktueller Datensatz".
Dann springt das Form am Ende nicht automatisch auf einen neuen DS.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Carl

Zitat von: Beaker s.a. am Dezember 27, 2017, 18:09:57
Oder stelle die Form-Eigenschaft "Zyklus" auf "Aktueller Datensatz".
Dann springt das Form am Ende nicht automatisch auf einen neuen DS.

Danke. Das hat allerdings nichts geändert, weil der leere Datensatz mit dem Button ja da bleibt. Ich brauche ihn auch. Ich wollte nur gern die Fehlermeldung inhibieren. Es soll einfach keine Fehlermeldung und kein Dialog kommen.

Oder wenn die ID Null ist, soll der Button nichts auslösen funktionieren. Wie geht das?

Gibt es einen Befehl, der für ein ganzes Formular gilt und einen bestimmten Fehlercode selektiv inhibiert?

Carl

steffen0815

Hallo,
zeig doch mal den Befehl hinter dem Button. Da muss doch nur ein If eingebaut werden.
Gruß Steffen

DF6GL

Hallo,

falls das Kriterium (Übergabeparameter) 

Me!ID

lautet, dann sollte dies in

nz(Me!ID,0)

geändert werden.

Lachtaube

.. oder man könnte die Aktion in einem neuen Datensatz erst gar nicht zulassen.Private Sub DeinKnopf_Click()
   If Me.NewRecord Then
      'ggf. MsgBox "Aktion in neuem Datensatz unzulässig"
   Else
      'das, was Du sonnst auch machst
   End If
End Sub
Das Disablen des Kopfes in Form_Current wäre auch eine Option, obwohl sich optisch nicht so ansprechend erscheint.Private Sub Form_Current()
   Me.DeinKnopf.Enabled = Not Me.NewRecord
End Sub
Grüße von der (⌒▽⌒)

Carl

Ah, super Ideen!

Und ich hab nochmal eine andere Frage: Wenn ich in einem normalen Formular mit Textfeldern im letzten Textfeld Enter drücke, springt es zum nächsten Datensatz, um den es dort aber garnicht geht. Wie kann man das unterdrücken?

MzKlMu

Hallo,
siehe Beitrag #2 hier in diesem Thema. ;D
Gruß Klaus

Beaker s.a.

Dann ergänze ich noch
ZitatDann springt das Form am Ende nicht automatisch auf einen neuen oder den nächsten DS.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Carl

Zitat von: Beaker s.a. am Dezember 28, 2017, 13:20:19
Dann ergänze ich noch
ZitatDann springt das Form am Ende nicht automatisch auf einen neuen oder den nächsten DS.

Ah, verstehe. Danke!

@all Was seid ihr denn eigentlich so von Beruf? Programmierer?

Carl

Lachtaube

Carl, ich befinde mich bereits im Vorruhestand, hatte vorher aber einige Jahre im Bereich Farben und Lacke und danach in der Vakuum-Beschichtungstechnik gearbeitet. Das Programmieren von Datenbanken (nicht nur Access und nicht nur unter VBA) betreibe ich als Hobby, damit das Gehirn keinen Rist ansetzt. :)
Grüße von der (⌒▽⌒)

MzKlMu

Hallo,
ich bin im Vollruhestand und war kein Programmierer.
Ich betreibe Access auch nur als Hobby und habe zu Hause für alles mögliche Datenbanken gemacht, egal ob es sinnvoll ist oder nicht. ;D

Gruß Klaus

Carl

Und ich bin im psychologischen Dienst und mache Access nebenbei, weil es sonst niemand auf sich nehmen will oder kann. Die schlimmste Katastrophe ist aus meiner Sicht, dass die Menschen gerade dann, wenn sie die besten beruflichen Erfahrungen haben und der Menschheit die wertvollsten Dienste leisten könnten - gerade dann alt werden und beruflich ausfallen. Schon klar, dass es nicht anders geht, aber das ist doch wirklich eine Ungerechtigkeit! Carl