| |
Visual-Basic EinsteigerSatzzeiger | | | Autor: Ueli | Datum: 23.05.18 23:54 |
| Guten Abend
VB6.0 pro, XP pro Servicepack3, Office XP
In meiner Anwendung habe ich folgenden Aufbau.
Ich verwende eine Access-Datenbank mit einer Tabelle "Zeiterfassung".
Darin sind die Stempelungen von allen Angestellten gespeichert.
In einem Formular "Editieren" kann ich nun die einzelnen Personalnummer-Zeitpackete anschauen.
Ich habe nun z.B von der Personalnummer 1000 ein Zeitpacket von 12 Datensätzen.
Mit den Buttons "First", "Previous", "Next" und "Last" kann ich nun einwandfrei navigieren.
Wenn ich nun aber mit Code z.B. MoveFirst eingebe dann springt der Zeiger kurz auf 1 um dann sofort
auf -2 zu wechseln.
Ich bin am Anschlag und bedanke mich für jeden Rat.
Irgendwo mache ich einen Fehler finde leider nicht wo.
Vielen Dank für Ratschläge.
Gruss vom Bodensee
Ueli Grüninger | |
Re: Satzzeiger | | | Autor: Franki | Datum: 24.05.18 03:07 |
| Hallo Ueli,
deine Angaben sind leider etwas dürftig, da wir erstens nicht wissen wie genau deine DB aufgebaut ist (Feldtypen) und was du genau im Code machst.
Arbeitest du innerhalb von VB6 mit DAO oder mit ADO?
Wie sieht der Code des Formulars genau aus mit dem du die Daten der jeweiligen Personalnummer füllst? (Nach was ist die SQL Abfrage sortiert?)
Wo genau über welches Ereignis möchtest du im Code denn navigieren?
Zeiterfassung ist eigentlich relativ einfach, aber der Teufel steckt im Detail wie das Sprichwort so schön sagt...
Etwas mehr Infos wären hilfreich damit man konkret antworten kann.
Gruß
Frank | |
Re: Satzzeiger | | | Autor: Souffleurlos | Datum: 27.05.18 11:18 |
| Hallo,
wenn Du einen Readonly-Recordset hast können MoveFirst und MoveLast nicht verwendet werden. Bilde einen Recordset vom Typ: Dynamic. | |
Re: Satzzeiger | | | Autor: Ueli | Datum: 27.05.18 11:49 |
| Hallo Souffleurlos
Ich bedanke mich für Deinen Tip. Scheint zu funktionieren.
Leider bekommt man in den Foren zu oft Antworten, welche eigentlich eine Gegenfrage sind.
Das eigene "Oberstübli" anzustrengen ist oft zuviel verlangt.
Nochmals vielen Dank für den Tip und Grüsse vom Nodensee.
Ueli Grüninger | |
Re: Satzzeiger | | | Autor: Ueli | Datum: 27.05.18 11:50 |
| Es ist natürlich der schöne Bodensee gemeint. (Schreibfehler) | |
Re: Satzzeiger | | | Autor: Franki | Datum: 29.05.18 02:27 |
| Hallo,
na ja die Gehirnzellen des "Oberstübli" sollten aber auch bei der Fragestellung etwas aktiviert werden. Wenn dem nicht so ist, dann kommen halt Gegenfragen um das Problem konkretisieren zu können.
Aber wie man an deinem Beispiel sieht kann das auch ohne funktionieren.
Du hast die Antwort bekommen, du schreibst, dass es scheinbar funktioniert. Aber die Antwort ist definitiv falsch gewesen, denn ReadOnly hat rein gar nichts damit zu tun wie man in einem ADO Recordset navigieren kann. Es besagt nur, dass man es lesen kann aber nicht beschreiben kann oder neue Datensätze hinzufügen kann.
Das Thema ist etwas umfangreicher es gib LockType, und CursorType z.B. mit jeweils eigenen Paramatern bzw. Konstanten. Dynamic ist nur eine davon, per Zufall hat es funktioniert.
Also langer Rede kurzer Sinn, manchmal sind Gegenfragen sinnvoll, manchmal sind konkrete Problembeschreibungen sinnvoll, manchmal tifft die Antwort per Zufall genau die Lösung. Aber wir programmieren ja und spielen nicht Lotto...
Gruß
Frank | |
Re: Satzzeiger | | | Autor: Souffleurlos | Datum: 29.05.18 21:26 |
| Hallo Franki,
mit einem statischen Cursor kannst Du weder in DAO noch ADO in den Datensätzen rückwärts navigieren. MoveFirst ist so eine Methode, die rückwärts navigiert. Deswegen entsteht der Resultwert -2 (BOF), weil eine dynamische Cursorverwaltung fehlt, die beide Richtungen toleriert. Will man das, so ist explicit der dynamische Cursor in den Öffnungsparametern der Open-Methode anzugeben. Wenn man das nicht tut, ist automatisch der schnellere statische Abwärtscursor eingestellt.
Das Problem ist: Dieser Prarameter darf nicht optional sein, sondern muss definitiv vom Entwickler gesetzt werden sollen. Aber wir schreiben diese Objektmodelle nicht - oder?
Beitrag wurde zuletzt am 29.05.18 um 21:44:01 editiert. | |
Re: Satzzeiger | | | Autor: Franki | Datum: 30.05.18 02:55 |
| Hallo,
siehst du, noch mehr Details die mit dem Problem zusammen gehangen haben könnten. Und du hast recht, hier ist Fachwissen gefragt um ein konkretes Problem lösen zu können.
Aber Hut ab, du hast sofort erkannt wo das Problem lag, ich nicht.
Aber grundsätzlich ist das nich immer so einfach, den DAO und ADO sind halt nicht identisch, die verwendeten Datenbanken auch nicht usw. usw. Deswegen stelle ich halt oft Rückfragen um das Problem eingrenzen zu können.
Gruß
Frank | |
Re: Satzzeiger | | | Autor: Ueli | Datum: 30.05.18 07:15 |
| Hallo Franki
Bei jedem, der sich an der Problemlösung beteiligt hat bedanke ich mich.
Das Problem ist im Moment gelöst.
Gruss vom schönen Bodensee
Ueli Grüninger | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|