collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 65
  • Punkt Versteckte: 2
  • Punkt Mitglieder: 3
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13910
  • stats Beiträge insgesamt: 65772
  • stats Themen insgesamt: 8873
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein  (Gelesen 896 mal)

Offline Walterio

  • Newbie
  • Beiträge: 5
Hallo

Suche nach einer Lösung zu "Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein". Mit folgendem Ausdruck erhalte ich "#Fehler":
=DomWert("[FeldX]";"[TabelleY]";"[DatumsfeldZ] = " & DomMax("[DatumsfeldZ]";"[TabelleY]";))
Auch =DomWert("[FeldX]";"[TabelleY]";"[DatumsfeldZ] = #" & DomMax("[DatumsfeldZ]";"[TabelleY]";) & "#")
bringt keinen venünftigen Wert.
Liegt es am Kombifeld? Am Ausdruck? Was ist falsch?
Danke für jeden Hinweis.
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1167
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #1 am: Oktober 31, 2017, 09:58:28 »
Code bitte immer in Code-Tags setzen - das verhindert die ;) und macht ihn lesbarer.

In Steuerelementinhalten kannst Du auf das Verketten von Zeichenketten weitestgehend verzichten, weil der Ausdrucksdienst auch in die Zeichenkette kuckt. Das Problem ist, dass das Datum im falschen Format ankommt. Es müsste im US- oder ISO-Format zwischen zwei Rauten stehen. Aber einfacher dürfte diese Herangehensweise sein.
=DomWert("FeldX";"TabelleY";"DatumsfeldZ=DMax('DatumsfeldZ','TabelleY')")
Grüße von der (⌒▽⌒)
 

Offline Walterio

  • Newbie
  • Beiträge: 5
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #2 am: Oktober 31, 2017, 11:13:39 »
Habe es nun so versucht:
=DomWert("FeldX";"TabY";"DatumZ=DomMax('DatumZ';'TabY';)")
--> Erfolglos!
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1167
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #3 am: Oktober 31, 2017, 11:26:31 »
Innerhalb der Zeichenkette des dritten Arguments darf kein übersetzter Name (aus DomMax wird DMax) verwendet werden, und als Argumenttrennzeichen müssen Kommata benutzt werden.
Grüße von der (⌒▽⌒)
 

