Office: (Office 2016) Prüfung auf Buchstaben

Helfe beim Thema Prüfung auf Buchstaben in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Abend, suche eine Möglichkeit eine Eingabe zu überprüfen, ob die ersten beiden Zeichen nur aus Buchstaben bestehen, wobei auch "ä, ö, ü, ß"... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von deddy, 11. Oktober 2017.

  1. Prüfung auf Buchstaben


    Guten Abend,
    suche eine Möglichkeit eine Eingabe zu überprüfen, ob die ersten beiden Zeichen nur aus Buchstaben bestehen, wobei auch "ä, ö, ü, ß" erlaubt sein dürfen.
    Deddy

    :)
     
  2. Hallo möglich das Du in meiner Doc s. Fusszeile unten rechts
    10.16.1 Zahle/Text oder Text/Zahlen Aufteilen (separieren / spliten)
    Seite 262
    10.16.2 Buchstaben (Keine Zahlen/Wunsch Zeichen) aus String
    10.16.3 Entferne ein Zeichen an gew. Position und ersetzt es durch 1 – n Zeichen
    beide Seite 263
     
    Lanz Rudolf, 13. Oktober 2017
    #2
  3. Hallo,
    haben diese Buchstaben eine Bedeutung, oder werden die willkürlich festgelegt?
     
    gpswanderer, 13. Oktober 2017
    #3
  4. Prüfung auf Buchstaben

    Mit einem Regulären Ausdruck in einer Funktion könnte man die Anforderung bewältigen. Code:
    CharType - Zeichen-Gruppe bestimmen leistet das selbe und müsste auf die ersten beiden Zeichen angewendet werden. Vermutlich ist die Schwider'sche Methode etwas schneller - aber dafür aufwendiger zu programmieren.
     
  5. Guten morgen,
    vielen Dank für die Hilfe. Ist das was ich gesucht habe.

    @gpswanderer. Die Buchstaben haben eine Bedeutung und können auch bedingt willkürlich festgelegt werden.
    Kurze Erklärung. Habe mir eine Datenbank geschrieben, in der ich alle Teile für meine Modelleisenban registriere. Dabei werden die Teile über einen Primärschlüssel gelistet. z. Bsp. fa-123456__1. Dabei stehen die ersten beiden Buchstaben für einen besimmten Hersteller. Hier fa = Firma FAller. Danach folgt das "-", dann die Bestell-Nr. der Firma und hinter den beiden "__" eine Zählnummer. Wäre ja soweit auch ganz einfach zu überprüfen ob Firmenname und zugehöriges Kürzel übereinstimmen. Jetzt kommt das "aber", es kann ja auch vorkommen dass ein neuer Hersteller hinzukommt, dann müssen die beiden ersten Buchstaben neu vergeben werden. Ich habe zwar mittlerweile einen Automatismus, welcher die beiden Buchstaben so vergibt, dass sie nicht zweimal vorkommen. Aber wenn das nicht gefällt, kann man dies manuell ändern und da man sich schnell vertippt, soll dann da diese Überprüfung stattfinden. Die Zählnummer (__1) wird auch automatisch vergeben und da muss das erste Zeichen eine Zahl sein. Aber diese Überprüfung ist mit IsNumeric recht einfach.
     
  6. Hallo,
    die Buchstaben gehören in die Tabelle mit den Herstellern.
    Und diese Buchstaben sind in einem extra Feld zu speichern.
    Deine Bezeichnung (fa-123456__1) wird so nicht gespeichert, sondern nur in einer Abfrage zusammengesetzt.
    Nach Auswahl des Herstellers stehen dann auch die Buchstaben fest und können in der Abfrage verwendet werden.

    Auf diese Art und Weise können nur gültige Hersteller mit den Buchstaben gewählt werden. Auch neue Hersteller sind ganz einfach zu integrieren. Jegliche Prüfung der Buchstaben entfällt, da eine falsche Auswahl nicht möglich ist. Auch das Hochzählen der Zählnummer wird einfacher, da es dann nur ein reines Zahlenfeld ist.
    Dein jetzige Feld mit deiner Bezeichnung ist also in 3 Felder aufzuteilen. Das Buchstabenkürzel, die Bestellnummer und den Zähler. Aus deisen 3 Feldern wird dann Deine Bezeichnung gebildet. Per Verkettung aber nur in einer Abfrage.

    Das Speichern des Feldes mit dem Buchstaben verstößt bereits gegen die 1. Normalform (atomare Inhalte).

    Ein solches Feld (fa-123456__1) ist auch als Primärschlüssel ungeeignet. Ein reines Zahlenfeld (Autowert) wäre hier besser.
    Wenn Du meinem obigen Vorschlag folgst, geht das ohnehin nicht mehr als Primärschlüssel. Wenn man über die HerstellerId, die Bestellnummer des Herstellers und den Zähler einen zusammengesetzten eindeutigen Index legt, wird von Access automatisch ein Duplikat verhindert, wie beim Primärschlüssel.

    Du wärest gut beraten, wenn Du die DB umbauen würdest.
     
    gpswanderer, 13. Oktober 2017
    #6
  7. Hallo gpswanderer,
    es ist so wie Du gesagt hast. Es gibt eine Tabelle Hersteller, in der das Kürzel der Primärschlüssel ist, und so eindeutig dem Namen des Herstellers zugeordnet ist.
    Wie gesagt das Problem tritt nur auf, wenn ein neuer Hersteller eingefügt wird.
    In meinem Programm gibt es viele Tabellen für verschiedene Dinge, z Bsp. für Schienen- oder Strassenfahrzeuge, und in diesen ist der Ausdruck "fa-123456__1" der Primärschlüssel. Das funzt, seit Jahren, einwandfrei ohne Probleme, bin nur gerade dabei Feinheiten einzubauen, bin nämlich zur Zeit krankgeschrieben und darf nach einer Fuss-OP nicht soviel herumlaufen. Habe deswegen genügend Zeit um solche Sachen zu programmieren.
    Dies erfolgt folgendermassen, wird ein Hersteller mit kompletten Namen in das Herstellerfeld eingegeben (hier "Faller") dann fügt das Programm in dem ID-Feld automatisch das zugehörige Kürzel (hier "fa-")ein.
    Umgekehrt wird bei Eingabe in das ID-Feld (hier fa-123456__1) automatisch der Name des Herstellers in das Herstellerfeld (hier "Faller") eingefügt. Sollten jedoch die beiden ersten Zeichen im ID-Feld keinem Hersteller aus der Tabelle (Hersteller) zugeordnet werden können, so kann es sich um einen neuen Hersteller oder eine Fehleingabe handeln. Dies wird abgefragt. Bei keinem Buchstaben handelt es sich also um eine Fehleingabe, andernfalls um einen neuen Hersteller.
     
  8. Prüfung auf Buchstaben

    Hallo,
    auch wenn es schon lange funktioniert hast Du das falsch angefangen. Das beginnt schon bei den Tabellen für die Dinge. Die gehören alle in eine Tabelle mit einem Schlüsselfeld für die Art der Dinge. Auch das Primärschlüsselfeld sollte es so nicht geben. Das ist in 3 Felder aufzuteilen. Wie bereits oben gesagt. Man hat bei der Erfassung eines Material (Ding) ein Kombi zur Auswahl des Herstellers. Gibt es einen neuen Hersteller wird das über das Ereignis "Bei nicht in Liste" des Kombis abgefangen und einen neuen Hersteller erfasst, der dann im Kombifeld steht.
    Dann trägt man die Bestellnummer des Herstellers ein, der Zähler wird dann automatisch hochgezählt.
    Das jetzige Primärschlüsselfeld wird dann nur zusammengesetzt in einer Abfrage:
    Code:
    Es könnte niemals falsch Buchstaben verwendet werden, ohne irgendeine Prüfung, ganz automatisch.
    Statt des jetzigen Primärschlüsselfeld wird eine Autowert verwendet. Das jetzige Feld mit der kompletten Bezeichnung ("fa-123456__1") wäre dann in der Tabelle zu löschen.

    Das wäre für eine Datenbank der richtige Weg. Aber vermutlich ist es für einen Umbau jetzt zu spät.
     
    gpswanderer, 14. Oktober 2017
    #8
  9. Hallo,
    also eins verstehe ich nicht ganz. Warum sollte dies falsch sein??
    Meine Datenbank ist so aufgebaut, dass die Software und Formulare in einer Datenbank zu finden sind und die Tabellen mit ihren Daten in erner Zweiten.
    Außerdem, wenn ich nur eine Tabelle verwenden würde für ein "Material", hätte ich eine Tabelle mit über 100 Spalten und das wäre mir viel zu unübersichtlich. Schließlich hat eine Lokomotive andere Parameter als eine LED.
    Die Eingaben und die Plausibilitätsprüfungen erfolgen ausschließlich über Formulare. Ausserdem ist der Primäschlüssel in jedem Fall immer nur einmal vorhanden, denn bei Eingabe eines vorhandenen wird der "Speicherbutton" ausgeblendet und ein "Edit-Speicher-Button" eingeblendet. Gleichzeitig werden alle Felder des Formulars ausgefüllt und man auf einen Blick sieht was sich hinter dem Schlüssel verbirgt.
    Und nicht vergessen, dies ist eine Datenbank für Privat.
     
  10. Sorry, Deddy, aber Du hast es nicht verstanden, was Klaus Dir vermitteln wollte. Auch ich bin ein langjähriger Modellbahner und kann Klaus nur zustimmen. Auch wenn eine Datenbank "privat" ist kann sich der Privatmann mit einem durchdachten Datenbankmodell so manche Problematik ersparen. (Deine Fragestellung wäre mit einem guten Datenbankmodell nie aufgetaucht.)
    Umbauen würde ich die Datenbank jetzt auch nicht mehr, es sei denn, der Ehrgeiz hat Dich gepackt, den Unterschied zwischen der privaten und der Expertenlösung zu erfahren. Und das immer wieder neu, mit jedem Teil, welches der Modellbahn hinzugefügt werden soll...
    Wünsche Dir weiterhin viel Freude mit der Modellbahn, es ist ein sehr schönes Hobby.
    P.S.: bin seit dem 6. Lebensjahr ein HO-Fahrer in der Gleichstrom-Welt, mittlerweile voll digitalisiert, auch die alten Dampfer wurden nachgerüstet.
     
  11. Hallo Elmar,
    kann sein dass ich dies nicht verstanden habe. Aber ich komme noch aus der Programmierwelt von Fortran77 und C++. Hatte also so gut wie nie mit einer Datenbank zu tun. Habe mir Access mit learning by doing beigebracht. Ich benutze die Datenbank eigentlich nur zum Abspeichern der Daten. Alles andere erfolgt über VBA. Könnte da genaus EXCEL benutzen. Ist aber um einiges umständlicher. Diese Datenbank war ehemals Excel und da wären Tabellen mit über 100 Spalten ziemlich unübersichtlich.
    Das mit den beiden Buchstaben am Anfang ist ja auch nur eine willkürliche Festlegung von mir. Es könnten genausogut irgendwelche beliebigen Zeichen sein. Trotzdem verstehe ich das mit einer Tabelle nicht, denn in einschlägigen Literaturwerken über Access wird empfohlen verschiedene Tabellen anzulegen.

    Ich bin gerade dabei eine Anlage mit Digital aufzubauen, aber auch hier muss ich erst noch Erfahrungen sammeln. Bin auch H0-Bahner und Kerwa- (Kirmes) Fan, deshalb gibt es auch eine grosse Kirmes auf meiner Anlage.
     
  12. Hallo Deddy,
    Das hat ja niemand gesagt das Du nicht Tabellen anlegen sollst! Klaus meinte das für jedes Ding "Lieferant", "Model", "Teil","Spur", eine Tabelle angelegt wird.. jede dieser Tabellen hat ein PK Feld mit einem Autowert der eben eine Zahl ist und nicht eine zusammengestellter Wert aus Buchstaben und Zahlen aus mehreren Tabellen.
    Wie schon Klaus erwähnt hat! Lies es doch in Ruhe nochmals durch vielleicht verstehst Du es dann besser )
    Ansonsten stelle doch einen Screenshot Deines Beziehungsfensters hier rein.. dann kann man sehen wie Du Deine Tabellen momentan erstellt und verlinkt hast...
    P.S. Auch wenn es schon einige Jahre funktioniert hat bedeutet es nicht das man es nicht verbessern könnte .) Und man kann mit Abfragen die DB doch auch noch mit nicht allzuviel Aufwand noch in die auf die richtige Bahn bringen .)
     
    Silentwolf, 14. Oktober 2017
    #12
  13. Prüfung auf Buchstaben

    Vielleicht habe ich so langsam kapiert, worauf man hinaus will. Aber hier haben die Tabellen untereinander überhaupt nichs, aber auch gar nichts, miteinander zu tun. Keine Beziehungen, Abfragen oder sonst was. Wird alles über die Software gesteuert und auch hier finden die Abfragen (auf SQL-Basis) statt. Und die Software hat mittlerweile fast 40000 Programmzeilen und da werde ich bestimmt nichts ändern.
     
  14. Hallo,
    dass die Datenbank privat ist, sollte Dich ja nicht hindern diese richtig aufzubauen.
    Da die Tabellen aus Excel stammen, sind diese mit ziemlicher Sicherheit ohnehin falsch aufgebaut. Man kann kein Exceltabellen einfach mal so nach Access packen das geht schief.
    Ich habe übrigens auch nirgends geschrieben, dass Du eine Tabelle machen sollst. Eine Tabelle mit 100 Spalten wäre in der Tat auch ungeeignet.
    Um Gegenstände mit unterschiedlichen Parametern zu erfassen, reicht eine Tabelle mit 4 Feldern.

    Tabelle Werterfassung:
    - Autowert (PK)
    - Fremdschlüssel zum Material
    - Fremdschlüssel zum Parameter
    - Wert des Parameters

    Um das ganze sehr einfach und komfortabel zu machen, macht man eine Zuordnungstabelle Parameter zu Art des Materials.
    - Autowert (PK)
    - Fremdschlüssel zu Materialart
    - Fremdschlüssel zum Parameter
    - Fremdschlüssel zur Einheit

    Daraus folgt, es ist eine Tabelle für die Art des Materials erforderlich (Lokomotiven, LEDs usw. je ein Datensatz mit PK natürlich).
    Weiterhin eine Tabelle für die Parameter (LüP, Länge, Stromaufnahme, Durchmesser, Achsfolge usw. alle vorkommenden Parameter).
    Außerdem noch eine Tabelle für die Einheit.

    Welcher Parameter für welche Art zutrifft wird in der Zuordnungstabelle festgelegt.

    Wenn nun ein neues Material erfasst wird, wird ja auch die Materialart festgelegt. Damit kann man vollkommen automatisch in die Tabelle für die Werterfassung alle zutreffenden Parameter eintragen lassen (Anfügeabfrage) und trägt dann nur den Wert ein.

    Eine solche Datenbank ist völlig flexibel, da ein neuer Parameter einfach ein neuer Datensatz ist. Füge mal bei Deinem Aufbau einen neuen Parameter ein, da muss allerhand geändert werden.
    Die ganze DB käme insgesamt nur mit wenigen Tabellenfeldern aus und VBA wird auch sehr wenig gebraucht.
    Ob Du den Aufwand betreiben willst musst Du wissen. Ich wollte hier nur mal beschreiben, dass es wesentlich einfacher aufzubauen ist. Und solche Prüfungen auf Buchstaben oder Zahlen erst gar nicht erforderlich sind, weil es gar keine andere Möglichkeit gibt.

    Ich hatte mal eine ähnlich aufgebaute DB für Betriebsgegenstände gemacht, muss mal sehen ob ich die finde.

    Habe die DB gefunden.
    Übersetzung:
    Code:
    Mit der BeispielDB könntest Du jederzeit weitere Merkmale (bei Dir Parameter) ergänzen, ohne an irgendeinem Objekt etwas ändern zu müssen.
     
    gpswanderer, 14. Oktober 2017
    #14
  15. Guten morgen
    Danke Klaus, für die DB, ich glaube ich habe Dich die ganze Zeit missverstanden. Es gibt eine Tabelle in der die Zuordnung Kuerzel zu Hersteller eindeutig zugeordnet ist. Dieses Kuerzel wird auch angezogen, sobald ich den Hersteller angebe. anschließend muss man die Bestell-Nr. eingeben, anschließend ermittelt das Programm die Zählnummer. D.h. diese ID-Nr. wird zusammengesetzt. Die Bedingung auf die ich hinaus wollte (2 Buchstaben am Anfang) bezieht sich nur auf die NEUanlegung eines Herstellers. Wenn ich also einen Herteller eingebe der nicht existiert, dann erfolgt eine NEUeingabe des Küezels, wobei dies auch automatisiert ist. Der erste Buchstabe ist dabei immer der Anfangsbuchstabe des Herstellers.Den Zweiten ermittelt das Programm indem es die nachfolgenden Zeichen durchgeht und den nächsten freien Buchstaben "VORSCHLÄGT". D.h. ich kann hier händisch eingreifen, wenn mir das nicht gefällt. Da man aber einen breiten Daumen haben kann, sollte hier die Überprüfung stattfinden.
    Genauso erfolgt der Weg umgekehrt. Gebe ich die ersten beiden Buchstaben in das ID-Feld ein, so wird überprüft, ob es dazu einen Hersteller gibt. Wenn nicht wird gefragt ob ein neuer Hersteller angelegt werden soll. Ist da bereits die Bedingung (2 Buchstaben am Anfang) nicht erfüllt so wird die ID-Nr. im ID-Feld gelöscht und die Prozedur mit neuen Hersteller nicht durchlaufen.
    Bsp.: Es gibt einen Hersteller HEKI => Kuerzel "he-".
    Neuer Hersteller HERPA => Kuerzel "hr-" als Vorschlag. Gefällt mir nicht.
    Meine Eingabe => "hp-".
    Überprüfung ob Kuerzel noch frei. Wenn nicht, neuer Vorschlag vom System "ha-". Natürlich könnten auch mal alle Kuerzel schon vergeben sein, aber soviele Hersteller gibt es in der Modellbahnwelt auch nicht mehr, werde mir aber vielleicht mal in Zukunft darüber Gedanken machen.
    Auch sind in der Datenbank Zuordnungen, in Form von Tabellen, vorhanden, wie Material, Einheiten usw. Ich hoffe mal ich habe mich einigermassen verständlich ausgedrückt.
     
Thema:

Prüfung auf Buchstaben

Die Seite wird geladen...
  1. Prüfung auf Buchstaben - Similar Threads - Prüfung Buchstaben

  2. Prüfung unterschiedlicher Zellen auf Inhalt und Konsequenz

    in Microsoft Excel Hilfe
    Prüfung unterschiedlicher Zellen auf Inhalt und Konsequenz: Hallo zusammen, ich habe einen Code, bei dem ich mehrere voneinander getrennte Zellen auf Befüllung prüfe. Wenn ich mindestens eine nicht befülle, erscheint eine Fehlermeldung und das Script...
  3. Mehrfache Wenn Prüfung

    in Microsoft Excel Hilfe
    Mehrfache Wenn Prüfung: Guten Morgen Ihr Wissenden, ich möchte die Excel "Wenn" Funktion nutzen und habe dabei mehrere Abfragen zu tätigen. Die Abfragen beziehen sich jedoch nicht nur auf eine Zelle sondern auf mehrere...
  4. Berechnung abhängig von unterschiedlichen Inventurdaten je Standort

    in Microsoft Excel Hilfe
    Berechnung abhängig von unterschiedlichen Inventurdaten je Standort: Ich habe für meinen Arbeitgeber eine Lager- und Bestandsführungstabelle pro Kalenderjahr erstellt, mit der wir Ein- und Ausgänge von persönlicher Schutzausrüstung dokumentieren, die bei uns auf...
  5. Prüfung ob Wert in Spalte mit Wert aus bestimmtem Bereich übereinstimmt

    in Microsoft Excel Hilfe
    Prüfung ob Wert in Spalte mit Wert aus bestimmtem Bereich übereinstimmt: Hallo zusammen, ich möchte, dass Excel prüft, ob der Text in Spalte H2 von Tabellenblatt 1 mit einem der Werte aus dem Bereich B2 bis B925 aus Tabellenblatt 2 übereinstimmt. Sofern dies der Fall...
  6. Prüfung ob Spalte leer

    in Microsoft Excel Hilfe
    Prüfung ob Spalte leer: Hallo alle zusammen, ich habe ein fast gut funktionierendes Marko zusammen gebastelt. Verschiedene Spalten werden mit Text in Spalten in tatsächliche Zahlen umgewandelt, in eine intelligente...
  7. Prüfung auf Tabellenwert erfolgt nicht

    in Microsoft Access Hilfe
    Prüfung auf Tabellenwert erfolgt nicht: Hallo, innerhalb einer DB "Sterbekasse" möchte ich in der Tabelle tblVersicherungen das Ja/Nein-Feld auf WAHR setzen, wenn der Anwender sich für eine von drei Optionen entscheidet, die ein...
  8. Bitte um Prüfung Datenbankmodells

    in Microsoft Access Hilfe
    Bitte um Prüfung Datenbankmodells: Guten Tag, ich habe ein ERD für ein Adressverwaltungsprogramm für VIPs erstellt. Ich wollte mal nachfragen, ob dieses mal jemand überprüfen kann? Ich bin mir bspw. nicht bei den Kardinalitäten...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden