OVH Cloud OVH Cloud

vider un table

8 réponses
Avatar
pierref
Bonjour,

est il possible, par requete, de supprimer les valeurs de
tous les champs d'une table, sans pour autant supprimer
les enregistrements ?

Merci d'avance

8 réponses

Avatar
Raymond [mvp]
Bonjour.

Pour faire ça tu fais une requête mise à jour et dans la ligne mise à jour
tu indiques "" pour les champs alpha, 0 pour les champs numériques, pour les
dates il faut voir ainsi que pour les autres champs. il faut vérifier les
index sans doublon, car avec ça tu va en avoir des doublons.
je ne sais pas ce que tu veux faire, mais la logique m'échappe.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit dans le message de
news:803401c431bf$30bf3b50$
Bonjour,

est il possible, par requete, de supprimer les valeurs de
tous les champs d'une table, sans pour autant supprimer
les enregistrements ?

Merci d'avance


Avatar
pierref
Heu.. y'a pas tellement de logique.
C'est une table dans laquelle je stocke des calculs de
corrélation.
Et je veux pouvoir la vider avant de refaire des calculs
parce que y'aura pas forcement le meme nb de données.

Sinon, dans mon code j'ai mis :


Set BD = DBEngine.Workspaces(0).Databases(0)

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',"
requete = requete & "[Corrélations].[1] = '',
[Corrélations].[2] = '', [Corrélations].[3] = '',
[Corrélations].[4] = '',"
requete = requete & "[Corrélations].[5] = '',
[Corrélations].[6] = '', [Corrélations].[7] = '',
[Corrélations].[8] = '',"
requete = requete & "[Corrélations].[9] = '',
[Corrélations].[10] = '', [Corrélations].[11] = '',
[Corrélations].[12] = '',"
requete = requete & "[Corrélations].[13] = '',
[Corrélations].[14] = '', [Corrélations].[15] = '',
[Corrélations].[16] = '';"
BD.Execute (requete)


Malheureusement ca ne fait rien ...(tous les champs sont
des champs texte)

Merci et a+

-----Message d'origine-----
Bonjour.

Pour faire ça tu fais une requête mise à jour et dans la
ligne mise à jour

tu indiques "" pour les champs alpha, 0 pour les champs
numériques, pour les

dates il faut voir ainsi que pour les autres champs. il
faut vérifier les

index sans doublon, car avec ça tu va en avoir des
doublons.

je ne sais pas ce que tu veux faire, mais la logique
m'échappe.


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit
dans le message de

news:803401c431bf$30bf3b50$
Bonjour,

est il possible, par requete, de supprimer les valeurs
de


tous les champs d'une table, sans pour autant supprimer
les enregistrements ?

Merci d'avance



.




Avatar
Raymond [mvp]
requete = "UPDATE [Corrélations] SET [Corrélations].Indices = '',"
requete = requete & "[Corrélations].[1] = '', [Corrélations].[2] = '',
[Corrélations].[3] = '', [Corrélations].[4] = '',"

je ne comprrend pas tes guillemets et les virgules.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit dans le message de
news:819601c431cc$99bdaad0$
Heu.. y'a pas tellement de logique.
C'est une table dans laquelle je stocke des calculs de
corrélation.
Et je veux pouvoir la vider avant de refaire des calculs
parce que y'aura pas forcement le meme nb de données.

Sinon, dans mon code j'ai mis :


Set BD = DBEngine.Workspaces(0).Databases(0)

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',"
requete = requete & "[Corrélations].[1] = '',
[Corrélations].[2] = '', [Corrélations].[3] = '',
[Corrélations].[4] = '',"
requete = requete & "[Corrélations].[5] = '',
[Corrélations].[6] = '', [Corrélations].[7] = '',
[Corrélations].[8] = '',"
requete = requete & "[Corrélations].[9] = '',
[Corrélations].[10] = '', [Corrélations].[11] = '',
[Corrélations].[12] = '',"
requete = requete & "[Corrélations].[13] = '',
[Corrélations].[14] = '', [Corrélations].[15] = '',
[Corrélations].[16] = '';"
BD.Execute (requete)


Malheureusement ca ne fait rien ...(tous les champs sont
des champs texte)

