Office: rst.GetRows in Array

Helfe beim Thema rst.GetRows in Array in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich steh gerade auf dem Schlauch. Ich möchte die Werte eines Recordsets mittels GetRows an ein Array übergeben. Bekomme es aber nicht... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von sowosamma, 18. Mai 2014.

  1. rst.GetRows in Array


    Hallo zusammen,

    ich steh gerade auf dem Schlauch. Ich möchte die Werte eines Recordsets mittels GetRows an ein Array übergeben. Bekomme es aber nicht hin

    Code:
    Ausgabe:
    Code:
    Das Recordset hat nur EINE Spalte mit 375 Zeilen. Ich habe in der Hilfe gelesen, dass GetRows immer ein zweidimensionales Array anlegt. Aber trotzdem bekomme ich 0 als Rüchgabewert.

    Was mache ich falsch? Wie kann ich auf die Daten im Array zugreifen?

    Gruß,
    Andi

    :)
     
    sowosamma, 18. Mai 2014
    #1
  2. Hier mal ein kleines Beispiel
    Code:
     
    Smaug, 19. Mai 2014
    #2
  3. Hallo,
    wozu benötigst Du ein Array, Du hast ja die Daten bereits in einer Abfrage?

    Nur mal so interessehalber.
     
    gpswanderer, 19. Mai 2014
    #3
  4. rst.GetRows in Array

    Ich muss mit den Werten einige Berechnungen (teilweise mit worksheetfunction) in VBA durchführen.

    Das war die entscheidende Stelle. Ich hatte nur .MoveLast weil ich irgendwo mal gelesen habe, dass man erst zum letzten Datensatz gehen muss um immer die korrekte Anzahl zu bekommen. Deswegen hat er bei mir einen Wert [vRST(0,0)] gefunden.

    @all
    eine Frage noch. Meine Recordsets haben bei diesen Berechnungen immer nur ein Feld und ich bräuchte eigentllich zur weiteren Verwendung ein eindimensionales Array. Kann mal alle x-Werte für diesen einen y-Wert an ein eindimensionales Array übergeben? Oder brauche ich hier wieder eine Schleife? Dann würde aber GetRows in meinem Fall keinen Sinn machen.

    Gruß,
    Andi
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    sowosamma, 19. Mai 2014
    #4
  5. Hi,

    das mit dem .Movelast ist für .Recordcount schon OK.
    (incl. .MoveFirst).

    Aber 2 mal die Abfrage nur wegen .MoveLast auszuführen, widerstreb mir.
    Entweder -wie oben schon erwähnt- mit dem Recordset arbeiten
    oder .Getrows(xxx) mit einer ausreichend großen Zahl aufrufen.
    Access passt das Array entsprechend der Zeilenzahl an.
    Oder ADO mit .Getrows()

    mfg
    Carsten
     
    CSekulla, 20. Mai 2014
    #5
  6. Für die Ermittlung der Anzahl der Datensätze braucht es kein Recordset.
    Da gäbe es auch die Funktion dcount().

    Ein eindimensionales Array lässt sich auch in einer Schleife einlesen.
    Oder - mit einem SQL Befehl - in eine temporäre Tabelle schreiben und von dort aus weiterbearbeiten ...
     
    hcscherzer, 20. Mai 2014
    #6
  7. Du kannst Worksheetfunktionen direkt auf ein Array anwenden?

    Man sollte beachten: GetRows ist ziemlich schnell und einem Einzel-Loop vorzuziehen. Allerdings ist das erzeugte Array transponiert - das wissen auch unsere Freunde aus Excel: Ausgabe des Recordsets

    Unabhängig davon: In einer Abfrage könnte man auch rechnen. Wenn Du das eigentliche Berechnungsziel zeigen würdest, fällt vielleicht jemandem ein direkter und schneller Weg ein.
     
    ebs17, 20. Mai 2014
    #7
Thema:

rst.GetRows in Array

Die Seite wird geladen...
  1. rst.GetRows in Array - Similar Threads - rst GetRows Array

  2. Mittelwert aus mehreren Spalten als dynamisches Array

    in Microsoft Excel Hilfe
    Mittelwert aus mehreren Spalten als dynamisches Array: Hallo liebes Forum, ich bin bei folgendem Problem ratlos: Ich berechne für verschiedene Dozenten Feedback anhand von 3 verschiedenen Kriterien. Die Stammdaten der Feedbacks stehen in einer...
  3. Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte

    in Microsoft Excel Hilfe
    Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte: Hallo zusammen, wer letzteren Thread kennt, hier eine Neuauflage. Problem: Aus Array-Berechnungen (Variablen von Let) ein weiteres Array zu erzeugen, welches für alle eindeutigen Werte aus G die...
  4. Zahlendubletten im Array

    in Microsoft Excel Hilfe
    Zahlendubletten im Array: Guten Morgen liebe Community, anbei ein vereinfachtes Beispiel der Problematik, da das Original mehrere LAMBDA-Funktionen und Tabellen mit einbezieht. Ich benötige die Lösung, um eine weitere...
  5. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  6. Summenteilergebnis eines Arrays als Array darstellen

    in Microsoft Excel Hilfe
    Summenteilergebnis eines Arrays als Array darstellen: Hallo Community, Summenteilergebnis eines Arrays als Array darstellen. An dieser Stelle stecke ich fest. Ich habe eine Testmappe erstellt, die die Problematik versucht darzustellen. Bevor jemand...
  7. Formel bei Veränderung von dynamischem Array "mitziehen"?

    in Microsoft Excel Hilfe
    Formel bei Veränderung von dynamischem Array "mitziehen"?: Hallo liebes Forum, ich komme bei folgendem Problem nicht weiter und habe mir hier etwas Hilfe erhofft: Ich habe eine Tabelle mit Feedbacks zu Lehrgängen/Kursen. Diese will ich nach Dozent erst...
  8. Array-Funktion mit VBA in Zelle schreiben

    in Microsoft Excel Hilfe
    Array-Funktion mit VBA in Zelle schreiben: Hallo zusammen, ich bin begeisterter Nutzer der neuen Array-Funktionen in Excel 365. Ich möchte mit VBA so eine Funktion in eine Zelle schreiben. Bei "normalen" Formeln habe ich das immer so...
  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