Neuigkeiten:

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

Mobiles Hauptmenü

IF-Anweisung

Begonnen von Juno, Oktober 27, 2010, 14:17:23

⏪ vorheriges - nächstes ⏩

Juno

ich habe in einem Feld eine Liste von Zahlen. Also so 9100000, 8100000. Diese Zahlen können sich immer ändern.
Jetzt bräuchte ich eine If-Funktion die in etwa so aussehen würde:

If Feld... = "81*" or Feld... = "71*" then
....

Kennt ihr eine Lösung?

Hondo

Hallo,
verwende dazu die left() Methode.
if left(Feld,2) = 81 Or left(Feld,2) = 71 Or left(Feld,2) = 99 then
.....
End if

Juno

Hallo Hondo,

danke, aber ich glaube ich habe mich falsch ausgedrückt.

Ich muss immer die ersten 2 Zahlen jedes Eintrages in der Liste durchsuchen.

Beispiel:
Feld = 8100000,9100000

If Feld = 91 then ...

In diesem Fall hätte er mir sagen müssen, dass dort eine 91 enthalten ist.

Jonny

Hallo,
versuche es mal mit if Feld like '*91*'
mit like macht man eine Teilwertsuche.

DF6GL

#4
Hallo,


... like '*91*'
findet 91 irgendwo im Text, außerdem müssen Gänsefüße benutzt werden.


wenn, dann so:

... like "91*"


Hier müssen auch  Gänsefüße  dazu:
if left(Feld,2) = "81" Or left(Feld,2) = "71" Or left(Feld,2) = "99" then


Wenn man es genau nimmt, sollte die Zahl, so es sich denn bei den Feldern (oder Variablen) um diesen  Datentyp handelt, in Datentyp Text gewandelt werden:

if left("" & Feld,2) = "81" Or left("" & Feld,2) = "71" Or left("" & Feld,2) = "99" then
oder auch:
if left(CStr(Feld),2) = "81" Or left(CStr( Feld),2) = "71" Or left(CStr( Feld),2) = "99" then





PS:  habe das (vor) letzte Posting nochmal gelesen, aber nicht schlauer geworden, was nun wirklich Sache ist....

Jonny

Hallo Franz,
näturlich Gänzefüßchen und keine Hochkomma.

So wie ich das verstanden habe besteht ein String mit Zahlen durch Komma getrennt.

Mal sehen was Juno dazu sagt.

PS. Ich habe den Baumenschen, der beleidigt abgehauen ist, auch geschrieben. Was meinst Du kriegt der das irgendwie gebacken?

DF6GL

Hallo Jonny,

ja, hab ich gelesen    :)

Nun, das ist so einer, der Kritik (oder auch nur Einwände/Hinweise ) an seiner DB als persönliche Beleidigung auffaßt und nicht um die Sache diskutieren kann. Wenn er Rat nicht annehmen will, aus welchen Gründen auch immer, muß er halt mit den Schlaglöchern leben und sich nicht wundern, wenn es im Rücken weh tut.  (Es ist ja nicht meiner..  ;D  )

Juno

#7
Also nochmal:
Ich habe ein Feld in dem Zahlen hintereinander aufgelistet sind.
Beispiel:
- 8100000, 9100050, 7100200
- 9100005, 7100008, 5100605
- 6100091, 4100050, 3100000

Immer nur die ersten 2 Ziffern aus jeder Zahl sind für meine IF-Anweisung relevant.

In der IF-Anweisung soll nach 91 gesucht werden. Dann wäre das richtige Ergebenis in Beispiel 1 und 2 ist 91 enthalten. Bei Beispiel 3 ist zwar auch eine 91 enthalten aber nicht in den ersten zwei Ziffern der Zahl.

Ich habe es jetzt mal so probiert, aber ohne Erfolg:

If vk_vorlage Like "91*" Or vk_vorlage Like ", 91*" Then
MsgBox "Richtig"
Exit Sub
End If


Inhalt des Feldes vk_vorlage ist:41000024, 91000002,

Juno

Vielen Dank für eure Hilfe soweit aber ich gehe jetzt einen anderen Weg um das erwünschte Ziel zu erreichen.

database

Hallo,

du brauchst nicht die Flinte gleich so weit ins Korn schmeissen ...

KOPIER dir das mal in deine Applikation und versuchs damit.   ;)


If vk_vorlage Like "91*" Or vk_vorlage Like "*, 91*" Then
    MsgBox "richtig"
Else
    MsgBox "nicht richtig"
End If


Wahrscheinlich gibts einen speziellen Grund, warum die Zahlen als Text in 3-er Gruppen in einem Tabellenfeld stehen und nicht als Zahl in einer Spalte geführt werden ...

Grüße

Peter