Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Left, Regex, Tabellen vergleichen

Begonnen von walker950, März 31, 2020, 17:59:59

⏪ vorheriges - nächstes ⏩

walker950

Guten Abend zusammen
Ich möchte folgendes erreichen, beide Tabellen sollen überprüft werden ob die gleichen Datensätze vorhanden sind.Wenn nicht sollen die Abfragen das anzeigen.

1. Tabelle A sind die Datensätze so
03400.600_0001_Kurzzeichen_Ort
03400.600_0025_0125_Kurzzeichen_Ort

2.Tabelle B sind die Datensätze so
03400.600_0001
03400.600_0025_0125
   
3.Abfrage1 prüft welche Werte sind in Tabelle A, aber nicht in
Tabelle B vorhanden.

4.Abfrage2 prüft welche Werte sind in Tabelle B, aber nicht in
Tabelle A vorhanden.

Das scheint so weit zu funktionieren. Mein Problem sind die unterschiedlichen Längen der Datensätze.

5.Von Links jeweils 14 und 19 Zeichen

6. Ich habe versucht mit der Left Funktion (siehe Tabelle1) das zu erreichen. Das klappt nur bedingt, dass heisst entweder mit 14 oder mit 19 Zeichen.
Das Ziel wäre das automatisch unterschieden wird wann wie viele Zeichen weg müssen. Genau an dieser Stelle hänge ich fest. Meine Google Suche hat etwas von Regx ergeben, damit sollen Muster festgelegt werden können damit mein vorhaben funktioniert. Leider verstehe ich das ganze mit den Modulen und Regex nicht und wäre über Hilfe dankbar.
Beiliegend meine Datei.
Grüsse
walker950
Grüsse
walker950

DF6GL

Hallo,

vermutlich hilft am Besten eine Atomisierung der Felder als Vorbereitung für eine geeignete Verjoinung der Tabellen.

Die Instr()-Funktion im "ON"-Condition-Ausdruck könnte  auch zum Ziel führen.





Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ebs17

Zitatbeide Tabellen sollen überprüft werden ob die gleichen Datensätze vorhanden sind
Du sprichst von Datensätzen, zeigst aber zusammengefasste Inhalte in einem Feld. Hat man das extra schlau gemacht, um damit im Nachgang nicht mehr zurecht zu kommen?
Zitat03400.600_0002_1547_Kurzzeichen_Ort
Man würde vermuten, dass die sechs Zeichenfolgen jeweils eigene atomare Bedeutungen haben und also nach den Regeln der Normalisierung in eigene Felder gehören. Zwei, drei felder in Kombination auf Gleichheit zu prüfen ist dann nicht mehr die große Herausforderung und übrigens auch schneller - manchmal spielt ja Performance auch eine Rolle.
Für eine solche einmalige Umstrukturierung wären RegEx ein geeignetes Mittel, für den laufenden und wiederholten Abfragebetrieb eher nicht (es geht, ist aber aufwändig, umständlich, unter dem Strich langsamer).

Zur Überbrückung in der gezeigten einfachen Konstellation kann man auf eine Mustersuche per LIKE zurückgreifen. Beispiel für Datensätze, die es in A, aber nicht in B gibt:
SELECT
   A.*
FROM
   A
WHERE
   NOT EXISTS
      (
         SELECT
            NULL
         FROM
            B
         WHERE
            A.Projektnummer LIKE B.Projektnummer & "*"
      )
Mit freundlichem Glück Auf!

Eberhard

walker950