Merci et a+
Avatar
pierref
ben en fait j'ecris ma requète dans le string "requete" et
je l'execute. ca donne : (requete raccourcie pour exemple)

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',[Corrélations].[1] = '',
[Corrélations].[2] = '', [Corrélations].[3] = '',
[Corrélations].[4] = '';"

BD.Execute (requete)

J'ai mis des tilds '' au lieu des guillemets "" parce que
je peux pas mettre ces derniers dans un string.

Ca te semble faut ? en tout cas ca marche pas : il se
passe rien qd j'execute :-)

Merci


-----Message d'origine-----

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',"

requete = requete & "[Corrélations].[1] = '',
[Corrélations].[2] = '',

[Corrélations].[3] = '', [Corrélations].[4] = '',"

je ne comprrend pas tes guillemets et les virgules.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit
dans le message de

news:819601c431cc$99bdaad0$
Heu.. y'a pas tellement de logique.
C'est une table dans laquelle je stocke des calculs de
corrélation.
Et je veux pouvoir la vider avant de refaire des calculs
parce que y'aura pas forcement le meme nb de données.

Sinon, dans mon code j'ai mis :


Set BD = DBEngine.Workspaces(0).Databases(0)

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',"
requete = requete & "[Corrélations].[1] = '',
[Corrélations].[2] = '', [Corrélations].[3] = '',
[Corrélations].[4] = '',"
requete = requete & "[Corrélations].[5] = '',
[Corrélations].[6] = '', [Corrélations].[7] = '',
[Corrélations].[8] = '',"
requete = requete & "[Corrélations].[9] = '',
[Corrélations].[10] = '', [Corrélations].[11] = '',
[Corrélations].[12] = '',"
requete = requete & "[Corrélations].[13] = '',
[Corrélations].[14] = '', [Corrélations].[15] = '',
[Corrélations].[16] = '';"
BD.Execute (requete)


Malheureusement ca ne fait rien ...(tous les champs sont
des champs texte)

Merci et a+


.



Avatar
Raymond [mvp]
place un debug.print de requête avant le execute , moi je trouve que les
guillemets et apostrophes ne vont pas.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit dans le message de
news:823e01c431da$5cec0620$
ben en fait j'ecris ma requète dans le string "requete" et
je l'execute. ca donne : (requete raccourcie pour exemple)

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',[Corrélations].[1] = '',
[Corrélations].[2] = '', [Corrélations].[3] = '',
[Corrélations].[4] = '';"

BD.Execute (requete)

J'ai mis des tilds '' au lieu des guillemets "" parce que
je peux pas mettre ces derniers dans un string.

Ca te semble faut ? en tout cas ca marche pas : il se
passe rien qd j'execute :-)

Merci


-----Message d'origine-----

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',"

requete = requete & "[Corrélations].[1] = '',
[Corrélations].[2] = '',

[Corrélations].[3] = '', [Corrélations].[4] = '',"

je ne comprrend pas tes guillemets et les virgules.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit
dans le message de

news:819601c431cc$99bdaad0$
Heu.. y'a pas tellement de logique.
C'est une table dans laquelle je stocke des calculs de
corrélation.
Et je veux pouvoir la vider avant de refaire des calculs
parce que y'aura pas forcement le meme nb de données.

Sinon, dans mon code j'ai mis :


Set BD = DBEngine.Workspaces(0).Databases(0)

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',"
requete = requete & "[Corrélations].[1] = '',
[Corrélations].[2] = '', [Corrélations].[3] = '',
[Corrélations].[4] = '',"
requete = requete & "[Corrélations].[5] = '',
[Corrélations].[6] = '', [Corrélations].[7] = '',
[Corrélations].[8] = '',"
requete = requete & "[Corrélations].[9] = '',
[Corrélations].[10] = '', [Corrélations].[11] = '',
[Corrélations].[12] = '',"
requete = requete & "[Corrélations].[13] = '',
[Corrélations].[14] = '', [Corrélations].[15] = '',
[Corrélations].[16] = '';"
BD.Execute (requete)


Malheureusement ca ne fait rien ...(tous les champs sont
des champs texte)

Merci et a+


.



