Supprimer un RecordSet (DAO) VB6 [Résolu]

Signaler
Messages postés
171
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007
-
Messages postés
171
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007
-
Je vais tenter d'être le plus explicite possible sur cette question.

Je réalise une BDD avec une table pour gérer un treeview (appelé plus bas TV pour faire simple :-)) et une autre table pour divers infos que j'affiche dans une listview.

Mon problème est le suivant : aprés avoir supprimé un item dans la Table pour le TV avec la fonction "Delete" je me rend compte qu'à l'ouverture de ma base lorsqu'une partie s'initialise dans le TV l'information supprimée est quand même lu occasionant un bug (puisque le TV marche avec des KEY Parent et enfant blabla bref...)

Même aprés avoir utiliser la fonction "CompactDatabase" j'en suis toujours au même point, l'item est toujours là il veut pas partir.

Une soluce consisterai à ajouter un champ supplémentaire de type boolean que j'appelerai "Del" et qui vérifierai au démarrage si l'item à ajouter n'a pas été supprimé mais bon je suis sur qu'il y a mieux que ça (enfin j'espère).

Pour résumer en gros même avec la fonction "Delete" j'ai pas l'impression que sa supprime vraiment l'enregistrement (ct trop beau) alors si on doit passer par le compactage peut-on omettre certaines infos dans la base comme on le fesait avec les fameux fichier à accés direct :-)

Pour la gestion de mon Treeview j'ai pas de problème de ce côté là, tous vient de cette fonction "Delete"

Si quelqu'un a une idée ou une astuce je suis preneur, merci d'avance

4 réponses

Messages postés
171
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007

Eh ben merci pour les infos j'y vois déjà plus clair et j'ai pu corriger mon gros bug (c'était moi qui avait mal codé un truc et qui grippé tout )

@plus
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
104
Heu... de quelle fonction delete tu parle ? S'il s'agit de la fonction
Delete du recordset, elle fonctionne bien, par contre, peut-être qu'en
DAO, il faut faire un Update juste après (je me souviens plus, je suis
passé à ADO depuis, bien que je préfèrais DAO qui était plus rapide et
moins lourd !).

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
Messages postés
171
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007

Pas de soucis je pense que je me suis viandé quelque part dans mon code, en régle générale quand je pose une question ici il m'arrive de trouver la réponse aprés avoir posté :-)

Le update ne marche que pour le Addnew et le Edit

Hote moi d'un doute puisque tu es là, lorsque tu compacte ta base toutes les fiches qui ont été supprimés avec la fonction "Delete" n'apparaissent plus dans le nouveau fichier ?!
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
104
Ce n'est pas qu'elle n'apparaissent plus dans le nouveau fichier,
lorsque tu les supprime, ils n'apparaissent déjà plus, c'est que
l'espace occupé par ta base de données (le fichier donc), est recalculé
selon la longueur des champs => en théorie tu y gagne de la place.
Enfin, il me semble !

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/