Guten Morgen zusammen
@DF6GL
ZitatDie Instr()-Funktion im "ON"-Condition-Ausdruck könnte  auch zum Ziel führen.
Habe ich mich damit auseinander gesetzt. Diese sucht mein 1. definiertes Zeichen. Den Ausdruck "ON"-Condition habe ich gegoogelt und habe nichts gefunden wo mich weiterbringt. Für was ist dieser Audruck?
@ebs17
ZitatDu sprichst von Datensätzen, zeigst aber zusammengefasste Inhalte in einem Feld. Hat man das extra schlau gemacht, um damit im Nachgang nicht mehr zurecht zu kommen?
Der String befindet sich in einem QR Code der wird in die DB eingelesen, dass man weiss welche Akten bearbeitet sind. Ich gebe dir recht, es ist nicht "schlau" diese Vorgehensweise. Obwohl ich einen Artikel über die Normalisierung von Daten gelesen habe, habe ich das übersehen.
Ich habe das ganze versucht so darzustellen wie es hoffentlich korrekt ist?
frmJournalFilm dort werden die Daten erfasst bzw. der QR Code eingelesen. Datum/Uhrzeit kommt dann beim erstellen von den DS automatisch (habe ich noch nicht vorbereitet). Vorname.Name gleiches vorgehen wie beim Datum (habe ich noch nicht vorbereitet).

Nun habe ich mit dem qryVersuch zu Trennen probiert mein Ziel zu erreichen. Leider funktioniert es nicht richtig und ich weiss nicht wo ich den Fehler mache.
Den Code von dir habe ich integriert. Bezüglich Felddatentyp müsste ich vermutlich die Felder wo Zahlen vorkommen als solche definieren? Das habe ich versucht, die 0 werden immer abgeschnitten. Ich benötige die Daten genau so wie sie sind. Wenn ich Daten im Formular erfasse werden diese ja in der Tabelle gespeichert. Aber wie werden diese getrennt? Wenn ich es mit einer Abfrage versuche sind die Daten anschließend nicht in der Tabelle vorhanden.
Grüsse
walker950
Grüsse
walker950

ebs17

ZitatQR Code der wird in die DB eingelesen
O.K. bei Daten von außen hat man weniger Einfluß auf Strukturen, und die Erzeuger solcher haben noch weniger Ahnung von und Bewusstsein zu datenbank- und verarbeitungsgerechten Strukturen. Ich meine aber auch: Wer so etwas klaglos übernimmt, wird anders herum auch solches selber erzeugen und dem Nächsten vor Probleme stellen.

Allerdings: Ein Import ist eine Schnittstelle und somit die Chance, bereits hier Daten in benötigte brauchbare Strukturen umzulegen und in diese abzuspeichern. Das ist dann ein einmaliger Vorgang pro Import und aber ganz schnell effizienter als Daten so wie sie sind herzunehmen und bei jeder Verarbeitung und jeder Wiederholung einer solchen Kopfstände wegen gleichartiger Trennungen aufführen zu müssen.
Beinahe jeder Lagerist macht sich die Mühe, sein Zeug in Regale, Schieber, Fächer einzuräumen statt einen großen Haufen zu liegen haben.

Die QR-Codes kommen wie genau an? Bereits als Datensätze in einer Tabelle, oder findet vor Ort ein Scannen und Schreiben statt, also einzelne Erfassung. Davon würde man die genaue Methode des Trennens abhängig machen, ich zumindest, damit es direkt, einfach, schnell, fehlerfrei ist.

ZitatBezüglich Felddatentyp müsste ich vermutlich die Felder wo Zahlen vorkommen als solche definieren?
Hervorragend mitgedacht. Eine Zahl vom Typ Long belegt 4 Byte, ein Text von 4 Zeichen 4 * 2 Byte plus 10 Byte Verwaltung dazu. Masse macht Arbeit. Bei jeder Verarbeitung wie Vergleich, Filter, Gruppieren, Sortieren wird sich das summieren und multiplizieren und eine Auswirkung auf die Laufzeit haben.
Zahlen könnte man dann auch einfach hochzählen, Texte nicht.

Zur Ansicht für User, ReExport & Co.: Das Zusammensetzen ist dann simpel über eine Abfrage realisierbar. Diese kann man in sehr vielen Fällen tabellengleich verwenden:
SELECT Projektnummer & "_" & Format(ID1, "0000") & "_" & Format(ID2, "0000") & "_" & Kurzzeichen & "_" & Ort AS Code
FROM JournalFilm

Mit freundlichem Glück Auf!

Eberhard

walker950

