Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lancer une requête sous condition

5 réponses
Avatar
crcam.lemans
Bonjour,
Voici mon problème :
J'ai un contrôle avec une date. Sur ce contrôle, j'ai affecté une macro qui
doit exécuter une requête sous
condition :

- si la date est < 15/3/2006, lancement requête action 1 (ouvrir requête)
- si la date est comprise entre 15/3/06 au 31/8/06, lancement requête action
2
- si la date est >= au 1/9/06, lancement requête action 3

Le problème est que la macro ne se déclenche que pour les dates <15/3/06.
Pour les autres dates, il ne se passe rien.

Je pense qu'il faut en passer par le VBA, mais je ne connais que VBA sous
excel.

Pouvez-vous m'aider soit en améliorant ma macro, soit en VBA.

Merci.
Jocelyne

5 réponses

Avatar
Thierry (ze Titi)
Bonjour Jocelyne,

On veut bien tout ce que tu veux, même modifier ta macro. Encore
aurait-il fallu que nous l'eussions... ;-)
En VBA, ça donnerait, dans l'évènement "après mise à jour" du contrôle:

If leContrôle.Value<CDate("15/03/2006") Then
Docmd.OpenQuery "requête action 1"
ElseIf leContrôle.Value<Íate("31/08/2006") Then
Docmd.OpenQuery "requête action 2"
Else
DoCmd.OpenQuery "requête action 3"
End If


Dans ton message <# du mardi
Bonjour,
Voici mon problème :
J'ai un contrôle avec une date. Sur ce contrôle, j'ai affecté une macro qui
doit exécuter une requête sous
condition :

- si la date est < 15/3/2006, lancement requête action 1 (ouvrir requête)
- si la date est comprise entre 15/3/06 au 31/8/06, lancement requête action
2
- si la date est >= au 1/9/06, lancement requête action 3

Le problème est que la macro ne se déclenche que pour les dates <15/3/06.
Pour les autres dates, il ne se passe rien.

Je pense qu'il faut en passer par le VBA, mais je ne connais que VBA sous
excel.

Pouvez-vous m'aider soit en améliorant ma macro, soit en VBA.

Merci.
Jocelyne


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
crcam.lemans
Merci pour l'info.
Je vais continuer sur VBA - J'ai un problème de fonctionnement lorsque
la date rencontrée se retrouve dans la même condition deux fois de suite. Le
message
d'erreur suivant s'affiche :
Erreur d'exécution '3211' : Le moteur de base de données n'a pas pu
verrouiller la table
"Tarif GHS en vigueur" car elle est déjà utilisée par une autre personne ou
un autre processus".

Là, je bloque à nouveau ???

Je vais essayer de donner quelques explications :

Les 3 requêtes créé une table à structure identique "tarif GHS en vigueur"
qui alimente d'autres contrôles dont un avec liste déroulante.
Seuls les tarifs changent.

Info supplémentaire : j'ai utilisé l'événement "sur entrée", la date étant
alimentée au préalable
par l'importation d'une table. "après mise à jour" devenait inopérant.

Merci pour votre aide.
Jocelyne

"crcam.lemans" a écrit dans le message de news:
%
Bonjour,
Voici mon problème :
J'ai un contrôle avec une date. Sur ce contrôle, j'ai affecté une macro
qui doit exécuter une requête sous
condition :

- si la date est < 15/3/2006, lancement requête action 1 (ouvrir requête)
- si la date est comprise entre 15/3/06 au 31/8/06, lancement requête
action 2
- si la date est >= au 1/9/06, lancement requête action 3

Le problème est que la macro ne se déclenche que pour les dates <15/3/06.
Pour les autres dates, il ne se passe rien.

Je pense qu'il faut en passer par le VBA, mais je ne connais que VBA sous
excel.

Pouvez-vous m'aider soit en améliorant ma macro, soit en VBA.

Merci.
Jocelyne





Avatar
Thierry (ze Titi)
Rectification...

