Neuigkeiten:

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

Mobiles Hauptmenü

bestimmten Wert aus Textfeld auslesen und zählen

Begonnen von tbarnstorf, März 10, 2013, 10:23:27

⏪ vorheriges - nächstes ⏩

tbarnstorf

Hallo,
ich habe ein Problem und komme damit irgendwie nicht weiter.
Ich habe ein Textfeld, wo diverse Nachnamen drinstehen die mit Komma separiert sind.
Nun möchte ich gerne wenn z. B. Nachname1 und Nachname2 auftauchen in diesem Textfeld, dass diese gezählt werden.
Also:
Im Textfeld steht folgender Wert:
Nachname1, Nachname2, Nachname3 usw.
In einem anderen Feld sollte dann berechnet werden, dass Nachname1 und Nachname2 dort vorhanden sind und eine 2 drinsteht.
Steht in dem Textfeld nur "Nachname3, Nachname4 usw", dann soll 0 darin stehen.
Geht das irgendwie? Ich hoffe ihr könnt mir helfen.
Danke Gruß Tobi

MzKlMu

Hallo,
hier solltest Du eher über eine Änderung der DB nachdenken, zumal Dein Vorhaben gar nicht so einfach ist.
Eine Datenbank kommt mit mehreren Einträgen in einem Feld nicht zurecht, weil das gegen die Normalisierungsregeln für ein Datenbank verstößt.

Für die Namen ist eine extra Tabelle notwendig, jeder Name ein Datensatz, nur dann kannst Du die Vorkommen auf eine einfache Art zählen.

Warum sind da mehrere Namen in einem Feld, durch Komma separiert?
Erkläre mal die Zusammenhänge, möglicherweise gibt es ja eine viel einfachere Lösung.
Kannst Du die DB noch ändern?
Gruß Klaus

tbarnstorf

Nein, da kann ich nichts mehr ändern.
Es geht um eine Dienstaufstellung. Da werden im Prinzip alle Namen angezeigt die an einer bestimmten Position Dienst haben.
Das kann von Dienst zu Dienst varieren. Ich möchte da einfach zwei diverse Namen zählen, weil ich am Ende der Dienstaufstellung
eine Zählung aller diensthabenden habe. Dort wir unterschieden zwischen Chefs und "arbeitendem Volk".
Sieht dann im Prinzip so aus. 5/2/7
Mir muss es also nur gelingen die zwei Namen separat zu zählen...

MzKlMu

Hallo,
das Datenmodell ist absolut falsch. Hier wäre dringend eine Änderung anzuraten. Es ist eine weitere Tabelle erforderlich, in der die Diensthabenden als Datensätze abgelegt werden. Es ist sogar noch eine Tabelle erforderlich für die Funktion der Person. Dann kannst Du völlig problemlos zählen und dabei auch die Funktionen unterscheiden.

Mit dem jetzigen Aufbau wird das ein ziemlicher Aufwand, der nur über VBA gelöst werden kann.
Als Lösung würde mir nur einfallen, die Namen im Feld zu separieren und in eine temp. Tabelle als Datensätze zu schreiben, wobei Du dann wieder bei dem vorgeschlagenen Aufbau bist.

Access (eine Datenbank) erwartet korrekt angelegte Tabellenstrukturen, mit falschen Aufbauten kommt Access nicht zurecht, weil es dann keine fertigen Funktionen gibt.
Gruß Klaus

database

#4
Hallo,

ungeachtet der Informationen von MzKlMu, die du unbedingt übedenken UND beachten solltest ...

Erstelle ein Textfeld auf dem Formular und füge diesem als Steuerelementinhalt ein:

=Wenn(InStr(1;[NName];"Name1";1);1;0)+Wenn(InStr(1;[NName];"Name2";1);1;0)

wobei  [NNme] ist das Formularfeld in dem die Namen stehen,   "Name1" und "Name" sind deine Suchbegriffe.

HTH

tbarnstorf

Ja, das habe ich berücksichtigt und der andere Befehl war der den ich gesucht habe.
Danke für Eure Hilfe