Office: ADO: Recordset in Array

Helfe beim Thema ADO: Recordset in Array in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich hab eine Frage bzgl. der Abfrage von Daten aus txt-Dateien via ADO. Nachfolgender Code funktioniert reibungslos, ruft den (mittels... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von JapanFreak, 1. November 2008.

  1. ADO: Recordset in Array


    Hallo zusammen,

    ich hab eine Frage bzgl. der Abfrage von Daten aus txt-Dateien via ADO. Nachfolgender Code funktioniert reibungslos, ruft den (mittels SQL-Abfrage evtl. gefilterten) Inhalt einer txt-Datei auf und gibt diesen auf einem Worksheet aus.

    Nun möchte ich die Daten jedoch nicht auf dem Worksheet ausgeben, sondern diese in ein Array übertragen um Berechnungen vorzunehmen. Dafür habe ich den auskommentierten Code eingefügt, welcher im Falle der Abfrage von Daten aus Access-Dateien einwandfrei funktioniert. Hier bekomme ich jedoch die Fehlermeldung, dass sich der Index lRow außerhalb des gültigen Bereichs befände. Die eingefügten MsgBoxen zeigen, dass das Recordset tatsächlich die richtige Anzahl von Spalten, jedoch nur -1 Zeilen besitzt. Daher meine Frage - was läuft bei einer Abfrage einer txt-Datei anders, wie kann ich das Problem umgehen?

    Viele Grüße
    JapanFreak

    P.S. Ich verwende Excel 2000.

    Code:
    :)
     
    JapanFreak, 1. November 2008
    #1
  2. Überprüfe mal mit ...
    Code:
    in der Schleife, welche Werte auftreten. Beachte, der Index beginnt mit 0.

    Anmerkung: Für die Überführung eines Recordsets in ein Array gibt es auch die Methode GetRows.
     
  3. Bis zur Schleife komme ich gar nicht erst, da der PC schon bei der Redimensionierung des Arrays meckert ("Index außerhalb des gültigen Bereichs", da lRows den Wert -1 annimmt):

    Code:
    Wie gesagt, der Code funktioniert einwandfrei, wenn ich den Bereich mit der Übertragung der Daten des Recordsets in das Array vRst auskommentiere. Die txt-Datei wird also fehlerfrei eingelesen und das Recordset ist nicht leer... Erst wenn ich die Übertragung in ein Array versuche treten Probleme auf, da scheinbar das Array -1 Zeilen besitzt...?

    Viele Grüße
    JapanFreak
     
    JapanFreak, 3. November 2008
    #3
  4. ADO: Recordset in Array

    Morgen auch,

    adOpenForwardOnly und adOpenDynamic unterstützen RecordCount nicht, nimm adOpenStatic oder adOpenKeyset

    Eigentlich brauchst Du den aber überhaupt nicht, da Du bei GetRows das Array nicht selber dimensionieren musst. Nimm einfach:

    Code:
    cu, Bernd
     
  5. Bei Verwendung von adOpenStatic funktioniert der Code. Vielen Dank!

    Beste Grüße
    JapanFreak
     
    JapanFreak, 5. November 2008
    #5
Thema:

ADO: Recordset in Array

Die Seite wird geladen...
  1. ADO: Recordset in Array - Similar Threads - ADO Recordset Array

  2. Recordset auf Inhalt prüfen (ADO, SQL)

    in Microsoft Excel Hilfe
    Recordset auf Inhalt prüfen (ADO, SQL): Hallo, ich versuche u.a. in folgender Abfrage zu prüfen ob das Recordset einen Wert enthält. Und obwohl mit dem verwendeten SQl-String mir in Access ein Ergebnis angezeigt wird, läuft der Code so...
  3. Datensätze eines ADO Recordset OHNE Schleife in Tabelle schreiben

    in Microsoft Access Hilfe
    Datensätze eines ADO Recordset OHNE Schleife in Tabelle schreiben: Hallo Zusammen, ich suche eine Möglichkeit, die Datensätze eines ADO-Recordsets (Abfrage vom SQLSERVER) ohne Schleife in eine Access-Tabelle zu schreiben. Wer kann mir helfen? Vielen Dank und...
  4. Ado Recordset in anderen kopieren

    in Microsoft Access Hilfe
    Ado Recordset in anderen kopieren: Hi, dim rst, rst1 as Adodb.Recordset ' get rst as recordset ... 'copy filtered rst to rst1 set rst1=rst schien mal zu funktionieren, jedenfalls gibt es das beim Googlen. Bei mir meckert der...
  5. leeres ADO Recordset Field, nur mit isNull erkennbar?

    in Microsoft Access Hilfe
    leeres ADO Recordset Field, nur mit isNull erkennbar?: Wie kommt es', dass ein 'leeres' Feld in einem Recordset, nur mit dieser Variant erkannt werden kann es hilft kein Len, kein len(Trim, kein = Null, kein Len(RsLoc.Fields(x)) einzig wenn ich...
  6. Datensatz löschen aus ADO Recordset

    in Microsoft Access Hilfe
    Datensatz löschen aus ADO Recordset: Hallo, beim löschen eines Datensatz aus einem ADO.Recordset bekomme ich folgende Fehlermeldung: Laufzeitfehler '-2147217864 (80040e38)': Die zum Aktualisieren angegebene Zeile wurde nicht...
  7. ADO Recordset aktualisieren

    in Microsoft Access Hilfe
    ADO Recordset aktualisieren: Hallo ! Ich habe ein Problem mit der Aktualisierung eines ADO Recordsets. Hier wird eine Änderung eines Datensatzes erst bei mehrfachem Schließen und erneutem Öffnen des Recordsets angezeigt....
  8. VBA ADO - mehrere Einträge in Recordset mit einmal in DB schreiben

    in Microsoft Excel Hilfe
    VBA ADO - mehrere Einträge in Recordset mit einmal in DB schreiben: Hallo zusammen, (bin Recordset Anfänger) wie im Titel schon steht möchte ich ein gesamtes Recordset mit mehrern Einträgen in eine DB sschreiben, damit man sich das zeilenweise in DB schreiben...
  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