Offline Walterio

  • Newbie
  • Beiträge: 5
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #4 am: Oktober 31, 2017, 11:40:07 »
Nochmals Danke, aber... es hat nicht geholfen.
(Das mit der Sprache ist ja sowieso ziemlich dämlich, oder?)
(und was hängt an der Wand etc? Pendel-, Wand-, Kuckucksuhr gehen alle nicht! >:( )
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1167
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #5 am: Oktober 31, 2017, 11:51:37 »
Den Kopf in den Sand stecken, ist völlig unangebracht - zumal Du schon parallel diskutierst.
=DomWert("FeldX";"TabY";"DatumZ=DMax('DatumZ','TabY')")
Grüße von der (⌒▽⌒)
 

Offline Walterio

  • Newbie
  • Beiträge: 5
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #6 am: Oktober 31, 2017, 12:12:40 »
ich weiss, parallell ist nicht koscher, stehe aber sehr unter Druck... Hoffe mehrere kluge Köpfe finden eher eine Lösung als ein kluger Kopf, oder?
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1167
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #7 am: Oktober 31, 2017, 12:22:02 »
Jeder, der in Foren Fragen stellt, verspürt vermutlich einen Drang zu einer schnellen Lösung seines Problems. Bei herrschendem Weltuntergang hätte ich Verständnis dafür - anderenfalls würde ich die zutage gelegte Fragestrategie bei einem Wissenden als ziemlich egoistisch einschätzen.

Wenn aber die Dringlichkeit so hoch ist, dann bastele ein Minimalbeispiel und lade es in einem der Foren hoch.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: Walterio

Offline Walterio

  • Newbie
  • Beiträge: 5
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #8 am: Oktober 31, 2017, 12:33:29 »
ok, ok! Ich melde mich wieder, wenn wider aller Hoffnung immer noch keine Lösung gefunden wurde. Danke trotzdem und auf ein anderes Mal.

Und das mit der Uhr?
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1167
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #9 am: Oktober 31, 2017, 12:56:58 »
Dann kommt hier ein funktionierendes Beispiel.
Grüße von der (⌒▽⌒)
 

Offline Frithjiof

  • Access-User
  • *
  • Beiträge: 74
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #10 am: November 01, 2017, 19:45:55 »
Dann kommt hier ein funktionierendes Beispiel.

Das Problem scheint die Darstellung des Datums zu sein. Wenn es sich um Datumsfeld handelt müsste das Kriterium folgendes Format aufweisen "DatumMessung=#1/1/2017#"

Damit ergebe sich folgende Syntax:

=DomWert("STTId";"[DAT02-SST]";"DatumMessung=#" & Format(DomMax("DatumMessung";"[DAT02-SST]");"tt/mm/jjjj") & "#")
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1167
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #11 am: November 01, 2017, 19:56:10 »
 Frithjiof,

warum zitierst Du denn meinen Beitrag? Ist das Beispiel im Anhang fehlerhaft?
Grüße von der (⌒▽⌒)
 

Offline Frithjiof

  • Access-User
  • *
  • Beiträge: 74
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #12 am: November 02, 2017, 10:58:29 »
Hallo Lachtaube,
Frithjiof,

warum zitierst Du denn meinen Beitrag? Ist das Beispiel im Anhang fehlerhaft?

Tschuldigung, eigentlich wollte ich den Beitrag über Deinen zitieren und den Crosspost
http://www.ms-office-forum.net/forum/showthread.php?t=346991
auch hier beantworten.


Dein Beispiel habe ich gestern nicht gesehen. Es funktioniert und zeigt  sehr schön wo das Problem ist.

Du: DomWert("txt";"t";"dt=DMax('dt','t')")

Ich: DomWert("txt";"t";"dt=#" & Format(DomMax("dt";"t");"tt/mm/jjjj") & "#")

Es ist diese verfluchte Zweisprachigkeit von Access, die einen an den Rand der Verzweiflung bringen kann.
Die DomMax-Funktion ist die deutsche Variante von dMax. Ihr Ergebnis ist vermutlich ein Datumsstring der als Filterkriterium ungeeignet ist da er das falsche Datumsformat aufweist.
In Deiner Variante wird das  Filterkriterium komplett in der Originalsprache geschrieben, dadurch passen die Datentypen automatisch.

Die komplette Anweisung in Originalsprache wäre
DLookUp("txt","t","dt=DMax('dt','t')")
… funktioniert aber nicht.
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1167
Re: Standardwert in Kombifeld soll aus neuestem Satz einer Tabelle sein
« Antwort #13 am: November 02, 2017, 11:37:24 »
Die Funktion DMax liefert einen Datumswert bzw. Null (dieser Fall wird von Euch gar nicht berücksichtigt und führt zu einem Fehler), wenn nichts gefunden wird. Bis hierhin kein Problem. Erst dann, wenn der ausgewertete Datumswert zur Anzeige gebracht wird - und das wird im anderen Forum, vom Fragesteller und von Dir hier aufgeführt, entsteht daraus ein lesbarer Text in der Sprache, die für Datumsausgaben in der Windows Systemsteuerung angegeben ist. Ab jetzt hättet ihr es mit einer Zeichenkette zu tun, welche vom Ausdrucksdienst nur richtig ausgewertet werden kann, wenn diese Zeichenkette zwischen zwei Rauten (Doppelkreuzen) steht und im US- oder ISO-Format vorliegen. Das nächste Problem stellt die Format-Funktion dar, die einen Slash (/) in das eingestellte Datumstrennzeichen wandelt, welches bei uns hierzulande i.d.R. der Punkt (.) ist. Die Slashes müssen also markiert (escaped) werden, damit die Format-Funktion sie nicht umwandelt.

Erkenntnisse darüber schwirren bestimmt schon 20 Jahre im Internet und werden in regelmäßigen Abständen in deutschsprachigen Access-Foren erfragt.

Wenn man also zur Textzusammenschiederei neigt (ich mache das nur, wenn es nötig ist - und das ist es hier nicht), sollte zuDomWert("txt";"t";"dt=#" & Format$(DomMax("dt";"t");"mm\/tt\/jjjj") & "#")oder zuDomWert("txt";"t";"dt=" & Format$(DomMax("dt";"t");"\#mm\/tt\/jjjj\#"))oder zuDomWert("txt";"t";"dt=" & Format$(DomMax("dt";"t");"\#yyyy-mm-tt\#"))oder auch (vermutlich ohne Indexnutzung)DomWert("txt";"t";"Int(dt)=" & Int(DomMax("dt";"t")))oder ähnlichen gültigen Ausdrücken greifen.
Grüße von der (⌒▽⌒)