Avatar
pierref
heu je sais pas comment on fait le "debug.print de
requête ", je trouve rien la dessus dans l'aide...

pour les apostrophes, je pense que ca devrait marcher
parce que je le fais deja dans des requetes du genre :

requete = "select tab.nom from tab where tab.prenom = '" &
zone_prenom & "';"
BD.Execute (requete)


-----Message d'origine-----
place un debug.print de requête avant le execute , moi je
trouve que les

guillemets et apostrophes ne vont pas.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit
dans le message de

news:823e01c431da$5cec0620$
ben en fait j'ecris ma requète dans le string "requete" et
je l'execute. ca donne : (requete raccourcie pour exemple)

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',[Corrélations].[1] = '',
[Corrélations].[2] = '', [Corrélations].[3] = '',
[Corrélations].[4] = '';"

BD.Execute (requete)

J'ai mis des tilds '' au lieu des guillemets "" parce que
je peux pas mettre ces derniers dans un string.

Ca te semble faut ? en tout cas ca marche pas : il se
passe rien qd j'execute :-)

Merci


-----Message d'origine-----

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',"

requete = requete & "[Corrélations].[1] = '',
[Corrélations].[2] = '',

[Corrélations].[3] = '', [Corrélations].[4] = '',"

je ne comprrend pas tes guillemets et les virgules.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit
dans le message de

news:819601c431cc$99bdaad0$
Heu.. y'a pas tellement de logique.
C'est une table dans laquelle je stocke des calculs de
corrélation.
Et je veux pouvoir la vider avant de refaire des calculs
parce que y'aura pas forcement le meme nb de données.

Sinon, dans mon code j'ai mis :


Set BD = DBEngine.Workspaces(0).Databases(0)

requete = "UPDATE [Corrélations] SET
[Corrélations].Indices = '',"
requete = requete & "[Corrélations].[1] = '',
[Corrélations].[2] = '', [Corrélations].[3] = '',
[Corrélations].[4] = '',"
requete = requete & "[Corrélations].[5] = '',
[Corrélations].[6] = '', [Corrélations].[7] = '',
[Corrélations].[8] = '',"
requete = requete & "[Corrélations].[9] = '',
[Corrélations].[10] = '', [Corrélations].[11] = '',
[Corrélations].[12] = '',"
requete = requete & "[Corrélations].[13] = '',
[Corrélations].[14] = '', [Corrélations].[15] = '',
[Corrélations].[16] = '';"
BD.Execute (requete)


Malheureusement ca ne fait rien ...(tous les champs sont
des champs texte)

Merci et a+


.




.




Avatar
Raymond [mvp]
Tu peux m'envoyer la requête avec le minimum d'objets indispensables ? en
zip obligatoire et en enlevant le XYZ. dans l'adresse.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit dans le message de
news:7f8401c431e1$53d4bcb0$
heu je sais pas comment on fait le "debug.print de
requête ", je trouve rien la dessus dans l'aide...

pour les apostrophes, je pense que ca devrait marcher
parce que je le fais deja dans des requetes du genre :

requete = "select tab.nom from tab where tab.prenom = '" &
zone_prenom & "';"
BD.Execute (requete)
Avatar
Raymond [mvp]
Message par mail:

Tout marche très bien sauf que tu as mis Dim BD As Database sans préciser
dao et ça doit interférer avec du ADO , non ?

De toute façon ça ne sert à rien.

J'ai modifié ta procédure comme suit et elle marche impeccable:

Function vider()
Dim requete As String
requete = "UPDATE [Corrélations] SET [Corrélations].Indices = '',"
requete = requete & "[Corrélations].[1] = '', [Corrélations].[2] = '',
[Corrélations].[3] = '', [Corrélations].[4] = '',"
requete = requete & "[Corrélations].[5] = '', [Corrélations].[6] = '',
[Corrélations].[7] = '', [Corrélations].[8] = '',"
requete = requete & "[Corrélations].[9] = '', [Corrélations].[10] = '',
[Corrélations].[11] = '', [Corrélations].[12] = '',"
requete = requete & "[Corrélations].[13] = '', [Corrélations].[14] = '',
[Corrélations].[15] = '', [Corrélations].[16] = '';"
CurrentDb.Execute requete
End Function


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum