Access 1 Textfeld auf 2 Spalten in einer Tabelle aufteilen, beim speichern
Hallo Leute,
ich habe das Problem, dass ich Daten in ein Textfeld eingebe und diese Daten sollen beim speichern auf 2 Spalten in einer Tabelle aufgeteilt werden.
Bsp.: "56123-816" ist der Wert den ich eingebe
"56123" soll in die Spalte "LiefNr"
UND "816" soll in die Spalte "ArtNr" gespeichert werden.
Meine Frage:
Ist das von mir beschriebene Beispiel möglich und wenn ja, wie?
Ich Habe es schon mit den Excel-Formeln, LINKS und RECHTS versucht, aber das funktioniert nicht so wie ich das gemacht habe.
LG BUMBUM
ich habe das Problem, dass ich Daten in ein Textfeld eingebe und diese Daten sollen beim speichern auf 2 Spalten in einer Tabelle aufgeteilt werden.
Bsp.: "56123-816" ist der Wert den ich eingebe
"56123" soll in die Spalte "LiefNr"
UND "816" soll in die Spalte "ArtNr" gespeichert werden.
Meine Frage:
Ist das von mir beschriebene Beispiel möglich und wenn ja, wie?
Ich Habe es schon mit den Excel-Formeln, LINKS und RECHTS versucht, aber das funktioniert nicht so wie ich das gemacht habe.
LG BUMBUM
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 125071
Url: https://administrator.de/forum/access-1-textfeld-auf-2-spalten-in-einer-tabelle-aufteilen-beim-speichern-125071.html
Ausgedruckt am: 17.02.2025 um 01:02 Uhr
5 Kommentare
Neuester Kommentar
Ja wie jezz', bumbum,
Und egal was nun für eine Krücke - was genau soll denn nun der Algorithmus sein für die Trennung?
Fest verdrahtet mid( eingabefeld,1, 5) und mid(eingabefeld,6,3) oder ein split() am Trennzeichen "-"?
Grüße
Biber
Ich Habe es schon mit den Excel-Formeln, LINKS und RECHTS versucht
ist es denn nun ein Accessformular oder sind wir grad in einem Excel-Sheet?Und egal was nun für eine Krücke - was genau soll denn nun der Algorithmus sein für die Trennung?
Fest verdrahtet mid( eingabefeld,1, 5) und mid(eingabefeld,6,3) oder ein split() am Trennzeichen "-"?
Grüße
Biber
Moin bumbum,
ich wollte eigentlich erst mit einem freundlichen RTFM antworten, aber die Split()/Join-Funktionen sind zumindest im Access 2000/2003 shice dokumentiert.
Also deshalb erst die lange Ausführung der Antwort:
Lies dir diesen Testschnipsel kurz durch, kopier ihn in den VBA-Editor und steppe ihn dann mit F8 durch.
Nach dem Ausführen,/ Durchsteppen sollte in Deinem Direktfenster folgende Ausgabe zu sehen sein:
Dreimal durchlesen, dann hast Du alles verstanden.
Kurzfassung mit dem Nötigsten:
Hoffe, es beantwortet Deine Frage.... im Erklären bin ich nicht so gut.
Grüße
Biber
ich wollte eigentlich erst mit einem freundlichen RTFM antworten, aber die Split()/Join-Funktionen sind zumindest im Access 2000/2003 shice dokumentiert.
Also deshalb erst die lange Ausführung der Antwort:
Lies dir diesen Testschnipsel kurz durch, kopier ihn in den VBA-Editor und steppe ihn dann mit F8 durch.
Sub splitAndJoinTest()
Dim aStrWithoutDimension() As String
Dim teststr As String
Dim i As Integer
teststr = "65123-816-1711-0911"
aStrWithoutDimension = Split(Expression:=teststr, delimiter:="-")
Debug.Print "zu zerlegender String 1 " & teststr
For i = 0 To UBound(aStrWithoutDimension)
Debug.Print "aStrWithoutDimension(" & i & ") = " & aStrWithoutDimension(i)
Next
aStrWithoutDimension = Split(teststr, "-")
Debug.Print "zu zerlegender String 2 " & teststr
For i = 0 To UBound(aStrWithoutDimension)
Debug.Print "aStrWithoutDimension(" & i & ") = " & aStrWithoutDimension(i)
Next
Debug.Print "Wieder gejoint mit - : " & Join(aStrWithoutDimension, "-")
Debug.Print "Wieder gejoint mit # :" & Join(SourceArray:=aStrWithoutDimension, delimiter:="#")
End Sub
Nach dem Ausführen,/ Durchsteppen sollte in Deinem Direktfenster folgende Ausgabe zu sehen sein:
zu zerlegender String 1 65123-816-1711-0911
aStrWithoutDimension(0) = 65123
aStrWithoutDimension(1) = 816
aStrWithoutDimension(2) = 1711
aStrWithoutDimension(3) = 0911
zu zerlegender String 2 65123-816-1711-0911
aStrWithoutDimension(0) = 65123
aStrWithoutDimension(1) = 816
aStrWithoutDimension(2) = 1711
aStrWithoutDimension(3) = 0911
Wieder gejoint mit - : 65123-816-1711-0911
Wieder gejoint mit # : 65123#816#1711#0911
Dreimal durchlesen, dann hast Du alles verstanden.
Kurzfassung mit dem Nötigsten:
- ZielArray := Join("ein-Text-mit-Trennzeichen","-") legt an/befüllt ein eindimensionales Array mit "Komponenten" des gesamten Strings. Wo getrennt wird sagen die Trennzeichen/Delimiter
- "eindimensionale Arrays" werden von Nicht-Profi-Programmierern (z.b. meine Omma) oft auch einfach als "Listen" bezeichnet, Komponenten als "Token" oder "Elemente"
- Wichtig ist: das ZielArray darf/sollte keine vorgegebene Länge haben. Meine Omma würde sagen: "Du musst die Liste definieren, darfst aber nicht vorher sagen, wie lang die wird." Das macht nämlich die Join()-Funktion.
- Gegenstück zur Split()-Funktion ist die Join()-Funktion. "Join()" ist neudeutsch für "Zusammenbrat()".
- Das Ergebnis von Split("65123-816","-") wären also im ZielArray die Elemente ZielArray(0) und ZielArray(1).
- und in Zielarray(0) steht "65123", in Zielarray(1) steht "816".
Hoffe, es beantwortet Deine Frage.... im Erklären bin ich nicht so gut.
Grüße
Biber