Also:
- (passierte gleich zweimal bei unterschiedlichen Tabellen)
Ich hatte einen Wert, der einem bestimmtenn Feld in einer bestimmten Tabelle sicher vorkam (es war eine Bücherliste und das Feld hieß BID), und wollte den Datensatzzeiger auf das Buch bewegen, bei dem BID == mein_Wert war. Da ich damals mit SQL noch nicht vertraut war, hab ich also die Tabelle von Anfang bis Ende durchsucht und jeden einzelnen Datensatz verglichen. Access hat die Tatsache, daß es einen Datensatz gab, wo die Gleichung galt, einfach stillschwigend übergangen und mir dauernd einen End-of-Table-Fehler zurückgegeben. Dieses Problem ließ sich lösen, indem ich den Wert auf eine andere Variable gleichen Typs gelegt hatte und immer mit dieser Variable verglichen habe.
Das hört sich wenn schon, dann eher nach einem Fehler der SQL-Engine an. Da der Fehler weggeht wenn Du mit einer Variable vergleichst, könnte es sein, das Du die Quotes für die Konstante vergessen hattest (üblicher Schusselfehler, passiert mir andauernd). Bring doch hier mal das SQL Statement.
- es gab dort eine Funktion, um Bücher auszuleihen. Man mußte den
Benutzer eingeben und konnte dann aus dem Bestand aller Bücher die auswählen, die sich der Benutzer ausgeliehen hatte und klickte auf auswählen, was dann die entsprechende Funktion aufrief. Eines vorweg: der Quellcode _war_ in Ordnung (bei so 30-40 Zeilen simplen Codes kann ich das mit Sicherheit behaupten, ich hab mit Debuggen ein paar Stunden darangesessen). Die Folge war, daß sehr sporadisch manchmal
Hmmm, das muß ich mir für meinen Chef merken ("Ich hab das den ganzen Tag lang debugged, der Fehler muß am Compiler liegen."). Cool. ;-)
Mail mir doch mal den Code...
einige, manchmal eins, manchmal alle angewählten Bücher ausgeliehen wurden.
Wenn ich jetzt noch bedenke, daß das ganze Programm so < 500 Zeilen Quellcode hatte, wage ich dann doch, solche Behauptungen aufzustellen.
Ich hab auch schon in 10 zeiligem Code Unsinn gebaut...
Gruß, Eric