Guten Abend
Danke für deine Unterstützung.
ZitatO.K. bei Daten von außen hat man weniger Einfluß auf Strukturen, und die Erzeuger solcher haben noch weniger Ahnung von und Bewusstsein zu datenbank- und verarbeitungsgerechten Strukturen.
Ok ich hole mal etwas aus damit der Zweck der Sache erkennbar wird. Auf Arbeit werden die Projektakten nach Abschluss des Projekt auf Mikrofilm zwecks Archivierung verfilmt. Als ich diesen Bereich vererbt bekam, hatten wir einen Scanner wo direkt auf einen Film gescannt wurde.
Dieser wurde zur Entwicklung an einen Produzenten geschickt. Retour kam der Mikrofilm, dieser wurde in das Betrachtungsgerät eingelegt und bei jedem Titelblatt wurde gestopt und der Wert auf dem Zähler von Hand auf ein Inhaltsverzeichnis geschrieben. Da die Geräte schon sehr alt, defekt und keine Ersatzteile mehr Verfügbar waren wurden neue Geräte angeschafft.

Der aktuelle Prozess ist so:
1. Akten werden mit einem Deckblatt mit 2 QR Code angeliefert. Als Bsp. Erster QR Code = 03400.600_0011 oder 03400.600_0025_0147 für das Scannen der Akten.
Stapelverarbeitung bei jedem Blatt wird getrennt und die Dateien wie oben benannt.
ZitatDie QR-Codes kommen wie genau an?
2. QR Code = 03400.600_0011_Kurzzeichen_Ort oder 03400.600_0011_0054_Kurzzeichen_Ort werden mit dem Handscanner in die DB gescannt Zwecks Registrierung und Nach Verfolgbarkeit. Kurzzeichen ( z.Z 4stellig) Ort variabel.
Zitat. Ich meine aber auch: Wer so etwas klaglos übernimmt, wird anders herum auch solches selber erzeugen und dem Nächsten vor Probleme stellen.
Da bin ich deiner Meinung, deshalb möchte ich es ja korrekt machen. Ja bin auch in die Falle bezüglich String getappt. Ich hatte nicht genügend Einfluss auf das ganze, da es gewisse Vorgaben gibt und an denen nicht zu rütteln ist.
Bezüglich Zahl als Felddatentyp wie bekomme ich das hin, dass die Nullen sichbar bleiben? 03400.600_0011_0014
Grüsse
walker950
Grüsse
walker950

MzKlMu

Hallo,
Zitatwie bekomme ich das hin, dass die Nullen sichbar bleiben?
Das kannst Du in dem SQL Code von Eberhard in #4 bereits sehen. (Format....)
Gruß Klaus

ebs17

#7
Zitatdass die Nullen sichbar bleiben
Die müssen gar nicht bleiben. Ein Tabellenzahlenfeld könnte man zwar per Format-Eigenschaft beibringen, führende Nullen anzuzeigen, aber das ist wertfrei. In eine Tabelle sieht hoffentlich nur der Entwickler, und der braucht keine Kosmetik.
Für Anzeigen nach draußen kann man die Format-Anweisung einsetzen. Reduziertes Beispiel:
SELECT 123 AS Zahl, Format(123, "000000") AS Nuller

Hier sieht man nebenbei auch den Vorteil, das man einfachst von einem Vierer-Ziffernblock auf einen Sechser oder Achter umstellen könnte. Es könnte ja sein, jemand erkennt Eure Fähigkeiten und Euren Fleiß und belohnt Euch mit Datenbergen, die bisher angedachte Grenzen überschreiten.

Nachfolgend ein Ansatz. Ich tue dabei so, als ob der erste Block auch in Zahlen zu zerlegen wäre:
Sub ansatz_trennen()
    Const cQR = "03400.600_0011_0054_Kurzzeichen_Ort"
    Dim sArr() As String
    Dim ia As Long

    sArr = Split(cQR, "_")
    ia = UBound(sArr)

    ' Das Schreiben kann von Formulartextfeld zu Formulartextfeldern erfolgen
    ' oder auch aus einem Recordsetfeld in weitere Recordsetfelder
    Debug.Print "P1", Val(Split(sArr(0), ".")(0))
    Debug.Print "P2", Val(Split(sArr(0), ".")(1))
    Debug.Print "N1", Val(sArr(1))
    ' Verarbeitung abhängig von Inhalten
    Select Case ia
        Case 4
            Debug.Print "N2", Val(sArr(2))
            Debug.Print "KZ", sArr(3)
            Debug.Print "Ort", sArr(4)
        Case Else
            ' tu was ähnliches
    End Select
