Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Visual Basic 6.0 / VBA » Seltsame Fehlermeldung

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
26.09.2005, 18:52 Uhr
~Gaschd
Gast


hallo,

ich gehe in einer schleife in access-vba durch eine tabelle. irgendwann heißt es dann 'kein aktueller datensatz', obwohl ich vom direktfenster weiß, dass gerade mal ca. 1% der tabelle durchlaufen wurde und es an dieser (und auch an der folgenden) stelle sehr wohl einen vollständigen, validen datensatz gibt.
hier mal der code:


Code:
with tab1
Do Until .EOF
  Debug.Print (!conflictID) 'DEBUGGING
  If !conflictID = 520021 Then Exit Do
  If flag = False Then kombination = ""
  If vor_kID = !conflictID And vor_jahr = !Year Then
    flag = True
    kombination = kombination & !itemskomb
    .Delete
  Else
    If flag Then
      flag = False
      .AddNew
      !conflictID = vor_kID 'HIER PASSIERTS
      !itemskomb = kombination
      !Year = vor_jahr
      .Update
    End If
  End If
  vor_kID = !conflictID
  vor_jahr = !Year
  .MoveNext
Loop
end with



wenn ich auf die spitzenoption 'debuggen' klicke, komme ich in die zeile, die ich mit 'HIER PASSIERS' versehen habe. er versucht wohl, der variablen einen wert zuzuweisen, ohne dass er einen hat. wie gesagt, wir haben uns die tabelle eingehend angesehen und werden nicht schlau draus, da das ende eben noch lange nicht erreicht ist. ???

vielen dank im voraus für hilfreiche antworten!

gruß dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.09.2005, 19:28 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
hast Du mal einen Haltepunkt am Eingang der Kopfgesteuerten gesetzt und den Wert der Variablen überprüft? Kannst Du den aktuellen ds Count der Tabelle ermitteln. Hat conflictID in jedem Record auch einen Wert? Wenn an der Stelle:
vor_kID = !conflictID
confictID DBNULL ist dann scheppert's dann natürlich. Weiterhin kann es sein das eine Einfügeoperation getätigt wird (If flag Then...). Dann könnte der Satzzeiger dann schon eine Position hinter EOF sein.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.09.2005, 13:14 Uhr
~Gaschd
Gast


dank dir uwe. der gag war, dass ich erst gelöscht habe mit .delete und dann den wert zuweisen wollte. sorry, ich muss ja auch nicht jeden gruschd posten. aber weiß vielleicht jemand, ob und wie es möglich ist, strings zu sortieren, sodass beispielsweise aus 'hallo' 'ahllo' werden würde? ich befürchte, dass eine solche string-manipulation nicht implementiert ist (wäre wohl auch die erste sprache, die mir eine solche funktion oder methode zur verfügung stellt). aber vielleicht gibt es ja eine allgemeine sortierfunktion für einzelne werte...

vielen dank nochmal an dich, uwe und an alle im vorab, die mir noch weiterhelfen!

schöne grüße
dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.09.2005, 22:12 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Dirk,

Zitat von ~Gaschd:
strings zu sortieren, sodass beispielsweise aus 'hallo' 'ahllo' werden würde?


IMHO hat das nix mit sortieren zu tun, sondern mit tauschen. Wie hast Du das da oben gemacht? Genau so funzt das programmiertechnisch. Auch VBA kennt solche Funktionen wie Len, Mid etc.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Visual Basic 6.0 / VBA ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: