Office: (Office 2010) Text auslesen und in Textfelder schreiben

Helfe beim Thema Text auslesen und in Textfelder schreiben in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, wenn ich lese, dass mit Leerzeichen aufgefüllt wird, könnte ich mir vorstellen, dass jedes Feld die gleiche Länge hat. Dann könnte man es mit... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Rico_2014, 21. Januar 2017.

  1. Text auslesen und in Textfelder schreiben


    Hallo,
    wenn ich lese, dass mit Leerzeichen aufgefüllt wird, könnte ich mir vorstellen, dass jedes Feld die gleiche Länge hat. Dann könnte man es mit einem normalen Import mit Feldern fester Länge versuchen. Access bietet die Möglichkeit beim Import die Felder mit "Beginn bei Zeichen" und "Zeichenzahl" zu definieren.
    Nimm mal den Editor stelle die Schriftart auf eine nicht proportionale Schrift (Courier) ein und schau Dir die Datei mal an. Da kannst Du genau sehen ob das geeignet wäre.
    Einen ähnlichen Hinweis gab es schon von Eberhard in #2.
    Der Import würde dann so aussehen (siehe Bild, wegen Größe als PDF).

    Das ist Deine Tabelle von oben. Nur die beiden Leerzeichen vor der Zeit habe ich manuell eingefügt. Möglicherweise sind die aber in Wirklichkeit doch vorhanden. Prüfung erfolgt wie gesagt mit dem Editor mit Courier als Schriftart.
     
    gpswanderer, 24. Januar 2017
    #16
  2. ... geht meistens.

    - Mehrere Leerzeichen kann man per Ersetzung auf jeweils eines reduzieren.
    - Mit unregelmäigen Leerzeichen wird das Split anders teilen und unpraktikabel.
    - Feste Längen haben sich damit eh erledigt oder vielleicht nicht ...?

    Mit regulären Ausdrücken kann man nach Mustern suchen und ist weniger auf feste Längen oder vorhandene Zeichen angewiesen. Zur Erstellung eines entsprechenden Suchmusters sollte man aber alle Darstellungsvarianten der Ausdrücke kennen.

    Zusatzfrage:
    Da die Rede nun davon ist, wie die Ausdrücke genau aussehen: Welche Bedeutung haben jetzt diese Ziffern im genannten Zusammenhang?
     
  3. Hallo und vielen Dank für die Antworten,
    die Ziffern sind nur Nummerierungen, die vom System vorgegeben werden.
    Diese könnten also ebenfalls "abgeschnitten" werden.
    Maßgebend ist alles ab der Fluggesellschaft (LH oder AB...) und bis zur Ankunftsuhrzeit.

    Die Länge der Felder könnte man zu 99% folgendermaßen definieren:

    Fluggesellschaft(AB, LH...): 2-stellig
    Flugnummer: 3- oder 4-stellig
    Datum(TTMMM): 5-stellig
    Terminal: 1- oder 2-stellig(numerisch/alphanumerisch)
    Abflugzeit(hhmm): 4-stellig
    Ankunftszeit(hhmm): 4-stellig

    Vielleicht eine etwas blöde Frage: Für den Textimportassistent benötige ich doch eine Textdatei, oder wo werden sonst die Daten hergenommen?

    Bin gerade etwas überfordert und weiß gar nicht, wo ich jetzt weiter machen soll.
    Ich habe Deinen Code, Eberhard, ausprobiert. Funktioniert super. Aber halt nur dann, wenn die Zeile genau so belegt ist.
    Jetzt hab ich aber das Problem mit den Leerzeichen und verschieden-stelligen Flugnummern.
    Ähhm, Hilfe! ;-)
    VG
    Rico
     
    Rico_2014, 25. Januar 2017
    #18
  4. Text auslesen und in Textfelder schreiben

    Hallo,
    ich habe jetzt erstgesehen, dass es da um ein Memo geht. Aber das ließe sich ja in eine Textdatei exportieren. Wenn es notwenig sein sollte.
    Ich habe immer noch den Verdacht, dass der Text doch formatiert ist. Stelle mal im Memo einen nicht proportionale Schrift ein und schau mal wie das aussieht. Ich habe mal das Datenbeispiel aus #15 in eine Memo eingefügt (SA Courier). Siehe Bild oben Original und unten vor der Zeit 2 LZ eingefügt (in 1. und letzter Zeile).
    Versuche das mal.

    Möglicherweise kannst Du ja die fehlenden Zeichen vor der Zeit manuelle einfügen, dann hast Du klare Feldlängen und dann dürfte das kein Problem sein.
     
    gpswanderer, 25. Januar 2017
    #19
  5. Eine Textdatei kann man simpel erzeugen: Beliebigen Text speichern
    Vorteil wäre hier, man könnte alle Datensätze auf einmal einlesen
    => Texttabelle über Spezifikation verknüpfen und Inhalte per Anfügeabfrage in Zieltabelle schieben. Im Rahmen der Abfrage könnten auch Umkonvertierungen (wie z.B. bei den Zeiten) unmittelbar vorgenommen werden.
    Dazu müsste die Importspezifikation im Vergleich zu Klaus Vorschlag noch etwas angepasst werden (Trennung AB und 3456 sofort, zu entfernende Leerzeichen in Extraspalten, um Trim einzusparen u.ä.).
    Bei festen Längen braucht man aber feste Längen.

    Ob jetzt dieser Massenimport bei 10 Zeilen oder weniger aber jetzt einen spürbaren zeitlichen Vorteil gegenüber dem zeilenweisen Einlesen erbringt, da wäre ich stark im Zweifel.
    Auch beim zeilenweisen Einlesen erscheinen feste verlässliche Längen notwendig.

    Fehlende Zeichen könnte man evtl. vor dem Auswerten einfügen a la
    Code:
    Solche Zeilenoperationen würden dann dem Sinn der Verwendung der Textdatei widersprechen.

    Die gab es anfangs nicht. D.h. also, Du möchtest die selber entfernen, ehe die automatische Verarbeitung beginnt ...?

    Ich bevorzuge es, Lösungen auf klare Aufgabenstellungen zu erstellen, das Reagieren auf ein Lämmerschwanz-Wackeln überlasse ich gern anderen.
     
  6. Ich hab das mal ausprobiert mit SA Courier.
    Ja, da sind diese Leerzeichen dazwischen.

    Man könnte also z.B. sagen, dass die Feldlänge für Fluggesellschaft und Flugnummer 6-stellig ist(z.B AB+Leerzeichen+3-stellige Nummer, oder LH+4-stellige Nummer)

    Nur, wie wandele ich das nun um?
    Der Code von Eberhard ist ja genial, aber wie definiere ich jetzt Feldlängen, bzw. "bearbeite" die Zeile so, dass am Ende die jeweils richtigen Werte in der Tabelle stehen?
     
    Rico_2014, 25. Januar 2017
    #21
  7. Sorry Eberhard, das hat sich wohl überschnitten.
    Ja, Du hast völlig recht, die Aufgabenstellung sollte von Anfang an klar sein.
    Ich habe leider diese Nummerierung erst jetzt entdeckt.

    Die automatische Verarbeitung sollte mir das Löschen der Nummerierung abnehmen, so dass die eigentliche Verarbeitung ohne die Nummerierungen beginnen kann.
     
    Rico_2014, 25. Januar 2017
    #22
  8. Text auslesen und in Textfelder schreiben

    Hallo,
    auch die Leerzeichen vor der Uhrzeit ?
    Ich würde mir das einfach machen. Exportiere das Memo in eine Textdatei und importiere diese über die Option feste Feldlängen.
    Der Importassi bietet alles dazu. Und da kannst Du auch gleich festlegen welche Felder nicht importiert werden sollen.
     
    gpswanderer, 25. Januar 2017
    #23
  9. ich werde es mal versuchen über den Importweg

    Danke Euch
     
    Rico_2014, 25. Januar 2017
    #24
  10. Hallo zusammen,
    über den Textimport werde ich das sehr wahrscheinlich lösen können.
    Jetzt habe ich noch das Problem mit dem Datum.

    In meinem Feld steht z.B. 24MAR
    Wie kann ich das nun umwandeln in ein Datumsformat.
    Wichtig! Das Feld hat noch kein Datumsformat, es steht also lediglich "24MAR" da und ich möchte das nun umwandeln in 24.03.17
    Dabei ist die Jahreszahl immer das aktuelle Jahr.

    Vielen Dank schon mal für Eure Hilfe
    VG
    Rico
     
    Rico_2014, 28. Januar 2017
    #25
  11. Das mit dem aktuellen Jahr würde ich stark bezweifeln.
    Wenn Du jetzt im Januar Werte vom März hast, würde man im November etwas vom Januar erwarten. Eine Rückwärtsrechniung könnte da Verwirrungen auslösen.

    Ansonsten: Wenn Dir der Import der Textdatei gelingt, hast Du da eine funktionierende Importspezifikation erstellt. Die Datums- und Zeitwerte wären da noch Text.
    Jetzt kannst Du für den laufenden Betrieb die Textdatei (Texttabelle) statt zu importieren verknüpfen. Das spart Datenmüll in der DB.
    Zusätzlich hast Du eine geplante Zieltabelle in der Datenbank mit den richtigen benötigten Feldern und entsprechenden Datentypen.

    Somit kannst Du basierend auf den beiden Tabellen eine Anfügeabfrage erstellen, um die Inhalte in die Zieltabelle zu verschieben. Im Rahmen der Abfrage kannst Du für die Felder entsprechende Umkonvertierungen vornehmen, so wie sie oben in der Prozedur bereits gezeigt wurden und ja offensichtlich zufriedenstellende Ergebnisse erbracht hatten.
     
  12. Entweder bastelst Du Dir selbst eine Übersetzungsroutine oder Du verwendest eine API-Funktion, um aus dem String ein Datum zu erzeugen. Hier ein mögliches Grundgerüst zum Aufbauen einer eigenen Funktion: Code:
     
  13. Text auslesen und in Textfelder schreiben

    Vielen Dank Euch beiden!
    Hab gerade ein kleines Verständnisproblem:

    Über den Importassistenten habe ich mir eine Spezifikation erstellt.
    Die Daten werden nun von der .txt ordentlich in die verknüpfte Zieltabelle geschrieben.

    Da es sich z.B. um 2 Flüge handelt, steht im ersten Datensatz -neben der Nummer, Flugzeiten usw- "24MAR" und im 2.Datensatz "25Mar"

    In meinem Formular greife ich auf diese verknüpfte Tabelle zu und wenn ich das Formular in der Datenblattansicht öffne, steht bei Abflugdatum natürlich "24Mar" im ersten Datensatz und "25Mar" im 2. Datensatz.
    Hier soll aber 24.03.17 bzw. 25.03.17 stehen.

    Eine Anfügeabfrage benötige ich zur Zeit noch nicht, da ich mir immer nur die Datensätze der verknüpften Tabelle ansehen möchte.
    Es ist mir schon klar, dass sich diese ständig verändern.

    Wenn ich das nun hingebracht habe, möchte ich alle Datensätze der verknüpften Tabelle in Outlook kopieren und versenden.
    Das kommt aber erst später....

    Die Verknüpfung hilft mir dabei sehr, da ich die Daten für eine weitere Verwendung(nachdem ich sie versendet habe) nicht mehr benötige.

    VG
    Rico
     
    Rico_2014, 28. Januar 2017
    #28
  14. Du benötigst eine Abfrage basierend auf der Verknüpfung. Dort könntest Du dann eine Funktion verwenden, die Dir aus den beiden Texten jeweils ein Datum zurück liefert. Für konkrete Hilfe müsste man das Jahreshandling (siehe ebs17s Anmerkung) kennen, sowie wissen, wie Tage < 10 gehandhabt werden: 01DEC oder 1DEC?

    Ob Du dann die beiden Zeichenketten selbst parst (Monatsabkürzungen müssten dafür definiert vorliegen) oder mit der gezeigten API-Funktion und einem passenden LCID-Wert oder mit temporärer Umstellung des Systems auf amerikanisch und CDate die Auswertung vornehmen willst, musst Du selbst entscheiden.
     
  15. Hallo,
    mit einer Hilfstabelle für die englischen Monatskürzel und der Monatszahl geht das ganze auch nur über SQL (2 Abfragen) ohne VBA.
    Zuerst eine Abfrage (Abfrage1) die aus dem Feld mit dem Kurzdatum (hier Feld4) das Monatskürzel ermitttelt:
    Code:
    Feldnamen natürlich anpassen.
    Dann auf dieser Abfrage (Abfrage1) aufbauend:
    Code:
    Mit Verknüpfung über das Monatskürzel.
     
    gpswanderer, 28. Januar 2017
    #30
