[Access 97] Standardwert eines Textfeldes aus Abfr

Hallo Leute,

Ich möchte den Standardwert eines Textfeldes aus einer Abfrage auslesen (a la „SELECT MIN(Datum) FROM Startdatum“). Wenn ich es aber z.B. mit ‚=„SELECT MIN(Datum) FROM Startdatum“‘ in den Eigenschaften versuche, bekomme ich nur die „#Fehler“. Hat irgendwer eine Ahnung, wie ich das hinbekomme?!?
Merci,
Pürsti

Hallo,

mit SQL kannst Du die Daten auslesen.

Für den Standardwert brauchst Du die Eigenschaft DefaultValue (mit VBA auslesen).

ujk

Hallo ujk,

Danke für die Antwort. Nur ist mir zur Zeit nicht alles klar:

mit SQL kannst Du die Daten auslesen.

Wie meinst Du das?

Für den Standardwert brauchst Du die Eigenschaft DefaultValue
(mit VBA auslesen).

Also, ich bin ein völliger Access-DAU. Ich hab da ein Formular in Entwurfsansicht. In den „Eigenschaften“ des Textfeldes gibt es in der Rubrik „Daten“ den „Standardwert“. Hier kann ich z.B. ‚=Datum()‘ reinschreiben, um das heutige Datum zu erhalten. Nun möchte ich aber das Datum aus einer Abfrage auslesen. Diese Abrage heisst „StartDatum“ und hier möchte ich den minimalen Wert der Spalte „Datum“. Die SQL-Anweisung würde „SELECT MIN(Datum) FROM StartDatum“ lauten. Wie gebe ich aber das Ergebnis dieser Abfrage als Standardwert an?

Mfg,
Pürsti

Hi,

Nun möchte ich aber das Datum aus einer Abfrage
auslesen. Diese Abrage heisst „StartDatum“ und hier möchte ich
den minimalen Wert der Spalte „Datum“. Die SQL-Anweisung würde
„SELECT MIN(Datum) FROM StartDatum“ lauten. Wie gebe ich aber
das Ergebnis dieser Abfrage als Standardwert an?

In den Eigenschaften kannst du Funktionen, aber keine SQL-Anweisungen reinsetzen. Glücklicherweise gibt es die Domänenfunktionen DLookup, DMax, usw. Für dein MIN() paßt DMin wie die Faust aufs Auge:
= DMin(„Datum“, „StartDatum“)

Gruß

Sancho

1 Like

Danke fürs erste!
Leider kann ich heute nicht mehr testen. Falls es aber funktionieren sollte, reiche ich den Stern nach.

Gruss,
Pürsti

Fast richtig
Hi Sancho,

Statt

= DMin(„Datum“, „StartDatum“)

muss es

= DMin("Datum" **;**"StartDatum" )

heissen.

In der Online-Hilfe ist die Definition der Funktion zwar mit Beistrich (,) angegeben, aber weiter unten findet sich dann ein Beispiel, wo der Strichpunkt (:wink: verwendet wird. Und dann erhält man auch das gewünschte Ergebnis.

Nochmals herzlichen Dank und ein schönes Wochenende,
Pürsti

Mahlzeit,

über deinen Stern freue ich mich besonders, weil ich sonst nur welche bei den „fachfremden“ Brettern kriege :smile:

Statt

= DMin(„Datum“, „StartDatum“)

muss es

= DMin(„Datum“ ;„StartDatum“ )

heissen.

Jo, sorry, hab vergessen, dir das dazuzuschreiben. Access unterscheidet aus mir völlig unersichtlichen Gründen zwischen der Syntax der Makrosprache und der AccessBasic- bzw. VisualBasic-Syntax. Die Unterschiede sind klein, u.a. das Semikolon- bzw. Komma als Trenner zwischen Argumenten. Im Formular werden keine VB-, sondern Makrofunktionen verarbeitet.

Gruß

Sancho