Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formel zu Komplex?

Begonnen von mio, Oktober 08, 2010, 13:52:56

⏪ vorheriges - nächstes ⏩

mio

Hallo,

kann mir jemand von euch helfen diese Formel für Access zu vereinfachen ???

=Wenn([Uhrzeit]<559;und([Uhrzeit]>500;Cluster5);Wenn([Uhrzeit]<659;und([Uhrzeit]>600;Cluster6); Wenn([Uhrzeit]<759;und([Uhrzeit]>700;Cluster7);Wenn([Uhrzeit]<859;und([Uhrzeit]>800;Cluster8); Wenn([Uhrzeit]<959;und([Uhrzeit]>900;Cluster9);Wenn([Uhrzeit]<1059;und([Uhrzeit]>1000;Cluster10); Wenn([Uhrzeit]<1159;und([Uhrzeit]>1100;Cluster11);Wenn([Uhrzeit]<1259;und([Uhrzeit]>1200;Cluster12);Wenn([Uhrzeit]<1359;und([Uhrzeit]>1300;Cluster13);Wenn([Uhrzeit]<1459;und([Uhrzeit]>1400;Cluster14);Wenn([Uhrzeit]<1559;und([Uhrzeit]>1500;Cluster15);Wenn([Uhrzeit]<1659;und([Uhrzeit]>1600;Cluster16);Wenn([Uhrzeit]<1759;und([Uhrzeit]>1700;Cluster17);Wenn([Uhrzeit]<1859;und([Uhrzeit]>1800;Cluster18);Wenn([Uhrzeit]<1959;und([Uhrzeit]>1900;Cluster19);Wenn([Uhrzeit]<2059;und([Uhrzeit]>2000;Cluster20);Wenn([Uhrzeit]<2159;und([Uhrzeit]>2100;Cluster21);Wenn([Uhrzeit]<2259;und([Uhrzeit]>2200;Cluster22); Wenn([Uhrzeit]<2359;und([Uhrzeit]>2300;Cluster23);

Schon mal Besten Dank

database

Ich gehe davon aus, dass du abhängig eines Feldeintrages, der einer Uhrzeit entspricht einem anderen Feld einen Wert (Clusterxx) zuweisen willst.

Wenn es so ist, dass die Urzeit praktisch in Form einer maximal 4 stelligen Zahl eingetragen wird, KANN der folgende Code helfen:


If Len(Me!Uhrzeit) = 3 Then
    Me!Zielfeld = "Cluster" & Left(Me!Uhrzeit, 1)
Else
    Me!Zielfeld = "Cluster" & Left(Me!Uhrzeit, 2)
End If


Versuch mal das in deinen Code einzubauen

Grüße
Peter

MzKlMu

Hallo,
ich hätte noch einen Einzeiler:  ;D

Me!Zielfeld = "Cluster" & Val(Left(Format(Uhrzeit, "0000"), 2))
oder als Steuerelementinhalt:
="Cluster" & Wert(Links(Format([Uhrzeit];"0000");2))

PS:
Man kann nur 7x Wenn verschachteln.
Gruß Klaus

bahasu

Hi

Geht denn nicht auch das Herausziehen der Stunde mit
... = Hour(Me!Uhrzeit)

Harald
Servus

MzKlMu

#4
Hallo,
nein, das geht in diesem Fall nicht, denn das ist ja keine echte Uhrzeit.
Eine echte Uhrzeit ist eine Kommazahl (Double) zwischen 0 und <1.
12:00 = 0,5, 18:00=0,75

Teste mal im Direktbereich:

?Hour(0.5)
12
?Hour(0.75)
18


Wenn mitHour dann so:
Hour(CDate(Left(Format(Uhrzeit, "0000"), 2) & ":" & Right(Format(Uhrzeit, "0000"), 2)))
Aber das ist noch länger.
Gruß Klaus


database

So ihr beiden 2

noch kürzer würde es dann noch sein auf die Uhr zu schauen und Clusterirgendwas selbst ins Feld reinzuschreiben

;D :D ;)

DF6GL

Hi,

und kurz und bündig ist, dieses Textfeld ganz wegzulassen, das braucht man eh nicht.    8)

bahasu

Zitat von: MzKlMu am Oktober 08, 2010, 17:38:00
Hallo,
nein, das geht in diesem Fall nicht, denn das ist ja keine echte Uhrzeit.

Das hatte ich übersehen.
Ich war von einer Deklaration von Std als date ausgegangen. S wurde mit hour () bestimmt.

Std   s
12:00:00   12
15:30:00   15

Harald
Servus

DF6GL

Hallo Harald,



es kann natürlich auch sein, dass Uhrzeit ein Feld vom Datentyp Datum/Uhrzeit ist. Dann stimmt allerdings nur Dein Vorschlag..  :)

(und meiner, dass man so ein Feld gar nicht braucht  ;D )

database

Hallo auch Harald,

dann würde der Eintrag in [Uhrzeit] aber auch nicht als 500, 558 oder 2134 erscheinen können - hmmmm?

bahasu

Servus

database

Na, na ...

kannst dich wieder entstauben - sooo schlimm wars ja auch wieder nicht!  ;D ;D ;D