End Sub
Mit freundlichem Glück Auf!

Eberhard

walker950

Guten Abend
Danke für deinen Beitrag. Ich habe versucht das Umzusetzen, irgend wie hänge ich fest verstehe das ganze nicht mehr.
ZitatIn eine Tabelle sieht hoffentlich nur der Entwickler, und der braucht keine Kosmetik.
Soweit ich weiss, sollen User nur Formulare, Abfragen und Berichte sehen. Ist meine Aussage richtig?
ZitatFür Anzeigen nach draußen kann man die Format-Anweisung einsetzen. Reduziertes Beispiel:
Kriege das nicht zum laufen, was mache ich falsch?
ZitatEs könnte ja sein, jemand erkennt Eure Fähigkeiten und Euren Fleiß und belohnt Euch mit Datenbergen, die bisher angedachte Grenzen überschreiten.
Ich hoffe doch sehr bis die 4stelligen aufgebraucht sind,dass wir nicht mehr Mikroverfilmen sondern eine Digitales Archiv haben  :)
Zu deinem Ansatz, genau nach dem suche ich. Hab eine Tabelle mit den Feldern aus dem Code erstellt. Zusätzlich ein Feld QR Code. Dann habe ich daraus ein Formular erstellt. Im Feld QR Code macht mann nun die Eingaben oder scannt den Code?
Wann wird der String zerlegt und in die Felder abgefüllt?
Im Direktbereichfenster sehe ich wie das ganze ausschaut. Nur verstehe ich nicht wie ich das ganze in die Tabelle bekomme. Habe heute versucht die Ordnerstruktur einzulesen habe einen Code gefunden wo das macht zu mindest im Vorschaufenster. Habe dann einen Code gesucht mit AddNew und auch gefunden der funktioniert. Nur möchte ich dort, das nicht die definierten Wert wo sich im Code befinden eingelesen werden, sondern meine Ordnerstruktur wo ich ausgelesen habe.
schönen Abend
Grüsse
walker950

Grüsse
walker950

Beaker s.a.

@Walker950
ZitatNur möchte ich dort, das nicht die definierten Wert wo sich im Code befinden eingelesen werden, sondern meine Ordnerstruktur wo ich ausgelesen habe.
Die Konstante hat Eberhard nur verwendet um dir den schnellen Test des
Prinzips des Aufsplittens zu ermöglichen. Diese Konstante musst du durch
den Inhalt des Scanfeldes ersetzen. Wobei ich den Wert an die Sub übergeben
würde (ausgehend von einem Formular ohne DS-Herkunft)
Private Sub DeinScanFeld_AfterUpdate()
    ansatz_trennen(Me.DeinScanFeld)
End Sub

Sub ansatz_trennen(cQR As String)
    Dim sArr() As String
    Dim ia As Long

    sArr = Split(cQR, "_")
    ia = UBound(sArr)
'usw.


Und statt der Debug.Prints schreibst du die Werte mit AddNew oder mit einer
Anfügeabfrage in deine Tabellenfelder.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

ebs17

#10
Zitateine Digitales Archiv haben
Da braucht man auch Strukturen für Ordnung, die womöglich ein Mensch auch lesen können möchte ...?
Die Hoffnung, dass etwas nicht eintreten möge, ist ein unglückliches Prinzip.
Daten sind bekanntermaßen ein wertvolles Gut. Eine Datenbank mit etwas Wert hat für sich selber eine Lebensdauer von sehr schnell mehr als einem Jahrzehnt, und sie wird in einer weiteren Datenbank aufgenommen und weiterleben.

