MS Datagrid Control 6.0 in Excel

Hallo,
ich bin wieder da und hab jetzt ein Problem, das ich ohne eure Hilfe wahrscheinlich nicht lösen werde.

Ich habe eine UserForm in Excel, die ein Multipage-Objekt enthält. Auf eine Seite dieses Objekts habe ich ein Datagrid eingefügt. Dieses Datagrid fülle ich mit den Werten aus einer Datenbank. Wenn ich auf die Seite mit dem Datagrid wechsle, öffne ich die Verbindung zur DB und fülle das Datagrid. Beim Wechsel zu einer anderen Seite schließe ich die Verbindung zur DB.
Das Problem ist, dass wenn ich im Datagrid zwischen den Zellen springe (also editiere), dann die Seite wechsle und dann wieder zurückkehre und im Datagrid zwischen den Zellen springe, löscht das Datagrid die Werte aus den Zellen und in der DB auch.

Ich hab schon versucht, die Verbindung zur DB nicht zu schließen beim Wechsel zwischen den Seiten, aber das hilft nicht.

Hat vielleicht von euch jemand eine Idee, was das Problem sein kann?

Vielen Dank im Voraus.

Lilia

Hallo Lilia,

Das Problem ist, dass wenn ich im Datagrid zwischen den Zellen
springe (also editiere), dann die Seite wechsle und dann
wieder zurückkehre und im Datagrid zwischen den Zellen
springe, löscht das Datagrid die Werte aus den Zellen und in
der DB auch.
Hat vielleicht von euch jemand eine Idee, was das Problem sein
kann?

nein.

Kannst du mal die Mappe hochladen, damit man die Codes sieht, so wie sich mir das darstellt kannst du ja die Daten in den Blättern löschen wenn sie keine Rolle spielen.
Dann die Datenbank, was genau ist die DB? Eine Accessdatei, irgendwas im Internet?
Ggfs. auch hochladen.
Hochladen mit FAQ:2861
Auch diese dll von deinem anderen Beitrag wenn man die braucht.

Wenn dann auch morgen/übermorgen hier keine Hilfe kommt, kannst du ja mal den hiesigen Mod bitten deinen Beitrag ins VB-Brett zu verschieben.
Wenn es wie ich annehme in VB auch ein Datagrid Objekt gibt kann dir dort vielleicht Rainer etwas für VB basteln, er kennt sich in VB sehr gut aus und auch mit DB-Zugriffen.

Dies müßte man dann nur noch versuchen nach Vba umschreiben.

Gruß
Reinhard

Hallo Reinhard,

ich hab die Dateien unter folgender Adresse abgelegt:
http://www.hostarea.de/server-02/Februar-a225ede971.zip

Dort sind alle Dateien, die man braucht. Man muß evtl. den Pfad zur Datenbank im Visual Basic Editor ändern.
DB ist die Datenbank, genau gesagt Access Datenbank.
Die Form wird nach dem Anklicken des Buttons „OpenUserForm“ geladen.

Vielen Dank.

Lilia

Hallo Reinhard,
ich bin der Lösung schon etwas näher gekommen. Ich habe die Parameter vom Recordset verändert und zwar hatte ich vorher:

MyRecordset.Open strSQL, Conn, adOpenStatic, adLockOptimistic

und jetzt habe ich den vierten Parameter in adLockReadOnly geändert:
MyRecordset.Open strSQL, Conn, adOpenStatic, adLockReadOnly

Es werden nun die Werte im Datagrid nicht mehr gelöscht. Das Verhalten vom Datagrid kann ich mir trotzdem nicht erklären. Bei der ersten Auswahl der Multipage-Seite kann man die einzelnen Zellen im Datagrid anwählen. Jedoch bei der zweiten Auswahl ist dies nicht mehr möglich.

Gruß,
Lilia