Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
ADO Recordset geht nicht mit For-Next
zurück: Varibale befehle oder subs weiter: Access-Datensatz an Word übergeben Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Toadie
Im Profil kannst Du frei den Rang ändern


Verfasst am:
31. März 2008, 13:18
Rufname:

ADO Recordset geht nicht mit For-Next - ADO Recordset geht nicht mit For-Next

Nach oben
       Version: Office 2003

Hallo lieber Coder,

ich hab da ein Problem wo ich nicht mehr weiter weis.
Wenn ich untenstehenden Code ausführe funktoniert alles einwandfrei. Sobald ich das aber in eine For-Next Schleife packe um mehrere Artikel auszulesen/verändern geht der erste und beim 2ten kommt folgende Fehlermeldung:
Zitat:
Laufzeitfehler 91

Objektvariable oder With-Blockvariable nicht festgelegt
Hier der Code:
Code:
    Dim rec As ADODB.Recordset
   
    Set rec = New ADODB.Recordset
    '...
    sqlLagerString = "SELECT * " & _
                       "FROM Lager_" & sqlLagerort & " " & _
                      "WHERE ArtikelNr LIKE '" & strArtNr & "'"
    With rec
        .Open sqlLagerString, CurrentProject.Connection, adOpenDynamic, _
              adLockPessimistic
        Do While Not rec.EOF
            strLeseMenge = rec!Menge
            strSchreibMenge = strLeseMenge + strEmenge
            rec!Menge = strSchreibMenge
            rec.MoveNext
        Loop
        .Close
        Set rec = Nothing
    End With
Ich versteh einfach nicht wieso das nicht mehr mals hintereinander Ausgeführt werden kann.

Hat jemand eine Idee?

MfG

Toadie
rita2008
Im Profil kannst Du frei den Rang ändern


Verfasst am:
31. März 2008, 14:35
Rufname:
Wohnort: Berlin


AW: ADO Recordset geht nicht mit For-Next - AW: ADO Recordset geht nicht mit For-Next

Nach oben
       Version: Office 2003

Wo steht denn Dein For...Next? Steht For vor dem
Code:
    Set rec = New ADODB.Recordset
Dann würdest Du jedes Mal einen neuen Recordset anlegen, was nicht nötig ist.

Poste doch bitte den Code nochmal mit der Schleife.

_________________
mfg Rita

Antworten bitte hier im Forum, nicht als private Nachricht. Danke
Toadie
Im Profil kannst Du frei den Rang ändern


Verfasst am:
31. März 2008, 14:41
Rufname:

AW: ADO Recordset geht nicht mit For-Next - AW: ADO Recordset geht nicht mit For-Next

Nach oben
       Version: Office 2003

ne natürlich lege ich den recordset nicht in der schleife an ;)

Hier mal der Code:
Code:
    Dim rec As ADODB.Recordset
   
    Set rec = New ADODB.Recordset
    For i = 1 To Me!lstStückliste.ListCount - 1
        strArtNr = Me!lstStückliste.Column(9, i)
        strMenge = Me!txtMenge
        strHilfsMenge = Me!lstStückliste.Column(10, i)
        strZS = Me!lstStückliste.Column(10, i)
        sqlLagerort = Me!cobAusLager
        strLagerplatz = Me!lstStückliste.Column(12, i)
        strEinh = Me!lstStückliste.Column(11, i)
        sqlLagerort1 = "Lager_" & sqlLagerort
        sqlLagerString = "SELECT * " & _
                           "FROM Lager_" & sqlLagerort & " " & _
                          "WHERE ArtikelNr Like '" & strArtNr & "'"
        With rec
            .Open sqlLagerString, CurrentProject.Connection, adOpenDynamic, _
                  adLockPessimistic
            Do While Not rec.EOF
                strLeseMenge = rec!Menge
                strSchreibMenge = strLeseMenge + strEmenge
                rec!Menge = strSchreibMenge
                rec.Fields("Bearbeitet") = DBUser
                rec.MoveNext
            Loop
            .Close
            Set rec = Nothing
        End With
    Next i
Willi Wipp
Moderator


Verfasst am:
31. März 2008, 15:07
Rufname:
Wohnort: Raum Wiesbaden

Re: ADO Recordset geht nicht mit For-Next - Re: ADO Recordset geht nicht mit For-Next

Nach oben
       Version: Office 2003

Hi Toadie,

aber Du setzt die Variable rec innerhalb der Schleife und sogar innerhalb des With-Blocks auf Nothing Confused

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Toadie
Im Profil kannst Du frei den Rang ändern


Verfasst am:
31. März 2008, 15:14
Rufname:

AW: ADO Recordset geht nicht mit For-Next - AW: ADO Recordset geht nicht mit For-Next

Nach oben
       Version: Office 2003

