title image


Smiley Re: hups, ist viel Text geworden...
Wenn der Recordset an einer Datenbank hängt, würde ich mit dem Löschen vorsichtig sein,

sonst werden uU die daten aus der datenbank gelöscht und das solls ja wohl nicht sein.

Alle gebookmarkten Datensätze eines Recordsets löschen ist relativ einfach (Delete mit

adAffectGroup), aber wie man alle nicht gebookmarkten Datensätze löscht...?





In der Schleife, in der du die gebookmarkten Datensätze durchgehst, kannst du ja

die Datensätze einzeln an Excel geben.

Wenn du einen ganzen Recordset an Excel geben willst, dann würde ich an deiner

Stelle einen ungebundenen Recordset erstellen.



So bekommt man einen Recordset (rsUnBound), der die gleichen Spalten hat wie

der ursprüngliche Recordset (rsData) aber an keiner Datenbank ist.



Dim rsUnBound As RecordSet



Set rsUnBound = New RecordSet

For i = 0 To rsData.Fields.Count -1

   rsUnBound.Fields.Append rsData.Fields(1).Name, _

                           rsData.Fields(1).Type, _

                           rsData.Fields(1).DefinedSize, _

                           rsData.Fields(1).Attributes



Next i



Und in diesen Recordset kannst du dann alle Datensätze pinseln, die du an

Excel übergeben willst.



Beim Clonen des Recordsets hast du das Problem, daß du nicht sicher die

nicht gebookmarkten Datensätze erkennst, weil ein Datensatz mehrere

verschiedene Bookmarks haben kann. Wenn also die Bookmark-Eigenschaft

nicht leer ist, heißt das noch lange nicht, daß dieses Bookmark vom Datagrid ist.





Oder was vielleicht funktionieren könnte, eine Funktion, die prüft,

ob ein Datensatz vom DataGrid ein Bookmark hat und einen Array.

Wenn der Datensatz kein DataGridbookmark hat, dann gibt man ihm

ein eigenes Bookmark, das man sich natürlich im Array merkt.

Anschließend alle Bookmarks löschen und alle im Array gemerkten

Bookmarks setzen. Dann hat man auf allen nicht von DataGrid gewählten

Datensätze ein Bookmark und kann diese mit Delete adAffectGroup löschen




Gruß
Gaga

___________________________________________________________________

Profilösungen für VB6
wenn nicht anders angegeben, sind alle Codebeispiele nicht getestet, nur getippt


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: