Neuigkeiten:

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

Mobiles Hauptmenü

Datenblatt Formular- Auswahl vom Datum auf gleiche Datensätze automatisch ausfül

Begonnen von Tante, März 20, 2019, 22:44:33

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,

wenn Du schon die Fragen nicht beantwortest, bzw. kannst, dann musst Du mit dem folgenden Code selber klarkommen bzw. ihn (und das Formular) anpassen:


Sub Datum_Afterupdate()
Currentdb.Execute "Update tblDeineTabelle Set [Datum] =" & Format(Me![Datum],"\#yyyy-mm-dd\#") & "  Where Ort = '" & Me!Ort & "'",dbFailonError
End Sub
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Tante

Guten Abend,

@Franz, vielen Dank für den Code. Habe das in meinem Formular eingefügt und angepasst. Bekomme einen Laufzeitfehler 3061.
1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.

Ich möchte noch erwähnen das ich nichts verheimlichen möchte, es fehlt mir wissen um alle angeforderten Informationen im Forum zu teilen.
Mit einem kleinen Hinweis kann ich die gewünschten Infos teilen. Wäre super wenn es noch klappen würden.

Gruß Trama

DF6GL

Hallo,

poste (beschreibe) mal alles genau, was Du angepasst hast.  (Code mit C&P kopieren).

Die Fehlermeldung deutet darauf hin, dass es irgend ein Feld nicht gibt, bzw. nicht so geschrieben ist, wie es tatsächlich heißt. Es kann auch ein Formular-Feld "leer" sein, dann existiert es ebenfalls zu diesem Zeitpunkt nicht, bzw. enthält NULL (=undefiniert, keinerlei Wert) .


Prüfe also ob "Datum" und "Ort" in der Tabelle wirklich so lauten, ob die Formular-Steuerelementnamen übereinstimmen und auch nicht leer sind.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Tante

Hallo Franz,

anbei der angepasste Code. Die screenshots von den Tabellen füge ich auch mit ein.

Private Sub Datum_1_AfterUpdate()
CurrentDb.Execute "Update Datum Set [Datum 1] =" & Format(Me![Datum 1], "\#yyyy-mm-dd\#") & "  Where L6 = '" & Me!L6 & "'", dbFailOnError
End Sub

Gruß Trama

DF6GL

Hallo,

grausam..    ???


Benutze eine vernünftige (aussagekräftige) Benamsung!  Auch eine Tabelle mit "Datum" zu benennen ist eher sinnlos.

Vermeide DRINGEND Sonder- und Leerzeichen in eigenerstellten Objekt(nam)en.


"Sinnvollerweise" zeigst Du nicht die vollständigen Felder der Tabelle "Datum".  (Befindet sich "L6" in Tabelle "Datum" und welchen Datentyp hat das Feld?)


Vermutlich ist das Formularfeld "L6" leer (NULL) oder L6 gibt es nicht in Tabelle "Datum".
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Tante

Hallo Franz, mir war nicht klar das der Code in der Tabelle nach L6 (Filialnummer) sucht, ich ging davon aus das dass im Formular selber geschieht. Wieder was dazu gelernt das dass nicht funktioniert. Hab L6 in der Tabelle Datum eingefügt und nun funktioniert es. Vielen Dank!!!

Ich weiß das die Bezeichnungen grausam sind, jedoch kann ich das nicht beeinflussen.

Viele Grüße

Tante

Hallo,

ich habe eine neue Datenbank aufgesetzt und den Code oben benutzt um die Datumseinträge automatisiert in die Felder einzutragen. Als ich das damals gemacht habe hat es ohne Probleme funktioniert. Jetzt geht es zwar auch jedoch bekomme ich eine Popup Fenster mit Schreibkonflikt. Egal was ich dort Auswähle (Datensatz speichern/In Zwischenablage kopieren/Eigene Änderungen verwerfen) funktioniert der Eintrag wie er soll. Woran könnte es liegen das diese Meldung mit Schreibkonflikt nun erscheint? Hab alles mögliche gesucht werde aber nicht fündig. Hat da jemand eine Idee?

Gruß Trama

Beaker s.a.

Hallo Trama,
ZitatHat da jemand eine Idee?
Für mich deutet die Beschreibung auf ein falsch gewähltes Ereignis hin.
Der Code will ja alle DS aktualisieren, die den gegebenen Kriterien
entsprechen, - also auch den, den du gerade geändert (hast). Dieser
ist wahrscheinlich beim gewählten Ereignis noch nicht gespeichert, will
sagen, er befindet sich im Edit-Modus (Stift im DS-Markierer), was dann
den Schreibkonflikt auslöst.
1. das richtige Ereignis ist "Datumsfeld_AfterUpdate" (Nach Aktualisierung)
2. schreibe an den Anfang der Prozedur die Zeile
Me.Dirty = False
Damit wird der DS explizit gespeichert, und ist dann für das UPDATE nicht
mehr gesperrt.

gruss ekkehard
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)

Tante

Hallo Ekkehard,

Tausend Dank, funktioniert super!

Ich habe nun nur noch das Problem wenn ich das Datum löschen möchte (falls mal falsch ausgewählt wurde), dass eine Fehlermeldung erscheint "Laufzeitfehler 3144. Syntaxfehler in UPDATE- Anweisung. Wenn ich das noch gelöst bekomme bin ich mit meiner DB fertig.
Hoffe das ist einfach zu lösen, hast du hierfür auch eine Lösung?

Viele Grüße Trama

DF6GL

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Tante

Hallo Franz,

das sieht wie folgt aus:

Private Sub Datum_AfterUpdate()
Me.Dirty = False
CurrentDb.Execute "Update TBLKNummer Set [Datum] =" & Format(Me![Datum], "\#yyyy-mm-dd\#") & "  Where Filiale = '" & Me!Filiale & "'", dbFailOnError
End Sub

Gruß Trama

DF6GL

Hallo,

auf den ersten Blick sehe ich keinen Syntax-Fehler...

--Ist das Feld "Datum"  in der Tabelle TBLKNummer vom Datentyp Datum/Uhrzeit?
--Steht im Formularfeld "Me![Datum]" ein gültiges Datum?
-- Hat das Feld "Filiale" den Datentyp TEXT?

--Ist das Form evtl. an die Tabelle TBLKNummer gebunden?

Warum soll überhaupt das Datum aktualisiert werden?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Hallo,
@Franz
Zitat--Steht im Formularfeld "Me![Datum]" ein gültiges Datum?
Wahrscheinlich nicht, -
Zitatwenn ich das Datum löschen möchte (falls mal falsch ausgewählt wurde),

@Trama
Auf ein leeres Datumsfeld müsstest du im Ereignis "Vor Aktualisierung"
(VBA _BeforeUpdate) prüfen. Da kannst du eine korrekte Eingabe
erzwingen; - Abbruch des Speichervorgangs mit
Cancel = True
Oder du prüfst es in der jetzigen Prozedur vor dem UPDATE und unter-
drückst es oder verpasst ihm ein Standarddatum.
gruss ekkehard
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)