Ok danke, wenn ich es nach der Schleife schliessen will kommt aber bei open eine Fehlermeldung:
Zitat:
Laufzeitfehler 3705
Der Vorgang ist für ein geöffnetes Objekt nicht zugelassen!
Mei DAO ist echt wesendlich einfacher als ADO...
MAPWARE
Access Profi(l)neurotiker


Verfasst am:
31. März 2008, 15:49
Rufname:
Wohnort: Hannover

AW: ADO Recordset geht nicht mit For-Next - AW: ADO Recordset geht nicht mit For-Next

Nach oben
       Version: Office 2003

Hallo Toadie,

das hat mit ADO/DAO nun wirklich nix zu tun. Wenn Du innerhalb der Schleife das Recordset(objekt) schliesst (Datenverbindung beendest), ist das prima und notwendig, es allerdings innerhalb der Schleife per Set rec = Nothing zu beerdigen führt natürlich bei der nächsten Benutzung zu einem Fehler. Also Close - Ja, geöffnete RecordSets dürfen nämlich kein zweites Mal geöffnet werden, aber nicht auf NICHTS festlegen, den mit NICHTS kann man auch kein .open mehr durchführen.

Die Set rec = Nothing Anweisung muss also GANZ am Ende stehen, wenn überhaupt. Ich persönlich glaube, das Access schon seit zig Versionen ganz gut selber aufräumt, und das explizite Löschen von Objekten überflüssig ist.

Grüße
Marcus
Willi Wipp
Moderator


Verfasst am:
31. März 2008, 15:50
Rufname:
Wohnort: Raum Wiesbaden

Re: ADO Recordset geht nicht mit For-Next (II) - Re: ADO Recordset geht nicht mit For-Next (II)

Nach oben
       Version: Office 2003

Hi Toadie,

habe ich an irgend einer Stelle etwas von nicht Schliessen (Close) gesagt? ;)

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Toadie
Im Profil kannst Du frei den Rang ändern


Verfasst am:
31. März 2008, 15:56
Rufname:


AW: ADO Recordset geht nicht mit For-Next - AW: ADO Recordset geht nicht mit For-Next

Nach oben
       Version: Office 2003

Ne oder? Ich dreh ab. Danke, daran lags!
Unglaublich Rolling Eyes
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Formulare: Probleme mit Set Recordset auf UFO 26 Access007 421 08. Nov 2013, 16:19
Gast Probleme mit Set Recordset auf UFO
Keine neuen Beiträge Access Tabellen & Abfragen: SQL einer View mit ADO nach Excel überführen 2 Volkwin 184 03. Sep 2013, 10:01
Blackpit2013 SQL einer View mit ADO nach Excel überführen
Keine neuen Beiträge Access Formulare: Formular mit ADO Recordset - Filtern und Sortieren 0 grelf111 221 14. Aug 2013, 12:46
grelf111 Formular mit ADO Recordset - Filtern und Sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Excel Tabelle nach Access importieren (Recordset) 1 jorettig 231 01. Aug 2013, 14:54
kyron9000 Excel Tabelle nach Access importieren (Recordset)
Keine neuen Beiträge Access Formulare: Datensätze in Tabelle filtern über Recordset 3 Supermarc1 77 30. Mai 2013, 13:24
MiLie Datensätze in Tabelle filtern über Recordset
Keine neuen Beiträge Access Tabellen & Abfragen: Recordset Wert aus Abfrage in Tabelle schreiben 9 Chris389 606 18. Apr 2012, 16:04
Marmeladenglas Recordset Wert aus Abfrage in Tabelle schreiben
Keine neuen Beiträge Access Formulare: Checkboxen ankreuzen per SQL Abfrage (Recordset) 8 Huurlibus 394 22. März 2012, 17:05
Huurlibus Checkboxen ankreuzen per SQL Abfrage (Recordset)
Keine neuen Beiträge Access Formulare: Recordset - an Unterformular übergeben 0 Andy06188 1297 03. Mai 2010, 09:24
Andy06188 Recordset - an Unterformular übergeben
Keine neuen Beiträge Access Formulare: Doppelte Einträge verhindern ADO 6 mumcos 1328 28. Apr 2010, 18:00
Gast Doppelte Einträge verhindern ADO
Keine neuen Beiträge Access Formulare: Recordset Programmierproblem 2 Tom_hh 306 09. Sep 2009, 06:26
Willi Wipp Recordset Programmierproblem
Keine neuen Beiträge Access Tabellen & Abfragen: Falsches Ergebnis bei Recordset.filter mit Datum?! 6 flowsn 929 09. Apr 2009, 10:22
flowsn Falsches Ergebnis bei Recordset.filter mit Datum?!
Keine neuen Beiträge Access Formulare: Formulardaten ins Recordset kopieren. 9 Gast 379 08. März 2009, 18:20
Gast Formulardaten ins Recordset kopieren.
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editoren Forum