OVH Cloud OVH Cloud

Erreur

3 réponses
Avatar
steph
je souhaite vider une table dans une base Access je fais:

SQL = "DELETE * FROM temp;"
Adodc2.RecordSource = SQL
Adodc2.Refresh

et j'ai une erreur sans numéro "Cette opération n'est pas autorisée si
l'objet est fermé".
Tout fonctionne bien mais j'ai ce message que je ne pas voir apparaitre.

VB6 SP5 ADO Microsoft Jet 4.0

Merci.

3 réponses

Avatar
Dominique Buccafurri
"steph" a écrit dans le message de news:
3f5a03b1$0$10773$
je souhaite vider une table dans une base Access je fais:

SQL = "DELETE * FROM temp;"
Adodc2.RecordSource = SQL
Adodc2.Refresh



Salut,
pourquoi tu fait pas
Adodc2.Execute("Delete * From temp")
Bye
Avatar
Dominique Buccafurri
En effets avec l'objet Recordset la commande Execute n'existe pas

(mea culpa)

il faut l'utiliser avec l'objet Connection

après avoir déclaré la connection

tu peux exécuter une commande SQL



Bye
Avatar
INFOEDUC
J'ai une solution qui peut paraître "primaire" et peu
sophistiquée, mais je te garantis qu'elle fonctionne :

Soit Rst, variable pointant vers un objet recordset (en
l'occurence la table que tu veux vider).
Tu peux utiliser la procédure suivante :

Sub Efface_Fichier()
RSt.MoveFirst
Do Until RSt.EOF
RSt.Delete adAffectCurrent
RSt.MoveNext
Loop
End Sub

Il existe un pramètre adAffectAll, qui doit pouvoir
t'éviter la boucle Do-Loop en supprimant la totalité des
enregs d'un coup, mais je ne l'ai pas essayée.

-----Message d'origine-----
je souhaite vider une table dans une base Access je fais:

SQL = "DELETE * FROM temp;"
Adodc2.RecordSource = SQL
Adodc2.Refresh

et j'ai une erreur sans numéro "Cette opération n'est


pas autorisée si
l'objet est fermé".
Tout fonctionne bien mais j'ai ce message que je ne pas


voir apparaitre.

VB6 SP5 ADO Microsoft Jet 4.0

Merci.


.