Probleme avec la méthode delete en ADO

SoulGardian Messages postés 6 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 23 avril 2007 - 5 avril 2007 à 15:43
HUGOFLASH Messages postés 27 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 5 juin 2007 - 5 avril 2007 à 18:27
Bonjour, à toutes et a tous

Je suis en débutant en VB6 et je travaille actuellement sur une base de données access avec le modèle ADO. Je bloque sur un point depuis quelques moment et j'aimerais avoir des conseils ou des solutions car je n'arrive plus a avancer.

Voici la problème

Mon application geère une base de données, dans cette base j'ai deux tables, une pour les ordinateurs et une pour les logiciels. La table logiciel contient les champs suivant NomLog, Version et License

Ces informations sont affichés dans un datagrid
Au départ pour tester l'effacement complet de tous les logiciels liés a une machine, je renseigne environ 40 logiciels fictif avec seulement leur NomLog
le code pour effacer est le suivant:

if rsLogi.RecordCount > 0then
dowhilenot rsLogi.eof
rsLogi.Delete
rsLogi.MoveNext
Loop
EndIf

L'effacement à lieu

Ensuite, j'ai commencer a renseigné pour chaque logiciel la version, et la tout se gate...
L'effacement n'as plus lieu et j'ai ce message d'erreur

"Informations sur la colone clé incomplètes ou incorrectes. Trop de lignes sont concernées par la mise à jour"

La je suppose donc que la méthode delete à des limites d'utilisation.. on ne peut donc supprimer qu'un certain nombre d'enregistrement? (enfin je me trompe êut etre)

Je n'arrive pas a contourner le probleme et je bloque dessus depuis ce matin
Pouvez m'indiquez une autre facon de faire pou vider un recordset? ou bien avoir des conseil ou des pistes pour résoudre le problèmes?

Je vous remercie d'avance

1 réponse

HUGOFLASH Messages postés 27 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 5 juin 2007
5 avril 2007 à 18:27
Bonjour,

pour vider une table ou supprimer un enregistrement, il te suffit d'utiliser une requête action.

Delete * from table 'supprime tous les ernregistrements d'une table

delete * from table where champ='France'   'supprime tous les enregistrements dont le champ contient France

@+

Hugoflash
0
Rejoignez-nous