ZitatSoweit ich weiss, sollen User nur Formulare, Abfragen und Berichte sehen. Ist meine Aussage richtig?
Teilweise. Abfrageergebnisse stellt man besser ausschließlich in Formularen und Berichten dar. Dort kann man über Sperrungen und Ereignisprozeduren nach Events steuern, ob und was editiert werden darf.

Wenn man in Formularen und Berichten für die Einzelzahlen führende Nullen darstellen will/muss, kann man dort für das anzeigende Textfeld die Format-Eigenschaft verwenden.
Format-Eigenschaft: Ändert nur das Aussehen, nicht den inneren Wert. Zahl bleibt Zahl.
Format-Anweisung: Funktion, die den übergebenen Wert in einen String mit dem angegebenen Format ändert. String ungleich Zahl.

ZitatIm Direktbereichfenster sehe ich wie das ganze ausschaut.
Also kann man sehen, wie es prinzipiell funktionieren kann.
Ich hatte es aber bei diesem Ansatz bewusst belassen. Da Deine QRCodes unterschiedlich sind (die von Dir genannte ID2 kommt nur teilweise vor, Kennzahl und Ort dann auch), kann man nicht alles über diesen einen Leisten ziehen. Nach dem Trennen sollten ja auch die Inhalte in den richtigen Feldern landen, Murks ist nicht gefragt. Also müsste man erst über die möglichen Fälle eine entsprechende Zuordnung fixieren, ehe man an das bloße Einfügen geht.
Mit freundlichem Glück Auf!

Eberhard

walker950

Guten Abend zusammen
Ich möchte einfach mal danke sagen, dass man hier fragen darf und man Hilfestellungen bekommt. Finde ich richtig super.

Ich versuche mal zusammen zu fassen. Die Daten vom
QR Code sehen so aus,
"03400.600_0000_Kurzzeichen_Ort" oder so
"03400.600_0000_0000_Kurzzeichen_Ort"
Die Tabelle Journal Filme soll nun folgende Felder enthalten, damit der String in einzelne Blöcke aufgeteilt werden kann.

ID Autowert,
Projektnummer1(03400), Projektnummer2(600)
ID1(0000), ID2(0000), Kurzzeichen(BAHA), Ort(Ort),
Registriert (Datum), Erstellt(Vorname Nachname)
Anzahl Bilder (Zahl), Rückgabe(Datum),
Visum(Vorname Nachname).

Tabelle Mikrofilm PDF (Ist ein Verzeichnis das eingelesen werden soll, wird dann in einer Abfrage mit Journal Filme auf Übereinstimmung geprüft)
ID Autowert,
Projektnummer1(03400), Projektnummer2(600)
ID1(0000), ID(0000)

Für die Erfassung des QR Code und den weiteren Daten würde man ein Formular machen wo an keine Tabelle gebunden ist? Die Trennung in einzelne Blöcke findet die in diesem Formular statt? Wenn die Daten getrennt sind dann wird in die Tabelle geschrieben?
Zur Ansicht für den User würde ein weiteres Formular oder ein UFO in dem Scan Formular eingebaut werden?

Mit den Abfragen kann ich dann die benötigten Daten wieder zusammen führen und in einem Formular ausgeben?
Grüsse
walker950
Grüsse
walker950

Beaker s.a.

@walker950
ZitatFür die Erfassung des QR Code und den weiteren Daten würde man ein Formular machen wo an keine Tabelle gebunden ist?
Würde ich nicht machen, - ein gebundenes Formular ist doch einfacher zu
handhaben.
ZitatDie Trennung in einzelne Blöcke findet die in diesem Formular statt?Wenn die Daten getrennt sind dann wird in die Tabelle geschrieben?
Ja, erstelle ein Formular auf Basis deiner Zieltabelle mit allen Feldern. Zum
Scannen platzierst du ein ungebundenes Textfeld. Dann erfolgt die
Aufteilung in die (gebundenen) Formularfelder und das Speichern erfolgt
(mehr oder weniger) automatisch.
Den Code rufst du in der Ereignisprozedur "Nach Aktualisierung" auf
Private Sub DeinScanFeld_AfterUpdate()
' da jetzt ein gebundenes Formular zum Einsatz kommt, muss darauf geachtet werden,
'dass nur neue DS erfasst werden. Ein bestehender DS würde sonst überschrieben.
    If Me.NewRecord Then
        ansatz_trennen(Me.DeinScanFeld)
    End If
End Sub

Sub ansatz_trennen(cQR As String)
' Steht auch im Formularmodul. Falls du das später evtl. auch an anderer
' Stelle benötigst müsste die Prozedur in ein allgem. Modul verlagert und
' entsprechend angepasst werden (Formularbezug Me.)
    Dim sArr() As String
    Dim ia As Long

    sArr = Split(cQR, "_")
    ia = UBound(sArr)

    ' Das Schreiben kann von Formulartextfeld zu Formulartextfeldern erfolgen
    ' ist hier umgesetzt in gebundenem Formular
    ' oder auch aus einem Recordsetfeld in weitere Recordsetfelder
    With Me
        .txtProjektNr1 = Val(Split(sArr(0), ".")(0))
        .txtProjektNr2 = Val(Split(sArr(0), ".")(1))
        .txtID1 = Val(sArr(1))
        Select Case ia
        Case 4
            .txtKurzzeichen = sArr(2)
            .txtOrt = sArr(3)
        Case 5
            .txtID2 = Val(sArr(2))
            .txtKurzzeichen = sArr(3)
            .txtOrt = sArr(4)
        End Select
' Aktualisierung einer Anzeige aller Scans (siehe unten)
        ' mit einem UFo
        .NameUFoControl.Form.Requery
        ' mit einem Listfeld
        .NameListfeld.Requery
    End With
End Sub


Die weiteren Felder können dann manuell ausgefüllt und der DS gespeichert
werden.
ZitatZur Ansicht für den User würde ein weiteres Formular oder ein UFO in dem Scan Formular eingebaut werden?
Hier würde ich ein Ufo oder ein Listfeld verwenden (siehe Code) mit der gleichen
DS-Herkunft wie das Scan-Form.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

walker950

Hallo zusammen
@ekkehard
Vielen Dank für die Unterstützung.
Ich habe den heutigen Tag damit verbracht, das ganze Darzustellen und versucht es zu verstehen. Leider ist mir das nur teilweise gelungen.

Tabelle1 habe ich mit den Feldern erstellt, wie auch das Formular (Tabelle1), dass UFO (test) mit DS Herkunft Tabelle1. Code eingefügt und angepasst. Mit der Einstellung UFo aktualisieren bin ich bis jetzt nicht zurecht gekommen, wie muss der Name des UFo dort eingetragen werden? Ich habe es dann mit ' ausgeschaltet. Dann wurden die Daten in der Tabelle gespeichert.

Mit dem Listenfeld hat es geklappt, nur die Überschriften fehlen mir noch.
Ich stellte dann fest, dass die Daten nicht alle angezeigt werden und auch teilweise in den falschen Feldern erscheinen. Ich versuchte es dann im Code anzupassen, leider ohne Erfolg.
Ich habe die folgenden DS zum testen verwendet:
03400.600_0001_HGAH_Musterhausen und
05400.400_0005_0012_ABCD_Musterstadt.
Wie bekomme ich das hin, dass sich das Feld QR Code leert wenn ich einen neuen DS anlege?

Da ich dem User den ganzen String der Einfachheit halber
anzeigen möchte, kann ich das auch im UFO oder Listenfeld machen oder besser mit einer Abfrage.? Bei Abfrage was wäre da richtig Anfüge- oder Aktualisierung?
Grüsse
walker950
Grüsse
walker950

ebs17

ZitatIch stellte dann fest, dass die Daten nicht alle angezeigt werden und auch teilweise in den falschen Feldern erscheinen.
Da müsste man vor dem Code-Weiterschreiben einen Denkvorgang vorschalten und dafür die Würfel wegwerfen:
ia = UBound(sArr)
Debug.print ia

Was soll einem die Variable ia sagen? Wie wäre sie also in der Folge zu verwenden/auszuwerten?
Mit freundlichem Glück Auf!

Eberhard