Access UDF -Spaltennamen in Array

  • Hallo Zusammen,

    in der aktuellen Access UDF ist es nicht möglich die Spaltennamen auslesen und im Array mit den Werten Zusammen zu haben.

    Es gab von mir da schon mal eine Anfrage, diese konnte damals mit der Hilfe einfach gelöst werden.

    Hier mal das alte Thema dazu.

    MS Access Read Field + Spaltennamen der Tabellen (Im Beispiel von Musashi ist die Access zum testen angehangen)


    Wie im Beispiel werden 2 Arrays erstellt. eines mit Spaltennamen und eines mit den Werten.

    Wie kann ich diese nun Zusammenbringen? Irgendwie sehe ich da gerade nicht durch :(

    Danke

    Gruß gmmg

  • Wenn es nur im ArrayDisplay angezeigt werden soll, ersetze Spalte 17 & 18 (ungetestet):

    AutoIt
    $Spalten = ''
    For $Row = 0 to Ubound($aColumnArr)
    	$Spalten &= $aColumnArr[$Row] & '|'
    Next
    $Spalten = StringTrimRight($Spalten, 1)
    _ArrayDisplay($aRecordSetArr, 'Tabelle = ' & $sTableName, Default, Default, Default, $Spalten)

    Edit:

    Willst du Die Überschriften direkt auch im Array haben:

    AutoIt
    $Spalten = ''
    For $Row = 0 to Ubound($aColumnArr)
    	$Spalten &= $aColumnArr[$Row] & '|'
    Next
    $Spalten = StringTrimRight($Spalten, 1)
    _ArrayAdd($aRecordSetArr, $Spalten, 0)
    _ArrayDisplay($aRecordSetArr, 'Tabelle = ' & $sTableName)

    Aber alles ungeprüft.

    Einmal editiert, zuletzt von Moombas (6. Dezember 2023 um 15:26)

  • Bzw. $Spalten kannst du in Zeile 11-13 halt wie gezeigt zusammen bauen und dann entsprehend einfügen (entweder für das Arraydisplay oder als extra Zeile im Array).

  • Moombas die Spaltennamen benötige ich im Array, damit ich die Spalte dann später mit Arraysearch ausauslesen kann bzw. dessen Wert.

    Da sich die Spaltennamen in der Position immer mal verschieben können.

    Gruß gmmg

  • Hab das ja oben als 2. Part hinzugefügt als weitere Möglichkeit.

    Hier mal zusammengefasst (ohne Gewähr):

  • Habe es noch nicht hinbekommen.


  • Habe das jetzt mal in meine Access UDF übertragen.

    Danke nochmal an Moombas für den Input :)

    _Get_Records with Column Names

  • Hmm, aber eigentlich gehören die Spaltenüberschriften ja nach oben.

    Das Wollte ich eigentlich mit der Angabe der 0 in ArrayInsert erreichen, sehe aber Gerade das ich lt. Doku einen Fehler gemacht habe ("$vRange can be a string containing the rows above which a row is to to be inserted. ").
    Ersetze die 0 mal mit einer 1 und teste erneut.

  • Das habe ich schon verstanden aber sind die Spaltenüberschriften, nicht im Array wie im Screenshot von Post #7 gmmg ?

    Das wäre ja blöd, diese immer unten zu haben, daher mein Vorschlag in Zeile 37 die 0 durch eine 1 zu ersetzen, dann müssten die Spaltenüberschriften oben stehen.

  • Also mit _ArrayAdd hat es bei mir nicht funktioniert.

    Hatte dann _ArrayInsert benutzt. Ergebnis siehe Bild.