Supprimer plusieurs lignes dans un flexgrid?

Fermé
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 30 déc. 2010 à 16:51
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 31 déc. 2010 à 11:55
Bonjour,

je programme en visual basic 6.0 et access et je souhaiterai savoir comment faire pour supprimer plusieurs lignes d'un msflexgrid (que j'aurai sélectionné) d'un coup. Mais je ne sais pas comment m'y prendre. J'ai mis la propriété BackColorSel à &HF8505 en cas de sélection et je me disais qu'en faisant :

Do While msflog.BackColorSel = &HF8505
cn.Execute "delete from tlog where " & msflog.BackColorSel = &HF8505 " "
rs1.MoveNext
Loop


ça irai, mais ça ne marche malheureusement pas. Quelqu'un aurait-il une idée s'il vous plaît?

Merci d'avance.

Cordialement.



A voir également:

2 réponses

js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
30 déc. 2010 à 21:52
Voici où j'en suis mais ça ne marche toujours pas :

Dim rslog As New ADODB.Recordset
rslog.Open "select * from tlog", cn, adOpenDynamic, adLockOptimistic

z = msflog.TextMatrix(msflog.Row, 0)

For i = 1 To z

   If msflog.BackColorSel = 1017093 Then
      msflog.RemoveItem i
      cn.Execute "delete from tlog where numlog = " & i & " "
                    
   Else
                    
                    
   End If
                    
Next i


Que .BackColorSel soit égal à 1017093 ou RGB(5,133,15) ça ne marche pas car il me supprime tout jusqu'à z.

Quelqu'un pourrait-il m'aider s'il vous plaît?

Merci d'avance.

Cordialement.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 194
Modifié par lermite222 le 31/12/2010 à 12:51
Bonjour,
Avec un MsFlex ou MsHFlex tu ne peu pas supprimer des lignes intermédiaires, il faut le faire par programmation, supposons que tu veux supprimer les lignes 3 et 4, il faut remonter toutes les données des lignes 5 à Flex.Rows de 2 lignes et ensuite Flex.rows =Flex.rows-2
J'ai peut-être des erreurs de syntaxe, j'ai fait ça à mais levée.
A+
Edit:
Avec TextMatrix Copier/Coller ça devrait fonctionner.
Autre solution (mais j'ai jamais fais)
Supprimer dans le recordset / supprimer 2 lignes et réaffecter ta table au MsFlex
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0