Neuigkeiten:

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

Mobiles Hauptmenü

Excelformel für Steuerelementinhalt ändern

Begonnen von robsonlele, September 17, 2012, 14:17:52

⏪ vorheriges - nächstes ⏩

robsonlele

Hallo an alle,

ich habe ein kleines Problem. Ich möchte gerne eine Formel aus Excel im Access nutzen. Bei der Formel handelt es sich um

=WENN(UND(ODER(Typ=22;Typ=33);ODER(Bauhöhe=300;Bauhöhe=400));0;2)

das heißt ich möchte sagen, wenn Typ 22 oder Typ 33 Und Bauhöhe 300 oder 400 dann Wert 0 sonst 2.

Tüftel jetzt schon seit zwei Stunden im Access herum, um in einem Formular  in einem Kombinationsfeld unter Steuerelementinhalt diese Formel einzufügen. Aber wenn ich das so eingebe wie im Excel, dann kommt Syntaxfehler.

Hoffe jemand versteht was ich meine und noch mehr hoffe ich das diese Person mir helfen kann. :-D

Danke schonmal im Voraus für eure Hilfe

Mfg Robby

C4RL0

Hallo robsonlele ,

ich vermute Du meinst sowas in der Art?

If (Typ = 22 Or Typ = 33) And (Bauhöhe = 300 Or Bauhöhe = 400) Then
    '0
Else
    '2
End If

_____________________________
Gruß
Carlo

Stapi

Hallo Robi

Willkommen hier im Forum.
Mit einem Kombifeld wird das so nicht gehen.
Gibt es ein Feld in deinem Formular mit der Bezeichnung "Type" und "Bauhhöhe" ?
und wo in welchen Feld soll der Wert "0" oder "2" eingetragen werden.
Grüße aus dem schönen NRW
Stefan

robsonlele

Hallo Stapi und C4RLO,

erstmal danke für die schnelle Antwort.
Ja in dem Formular gibt es je ein Feld mit der Bezeichnung "Lagigkeit" (Typ) und ein Feld mit der Bezeichnung "Bauhöhe".
Der Wert "0" oder "2" soll in einem anderen Feld auf dem Formular erscheinen, als Grundlage für eine weitere Formel.
Ich hab vorher ein Feld eingefügt wo ich nur

WENN((Bauhöhe)=300;6;)
...
eingegeben habe. Das ging einwandfrei. Jetzt weiß ich aber nicht wie ich das mit den Operatoren Und und Oder machen muss und wo die hinkommen.

robsonlele

Die andere Formel sah quasi so aus:

=Wenn(([Kombinationsfeld355])=300;6;Wenn(([Kombinationsfeld355])=400;8;Wenn(([Kombinationsfeld355])=500;12;Wenn(([Kombinationsfeld355])=550;14;Wenn(([Kombinationsfeld355])=600;14;Wenn(([Kombinationsfeld355])=700;18;Wenn(([Kombinationsfeld355])=900;22)))))))

Jonny

Hallo,

Textfeld mit:
=Wenn((Lagigkeit = 22 oder Lagigkeit = 33) und (Bauhöhe = 300 oder Bauhöhe = 400);0;2)

Gruß

Johann

Stapi

Hallo

Unter Eigenschaft des Feld z.b "Type" gibt es die Möglichkeit "Nach Aktualiesieren" eine Ereignisporzedur per VBA Code auf zurufen. In dem du den Code von Carlo als Beispiel einfügen kannst. Per Vba wird dann der Wert deiner Eingabe geprüft und die "0" oder "2" in dein anderes Feld automatisch eingetragen.
Grüße aus dem schönen NRW
Stefan

robsonlele

#7
Danke für die Tipps! Werde sie morgen früh auf Arbeit gleich probieren ( jetzt hab ich erstmal Feierabend :-D) und mich dann morgen nochmal melden, mit hoffentlich positiver Antwort meinerseits! :-D

Also nochmals danke an alle für die Ratschläge, ohne euch würde ich das nie hinkriegen!


robsonlele

Guten morgen an alle,

also mit der Formel von Jonny funktioniert das jetzt super. Ich hab nur noch ein kleines Problem, wenn die Lagigkeit 21S ist, dann gibt er mir ne Fehlermeldung und gibt keinen Wert an.
Bei allen anderen Lagigkeiten funktioniert es aber. (10,11,20,22,30,33)
Habe das Gefühl das es an dem S liegen könnte? Weiß aber nicht wie ich das jetzt wieder hinbekomme. :-D

danke schonmal im voraus für eure Hilfe

Mfg Robby


bahasu

Hi,

das liegt am Mischen von Zahlen und Text (21S).

Versuch mal:
=Wenn((Lagigkeit = 22 or Lagigkeit = '21S' oder Lagigkeit = 33) und (Bauhöhe = 300 oder Bauhöhe = 400);0;2)

Harald

Servus

robsonlele

Hallo Harald,

danke für die schnelle Antwort.
So hatte ich mir das auch schon ungefähr gedacht, problem ist nur das Lagigkeit 21S immer die 2 annehmen soll. also müsste das ja in nen anderen term rein, oder?


bahasu

hi,

versuch mal den Einsatz von str:
=Wenn((str(Lagigkeit) = '22' oder str(Lagigkeit) = '33') und (Bauhöhe = 300 oder Bauhöhe = 400);0;2)

Harald

Servus

robsonlele

hi,

funktioniert kommischerweise auch nicht.

Merkwürdig :(

Robby

Jonny

Hallo Robby,

versuch mal:
=Wenn((Lagigkeit = 22 oder Lagigkeit = 33) und (Bauhöhe = 300 oder Bauhöhe = 400) oder Lagigkeit = '21S' ;0;2)

Gruß

Johann

robsonlele

Hallo Johann,

funktioniert leider auch nicht. Glaub langsam sind alle am Ende ihres Lateins angekommen. :-D

Gruß Robby