Dim qry as QueryDef
If leContrôle.Value<CDate("15/03/2006") Then
set qry=CurrentDb.Querydefs("Requête action 1")
qry.Execute
ElseIf leContrôle.Value<Íate("31/08/2006") Then
set qry=CurrentDb.Querydefs("Requête action 2")
qry.Execute
Else
set qry=CurrentDb.Querydefs("Requête action 3")
qry.Execute
End If
set qry=nothing

En ce jour mémorable du mardi 10/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Merci pour l'info.
Je vais continuer sur VBA - J'ai un problème de fonctionnement lorsque
la date rencontrée se retrouve dans la même condition deux fois de suite. Le
message
d'erreur suivant s'affiche :
Erreur d'exécution '3211' : Le moteur de base de données n'a pas pu
verrouiller la table
"Tarif GHS en vigueur" car elle est déjà utilisée par une autre personne ou
un autre processus".

Là, je bloque à nouveau ???

Je vais essayer de donner quelques explications :

Les 3 requêtes créé une table à structure identique "tarif GHS en vigueur"
qui alimente d'autres contrôles dont un avec liste déroulante.
Seuls les tarifs changent.

Info supplémentaire : j'ai utilisé l'événement "sur entrée", la date étant
alimentée au préalable
par l'importation d'une table. "après mise à jour" devenait inopérant.

Merci pour votre aide.
Jocelyne

"crcam.lemans" a écrit dans le message de news:
%
Bonjour,
Voici mon problème :
J'ai un contrôle avec une date. Sur ce contrôle, j'ai affecté une macro qui
doit exécuter une requête sous
condition :

- si la date est < 15/3/2006, lancement requête action 1 (ouvrir requête)
- si la date est comprise entre 15/3/06 au 31/8/06, lancement requête
action 2
- si la date est >= au 1/9/06, lancement requête action 3

Le problème est que la macro ne se déclenche que pour les dates <15/3/06.
Pour les autres dates, il ne se passe rien.

Je pense qu'il faut en passer par le VBA, mais je ne connais que VBA sous
excel.

Pouvez-vous m'aider soit en améliorant ma macro, soit en VBA.

Merci.
Jocelyne






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info


Avatar
crcam.lemans
Merci pour tout. J'avance mais à petits pas.

D'une requête création de table, j'ai changé de stratégie. J'effectue une
requête suppression
sans condition puis une requête ajout avec condition.

Les deux syntaxes fonctionnent . A noter que querydef a provoqué un message
d'erreur (type non défini).
J'ai résolu le problème en passant par outils - références - activer
microsoft DAO 3.6...

Cependant, un autre problème est apparu que je vais exposer dans le message
#supprimé après mise à jour table

Jocelyne
"Thierry (ze Titi)" a écrit dans le
message de news:
Rectification...

Dim qry as QueryDef
If leContrôle.Value<CDate("15/03/2006") Then
set qry=CurrentDb.Querydefs("Requête action 1")
qry.Execute
ElseIf leContrôle.Value<Íate("31/08/2006") Then
set qry=CurrentDb.Querydefs("Requête action 2")
qry.Execute
Else
set qry=CurrentDb.Querydefs("Requête action 3")
qry.Execute
End If
set qry=nothing

En ce jour mémorable du mardi 10/07/2007, tu as entrepris la lourde tâche
de taper sur ton clavier :
Merci pour l'info.
Je vais continuer sur VBA - J'ai un problème de fonctionnement lorsque
la date rencontrée se retrouve dans la même condition deux fois de suite.
Le
message
d'erreur suivant s'affiche :
Erreur d'exécution '3211' : Le moteur de base de données n'a pas pu
verrouiller la table
"Tarif GHS en vigueur" car elle est déjà utilisée par une autre personne
ou
un autre processus".

Là, je bloque à nouveau ???

Je vais essayer de donner quelques explications :

Les 3 requêtes créé une table à structure identique "tarif GHS en
vigueur"
qui alimente d'autres contrôles dont un avec liste déroulante.
Seuls les tarifs changent.