Thema:

Text auslesen und in Textfelder schreiben

Die Seite wird geladen...
  1. Text auslesen und in Textfelder schreiben - Similar Threads - Text auslesen Textfelder

  2. Wort aus Index aus Text in Zelle auslesen

    in Microsoft Excel Hilfe
    Wort aus Index aus Text in Zelle auslesen: Hallo liebe Excel Profis, ich verwende Excel365 und möchte folgendes Problem lösen: Ich möchte aus Texten in Zellen einer Spalte ein bestimmtes Wort, welches in einem Index zu suchen ist,...
  3. Anzahl aus Text auslesen

    in Microsoft Excel Hilfe
    Anzahl aus Text auslesen: Hallo zusammen, ich wäre für Hilfe sehr dankbar. Ich suche eine Möglichkeit mit Formeln eine Aufzählung in Textform auszulesen und die Anzahl der Elemente zu zählen. Zur Verdeutlichung hier zwei...
  4. VBA Text aus einem Textfeld auslesen

    in Microsoft Excel Hilfe
    VBA Text aus einem Textfeld auslesen: Hallo zusammen, ich sitze momentan an einem kleinen Programm. Ich habe eine Userform erstellt, mit einem Textfeld, das Texfeld soll ausgelesen werden, mit dem Text im Feld soll ein neues...
  5. Text zwischen zwei Zeichen auslesen

    in Microsoft Excel Hilfe
    Text zwischen zwei Zeichen auslesen: Hallo zusammen, ich stehe vor folgendem Problem. Ich habe eine Excel Datei bei der ich eine Spalte mit folgenden Werten habe. Nun möchte ich gerne die darin enthaltene ISIN separat ausgeben...
  6. Excel VBA Datum aus Text auslesen

    in Microsoft Excel Hilfe
    Excel VBA Datum aus Text auslesen: Hallo zusammen, ich habe wieder einmal ein kleines Problem. Ich habe eine CSV-Datei, die in Excel eingelesen wird. Das funktioniert auchsoweit. Nach dem Einlesen befinden sich inden Spalten...
  7. DB dynamischen Text auslesen

    in Microsoft Access Hilfe
    DB dynamischen Text auslesen: Office 2013 - access Hallo allerseits, ich habe ein Frage bezüglich Text auslesen. Das ganze ist für eich sicher ganz einfach ;) Das ganze ist leider für mich kompliziert und habe dazu nichts...
  8. Unterschied Text in zwei Zellen auslesen. Geht das?

    in Microsoft Excel Hilfe
    Unterschied Text in zwei Zellen auslesen. Geht das?: Hallo zusammen, ich habe einen Report, der mir jeden Tag sagt, welche Produktbeschreibungen sich geändert haben. Das kann eine minimale Änderung (z.B Korrektur eines Rechtschreibfehlers) bis hin...
  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