OVH Cloud OVH Cloud

Enchainer un suite de requete de mise à jour

9 réponses
Avatar
Bob
Salut
J'ai une base donnée avec une quinzaine de requète de mise à jour qu'il faut
exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à jour ( ds le cas ou
la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier

9 réponses

Avatar
Gafish
Bonjour,

Oui, tu peux enchaîner des requêtes par code ou par macro.
Dans le code, ce sera :

CurrentDb.Execute "Nom de te requête"
et ainsi de suite

dans une macro, tu utiliseras "OuvrirRequête"

Ce sera fait dans l'ordre dans lequel tu auras mis tes requêtes, tâche par
tâche.

Arnaud

"Bob" a écrit dans le message news:
4200dfbf$0$6626$
Salut
J'ai une base donnée avec une quinzaine de requète de mise à jour qu'il
faut

exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à jour ( ds le cas
ou

la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier




Avatar
Antoine Labusquière
Dans une macro, si tu ne veux pas trop toucher au code, tu fais:
ligne 1:OuvrirRequête "le nom de ta requete"
ligne 2:OuvrirRequête "le nom de ta requete"
...

Access attendra que l'éxecution d'une requête soit terminée pour passer à la
suivante.


"Bob" a écrit dans le message de
news:4200dfbf$0$6626$
Salut
J'ai une base donnée avec une quinzaine de requète de mise à jour qu'il
faut

exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à jour ( ds le cas
ou

la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier




Avatar
Bob
Merci

"Antoine Labusquière" a écrit dans
le message de news: ctqnhp$hcf$
Dans une macro, si tu ne veux pas trop toucher au code, tu fais:
ligne 1:OuvrirRequête "le nom de ta requete"
ligne 2:OuvrirRequête "le nom de ta requete"
...

Access attendra que l'éxecution d'une requête soit terminée pour passer à
la

suivante.


"Bob" a écrit dans le message de
news:4200dfbf$0$6626$
Salut
J'ai une base donnée avec une quinzaine de requète de mise à jour qu'il
faut

exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à jour ( ds le
cas


ou
la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier








Avatar
Pierre CFI [mvp]
bonjour
les aperçus sur des req mise à jour !!!!!!!

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Techniciel" a écrit dans le message de news:4200ee18$0$19422$
Bonjour

Je reprend le fil de ce message car j'ai rencontré justement un problème de
séquence dans l'exécution des actions.

Pour simlpifier, je devais :
1. Ouvrir un état basé sur une requête qui sélectionnait les enregistrements
d'une table n'ayant pas encore été imprimés (Champ IMP=Non) et vérifier en
aperçu
2. Lancer une requête de mise à jour pour marquer les enregistrements comme
ayant été imprimés. Critère : IMP=Non et expression mise à jour : IMP=Oui

Les deux phases lancées par macro Ouvrir état puis Ouvrir Requête (macro
appelée par un simple bouton)

Eh bien, croyez-le si vous voulez mais en apreçu, la requête mise à jour me
bouffait des enregistrements et je n'en avais que quelques uns à l'aperçu...
Par contre, imprimant en direct et sans rien toucher, tous les
enregistrements étaient imprimés !

Ca vous inspire ????

Merci de m'avoir lu

"Bob" a écrit dans le message de
news:4200e3b8$0$18851$
Merci

"Antoine Labusquière" a écrit dans
le message de news: ctqnhp$hcf$
Dans une macro, si tu ne veux pas trop toucher au code, tu fais:
ligne 1:OuvrirRequête "le nom de ta requete"
ligne 2:OuvrirRequête "le nom de ta requete"
...

Access attendra que l'éxecution d'une requête soit terminée pour passer
à


la
suivante.


"Bob" a écrit dans le message de
news:4200dfbf$0$6626$
Salut
J'ai une base donnée avec une quinzaine de requète de mise à jour
qu'il



faut
exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à jour ( ds le
cas


ou
la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier
















Avatar
Techniciel
Bonjour

Je reprend le fil de ce message car j'ai rencontré justement un problème de
séquence dans l'exécution des actions.

Pour simlpifier, je devais :
1. Ouvrir un état basé sur une requête qui sélectionnait les enregistrements
d'une table n'ayant pas encore été imprimés (Champ IMP=Non) et vérifier en
aperçu
2. Lancer une requête de mise à jour pour marquer les enregistrements comme
ayant été imprimés. Critère : IMP=Non et expression mise à jour : IMP=Oui

Les deux phases lancées par macro Ouvrir état puis Ouvrir Requête (macro
appelée par un simple bouton)

Eh bien, croyez-le si vous voulez mais en apreçu, la requête mise à jour me
bouffait des enregistrements et je n'en avais que quelques uns à l'aperçu...
Par contre, imprimant en direct et sans rien toucher, tous les
enregistrements étaient imprimés !

Ca vous inspire ????

Merci de m'avoir lu

"Bob" a écrit dans le message de
news:4200e3b8$0$18851$
Merci

"Antoine Labusquière" a écrit dans
le message de news: ctqnhp$hcf$
Dans une macro, si tu ne veux pas trop toucher au code, tu fais:
ligne 1:OuvrirRequête "le nom de ta requete"
ligne 2:OuvrirRequête "le nom de ta requete"
...

Access attendra que l'éxecution d'une requête soit terminée pour passer
à


la
suivante.


"Bob" a écrit dans le message de
news:4200dfbf$0$6626$
Salut
J'ai une base donnée avec une quinzaine de requète de mise à jour
qu'il



faut
exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à jour ( ds le
cas


ou
la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier












Avatar
Techniciel
Bonjour

Merci de m'avoir lu mais je n'ai peut-être pas été assez clair.

Il ne s'agissait pas de faire des aperçus sur une requête mise à jour mais
un aperçu sur une requête de sélection !

Ce n'est qu'après l'aperçu que la requête mise à jour entrait en action pour
marquer les enregistrements qui venaient d'être imprimés comme ayant été
traités et pour ne plus les ré-imprimer une prochaine fois.

Voilà.


"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
les aperçus sur des req mise à jour !!!!!!!

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Techniciel" a écrit dans le message de
news:4200ee18$0$19422$

Bonjour

Je reprend le fil de ce message car j'ai rencontré justement un problème
de


séquence dans l'exécution des actions.

Pour simlpifier, je devais :
1. Ouvrir un état basé sur une requête qui sélectionnait les
enregistrements


d'une table n'ayant pas encore été imprimés (Champ IMP=Non) et vérifier
en


aperçu
2. Lancer une requête de mise à jour pour marquer les enregistrements
comme


ayant été imprimés. Critère : IMP=Non et expression mise à jour :
IMP=Oui



Les deux phases lancées par macro Ouvrir état puis Ouvrir Requête (macro
appelée par un simple bouton)

Eh bien, croyez-le si vous voulez mais en apreçu, la requête mise à jour
me


bouffait des enregistrements et je n'en avais que quelques uns à
l'aperçu...


Par contre, imprimant en direct et sans rien toucher, tous les
enregistrements étaient imprimés !

Ca vous inspire ????

Merci de m'avoir lu

"Bob" a écrit dans le message de
news:4200e3b8$0$18851$
Merci

"Antoine Labusquière" a écrit
dans



le message de news: ctqnhp$hcf$
Dans une macro, si tu ne veux pas trop toucher au code, tu fais:
ligne 1:OuvrirRequête "le nom de ta requete"
ligne 2:OuvrirRequête "le nom de ta requete"
...

Access attendra que l'éxecution d'une requête soit terminée pour
passer




à
la
suivante.


"Bob" a écrit dans le message de
news:4200dfbf$0$6626$
Salut
J'ai une base donnée avec une quinzaine de requète de mise à jour
qu'il



faut
exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à jour ( ds
le





cas
ou
la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier




















Avatar
Gafish
Bonjour,

A la limite pour éviter tout souci, tu pourrais lancer la mise à jour sur la
fermeture de l'état.

Arnaud

"Techniciel" a écrit dans le message news:
4200eff3$0$25793$
Bonjour

Merci de m'avoir lu mais je n'ai peut-être pas été assez clair.

Il ne s'agissait pas de faire des aperçus sur une requête mise à jour mais
un aperçu sur une requête de sélection !

Ce n'est qu'après l'aperçu que la requête mise à jour entrait en action
pour

marquer les enregistrements qui venaient d'être imprimés comme ayant été
traités et pour ne plus les ré-imprimer une prochaine fois.

Voilà.


"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
les aperçus sur des req mise à jour !!!!!!!

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Techniciel" a écrit dans le message de
news:4200ee18$0$19422$

Bonjour

Je reprend le fil de ce message car j'ai rencontré justement un
problème



de
séquence dans l'exécution des actions.

Pour simlpifier, je devais :
1. Ouvrir un état basé sur une requête qui sélectionnait les
enregistrements


d'une table n'ayant pas encore été imprimés (Champ IMP=Non) et
vérifier



en
aperçu
2. Lancer une requête de mise à jour pour marquer les enregistrements
comme


ayant été imprimés. Critère : IMP=Non et expression mise à jour :
IMP=Oui



Les deux phases lancées par macro Ouvrir état puis Ouvrir Requête
(macro



appelée par un simple bouton)

Eh bien, croyez-le si vous voulez mais en apreçu, la requête mise à
jour



me
bouffait des enregistrements et je n'en avais que quelques uns à
l'aperçu...


Par contre, imprimant en direct et sans rien toucher, tous les
enregistrements étaient imprimés !

Ca vous inspire ????

Merci de m'avoir lu

"Bob" a écrit dans le message de
news:4200e3b8$0$18851$
Merci

"Antoine Labusquière" a
écrit




dans
le message de news: ctqnhp$hcf$
Dans une macro, si tu ne veux pas trop toucher au code, tu fais:
ligne 1:OuvrirRequête "le nom de ta requete"
ligne 2:OuvrirRequête "le nom de ta requete"
...

Access attendra que l'éxecution d'une requête soit terminée pour
passer




à
la
suivante.


"Bob" a écrit dans le message de
news:4200dfbf$0$6626$
Salut
J'ai une base donnée avec une quinzaine de requète de mise à
jour






qu'il
faut
exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à jour
( ds






le
cas
ou
la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier
























Avatar
Bob
Je reviens sur le début de mon problème
En VB, avec la commande currentdb.execute "requete", [option]
A quoi sert option? Car j'ai un blocage sur une requete création qui me dit
que la table à créer existe déjà. Avec un paramètre de option peut-on forcer
l'écrassement de la table à créer si elle existe déjà.



"Gafish" a écrit dans le message de news:

Bonjour,

A la limite pour éviter tout souci, tu pourrais lancer la mise à jour sur
la

fermeture de l'état.

Arnaud

"Techniciel" a écrit dans le message news:
4200eff3$0$25793$
Bonjour

Merci de m'avoir lu mais je n'ai peut-être pas été assez clair.

Il ne s'agissait pas de faire des aperçus sur une requête mise à jour
mais


un aperçu sur une requête de sélection !

Ce n'est qu'après l'aperçu que la requête mise à jour entrait en action
pour

marquer les enregistrements qui venaient d'être imprimés comme ayant été
traités et pour ne plus les ré-imprimer une prochaine fois.

Voilà.


"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
les aperçus sur des req mise à jour !!!!!!!

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Techniciel" a écrit dans le message de
news:4200ee18$0$19422$

Bonjour

Je reprend le fil de ce message car j'ai rencontré justement un
problème



de
séquence dans l'exécution des actions.

Pour simlpifier, je devais :
1. Ouvrir un état basé sur une requête qui sélectionnait les
enregistrements


d'une table n'ayant pas encore été imprimés (Champ IMP=Non) et
vérifier



en
aperçu
2. Lancer une requête de mise à jour pour marquer les
enregistrements




comme
ayant été imprimés. Critère : IMP=Non et expression mise à jour :
IMP=Oui



Les deux phases lancées par macro Ouvrir état puis Ouvrir Requête
(macro



appelée par un simple bouton)

Eh bien, croyez-le si vous voulez mais en apreçu, la requête mise à
jour



me
bouffait des enregistrements et je n'en avais que quelques uns à
l'aperçu...


Par contre, imprimant en direct et sans rien toucher, tous les
enregistrements étaient imprimés !

Ca vous inspire ????

Merci de m'avoir lu

"Bob" a écrit dans le message de
news:4200e3b8$0$18851$
Merci

"Antoine Labusquière" a
écrit




dans
le message de news: ctqnhp$hcf$
Dans une macro, si tu ne veux pas trop toucher au code, tu fais:
ligne 1:OuvrirRequête "le nom de ta requete"
ligne 2:OuvrirRequête "le nom de ta requete"
...

Access attendra que l'éxecution d'une requête soit terminée pour
passer




à
la
suivante.


"Bob" a écrit dans le message de
news:4200dfbf$0$6626$
Salut
J'ai une base donnée avec une quinzaine de requète de mise à
jour






qu'il
faut
exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à jour
( ds






le
cas
ou
la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier




























Avatar
Gafish
Si tu as fait par macro, utilise "Avertissement" et passe à non.
Si c'est par code (ce qui semble etre le cas), fais un
DoCmd.SetWarnings False
avant la requête.

------
Ce n'est surement pas la cause du souci, mais pour ton information, voici
tiré de l'aide pour option :

Vous pouvez affecter l'une des constantes suivantes à l'argument options:

dbDenyWrite : Interdit l'accès en écriture à d'autres utilisateurs (espaces
de travail Microsoft Jet uniquement).

dbInconsistent : (Valeur par défaut) Exécute des mises à jour sans vérifier
la cohérence (espaces de travail Microsoft Jet uniquement).

dbConsistent : Exécute des mises à jour en vérifiant la cohérence (espaces
de travail Microsoft Jet uniquement).

dbSQLPassThrough : Exécute une requête SQL Direct. Si vous activez cette
option, l'instruction SQL est transmise pour traitement à une base de
données ODBC (espaces de travail Microsoft Jet uniquement).

dbFailOnError : Annule les mises à jour si une erreur se produit (espaces de
travail Microsoft Jet uniquement).

dbSeeChanges : Génère une erreur d'exécution si un autre utilisateur modifie
les données que vous êtes en train de modifier (espaces de travail Microsoft
Jet uniquement).

dbRunAsync : Exécute la requête de manière asynchrone (objets Connection et
QueryDef ODBCDirect uniquement).

dbExecDirect : Exécute l'instruction sans faire dans un premier temps appel
à la fonction API ODBC SQLPrepare (objets Connection et QueryDef ODBCDirect
uniquement).

"Bob" a écrit dans le message news:
4200f896$0$10454$
Je reviens sur le début de mon problème
En VB, avec la commande currentdb.execute "requete", [option]
A quoi sert option? Car j'ai un blocage sur une requete création qui me
dit

que la table à créer existe déjà. Avec un paramètre de option peut-on
forcer

l'écrassement de la table à créer si elle existe déjà.



"Gafish" a écrit dans le message de news:

Bonjour,

A la limite pour éviter tout souci, tu pourrais lancer la mise à jour
sur


la
fermeture de l'état.

Arnaud

"Techniciel" a écrit dans le message news:
4200eff3$0$25793$
Bonjour

Merci de m'avoir lu mais je n'ai peut-être pas été assez clair.

Il ne s'agissait pas de faire des aperçus sur une requête mise à jour
mais


un aperçu sur une requête de sélection !

Ce n'est qu'après l'aperçu que la requête mise à jour entrait en
action



pour
marquer les enregistrements qui venaient d'être imprimés comme ayant
été



traités et pour ne plus les ré-imprimer une prochaine fois.

Voilà.


"Pierre CFI [mvp]" a écrit dans le message
de



news:
bonjour
les aperçus sur des req mise à jour !!!!!!!

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Techniciel" a écrit dans le message de
news:4200ee18$0$19422$

Bonjour

Je reprend le fil de ce message car j'ai rencontré justement un
problème



de
séquence dans l'exécution des actions.

Pour simlpifier, je devais :
1. Ouvrir un état basé sur une requête qui sélectionnait les
enregistrements


d'une table n'ayant pas encore été imprimés (Champ IMP=Non) et
vérifier



en
aperçu
2. Lancer une requête de mise à jour pour marquer les
enregistrements




comme
ayant été imprimés. Critère : IMP=Non et expression mise à jour :
IMP=Oui



Les deux phases lancées par macro Ouvrir état puis Ouvrir Requête
(macro



appelée par un simple bouton)

Eh bien, croyez-le si vous voulez mais en apreçu, la requête mise
à





jour
me
bouffait des enregistrements et je n'en avais que quelques uns à
l'aperçu...


Par contre, imprimant en direct et sans rien toucher, tous les
enregistrements étaient imprimés !

Ca vous inspire ????

Merci de m'avoir lu

"Bob" a écrit dans le message de
news:4200e3b8$0$18851$
Merci

"Antoine Labusquière" a
écrit




dans
le message de news: ctqnhp$hcf$
Dans une macro, si tu ne veux pas trop toucher au code, tu
fais:







ligne 1:OuvrirRequête "le nom de ta requete"
ligne 2:OuvrirRequête "le nom de ta requete"
...

Access attendra que l'éxecution d'une requête soit terminée
pour







passer
à
la
suivante.


"Bob" a écrit dans le message de
news:4200dfbf$0$6626$
Salut
J'ai une base donnée avec une quinzaine de requète de mise à
jour






qu'il
faut
exécuter dans un ordre bien prècis.
Y-a t'il un moyen de faire ça en automatique. Avec du code?
Comment Acces va t'il gérer le delai entre chaque mise à
jour








( ds
le
cas
ou
la 2ème mise à jour va dépendre de la première ect...)
Merci d'avance pour votre réponse

Didier