collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 61
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 1
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13570
  • stats Beiträge insgesamt: 60064
  • stats Themen insgesamt: 8219
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Berechnetes Abfragefeld in ein Formularfeld übernehmen  (Gelesen 123 mal)

Offline Golfi

  • Newbie
  • Beiträge: 9
Hallo,
ich habe folgendes Problem:
In einer Auswahlabfrage wird ein "Rückgabedatum" erechnet.
Das macht Access auch ganz ordentlich und es funktioniert auch.
Das Rückgabedatum wird auch in der Datenblattansicht der Abfrage angezeigt und gespeichert.

Aber ich kann es nicht im Formular übernehmen und auch die Tabelle übernimmt es nicht.
Das Formular bezieht sich auf die Tabelle.

Ich habe mal ein Bild mit den jeweils vier Ansichten eingestellt, nur zum besseren Verständnis.
Ich weiß zwar, daß man Berechungen möglichst nicht in Abfragen erledigen sollte, habe aber keine Ahnung wie ich das sonst erledigen soll.
Soviel Ahnung habe ich im gebrauch von Access leider noch nicht.
Habe mir schon gedacht, ob man das nicht in VBA hinbekommt, aber habe nicht den leisesten Schimmer wie.

Hir mal die Berechnung, vielleicht kann mir ja jemand weiterhelfen.

(SELECT Min(Kalendertage.Tagesdatum) as rückgabedatum from kalendertage where (((kalendertage.tagesdatum)>=([tabausleihen].[ausleihdatum])+21) AND ((kalendertage.WT)=5) AND ((kalendertage.Ferientag)=False)))
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22795
Re: Berechnetes Abfragefeld in ein Formularfeld übernehmen
« Antwort #1 am: Mai 28, 2017, 09:47:06 »
Hallo,

ein Kriterium, bzw. berechnetes Feld in einer Abfrage wird (kann ) nicht in der zugrundeliegenden Tabelle gespeichert (werden).  Die "Datenblattansicht" ist auch nur das Ergebnis der Abfrage.

Wenn Du das berechnete Feld im Formular anzeigen willst, dann binde das Form an die Abfrage und nicht an die Tabelle, sowie ein Form-Textfeld an das entsprechende Abfragefeld.


Solche Berechnungen in einer Abfrage sorgen für eine "Nichtaktualisierbarkeit"  der Datensätze und
demzufolge funktioniert auch kein Edit im Formular.

Als (eine) Alternative zur Berechnung in der Abfrage können die Domänenaggregatsfunktionen verwendet werden, in diesem Fall die DMIN()-Funktion (DomMin()) im Steuerelementinhalt eines Textfeldes. Schau dazu in die VBA-Hilfe....

Vermutlich ist aber eine kleine (Public-)VBA-Funktion in diesem Fall angebracht, die eben das Rückgabedatum anhand der Kriterien berechnet und die an allen Stellen aufgerufen werden kann, an denen das Rückgabedatum gebraucht wird.


Offline Golfi

  • Newbie
  • Beiträge: 9
Re: Berechnetes Abfragefeld in ein Formularfeld übernehmen
« Antwort #2 am: Mai 28, 2017, 09:51:36 »
Vielen Dank für die Antwort. Dann werde ich mich mal weiter durchkämpfen.
Leider bin ich noch nicht so fit in Access.
Vielleicht ist ja jemand so nett und setzt mir die SELECT-Formel so um, das ich sie im VB gebrauchen kann.
Daraus kann ich dann eventuell das Wie und Warum herausklabüstern und so etwas lernen. ::)

« Letzte Änderung: Mai 28, 2017, 10:01:10 von Golfi »