Info supplémentaire : j'ai utilisé l'événement "sur entrée", la date
étant
alimentée au préalable
par l'importation d'une table. "après mise à jour" devenait inopérant.

Merci pour votre aide.
Jocelyne

"crcam.lemans" a écrit dans le message de news:
%
Bonjour,
Voici mon problème :
J'ai un contrôle avec une date. Sur ce contrôle, j'ai affecté une macro
qui doit exécuter une requête sous
condition :

- si la date est < 15/3/2006, lancement requête action 1 (ouvrir
requête)
- si la date est comprise entre 15/3/06 au 31/8/06, lancement requête
action 2
- si la date est >= au 1/9/06, lancement requête action 3

Le problème est que la macro ne se déclenche que pour les dates
<15/3/06. Pour les autres dates, il ne se passe rien.

Je pense qu'il faut en passer par le VBA, mais je ne connais que VBA
sous excel.

Pouvez-vous m'aider soit en améliorant ma macro, soit en VBA.

Merci.
Jocelyne






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






Avatar
Thierry (ze Titi)
Excellente(s) initiative(s) !

En ce jour mémorable du jeudi 12/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Merci pour tout. J'avance mais à petits pas.

D'une requête création de table, j'ai changé de stratégie. J'effectue une
requête suppression
sans condition puis une requête ajout avec condition.

Les deux syntaxes fonctionnent . A noter que querydef a provoqué un message
d'erreur (type non défini).
J'ai résolu le problème en passant par outils - références - activer
microsoft DAO 3.6...

Cependant, un autre problème est apparu que je vais exposer dans le message
#supprimé après mise à jour table

Jocelyne
"Thierry (ze Titi)" a écrit dans le message
de news:
Rectification...

Dim qry as QueryDef
If leContrôle.Value<CDate("15/03/2006") Then
set qry=CurrentDb.Querydefs("Requête action 1")
qry.Execute
ElseIf leContrôle.Value<Íate("31/08/2006") Then
set qry=CurrentDb.Querydefs("Requête action 2")
qry.Execute
Else
set qry=CurrentDb.Querydefs("Requête action 3")
qry.Execute
End If
set qry=nothing

En ce jour mémorable du mardi 10/07/2007, tu as entrepris la lourde tâche
de taper sur ton clavier :
Merci pour l'info.
Je vais continuer sur VBA - J'ai un problème de fonctionnement lorsque
la date rencontrée se retrouve dans la même condition deux fois de suite.
Le
message
d'erreur suivant s'affiche :
Erreur d'exécution '3211' : Le moteur de base de données n'a pas pu
verrouiller la table
"Tarif GHS en vigueur" car elle est déjà utilisée par une autre personne
ou
un autre processus".

Là, je bloque à nouveau ???

Je vais essayer de donner quelques explications :

Les 3 requêtes créé une table à structure identique "tarif GHS en vigueur"
qui alimente d'autres contrôles dont un avec liste déroulante.
Seuls les tarifs changent.

Info supplémentaire : j'ai utilisé l'événement "sur entrée", la date
étant
alimentée au préalable
par l'importation d'une table. "après mise à jour" devenait inopérant.

Merci pour votre aide.
Jocelyne

"crcam.lemans" a écrit dans le message de news:
%
Bonjour,
Voici mon problème :
J'ai un contrôle avec une date. Sur ce contrôle, j'ai affecté une macro
qui doit exécuter une requête sous
condition :

- si la date est < 15/3/2006, lancement requête action 1 (ouvrir requête)
- si la date est comprise entre 15/3/06 au 31/8/06, lancement requête
action 2
- si la date est >= au 1/9/06, lancement requête action 3

Le problème est que la macro ne se déclenche que pour les dates <15/3/06.
Pour les autres dates, il ne se passe rien.

Je pense qu'il faut en passer par le VBA, mais je ne connais que VBA sous
excel.

Pouvez-vous m'aider soit en améliorant ma macro, soit en VBA.

Merci.
Jocelyne






-- Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.mpfa.info





--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.mpfa.info