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

Variable dans une requête

4 réponses
Avatar
Sébastien
Bonjour,

J'ai une requête construite grâce à l'outil requêtes habituel d'Access
(2003, fichier version 2000).
Je commence à mélanger tout ça à des modules et des variables.
Dans ma requête, j'ai un critère > Date ( ) - 3 pour récupérer des
fiches modifiées durant les 3 derniers jours. Pour améliorer le système,
j'ai dans une variable (intNbJours) déclarée publique, et j'aimerais pouvoir
l'intégrer directement dans ma requête pour que le "3" puisse être variable.
Or, un simple > Date( ) - intNbJours ne fonctionne pas, j'ai un
"type de données incopatible avec l'expression du critère".
En gros, ça seraity nue sorte de requête paramétrée, dont la valeur du
paramètre est déjà connue et stockée dans une variable.

Quelqu'un peut-il m'aider ?

MErci,

Séb

4 réponses

Avatar
3stone
Salut,

"Sébastien"
| J'ai une requête construite grâce à l'outil requêtes habituel d'Access
| (2003, fichier version 2000).
| Je commence à mélanger tout ça à des modules et des variables.
| Dans ma requête, j'ai un critère > Date ( ) - 3 pour récupérer des
| fiches modifiées durant les 3 derniers jours. Pour améliorer le système,
| j'ai dans une variable (intNbJours) déclarée publique, et j'aimerais pouvoir
| l'intégrer directement dans ma requête pour que le "3" puisse être variable.
| Or, un simple > Date( ) - intNbJours ne fonctionne pas, j'ai un
| "type de données incopatible avec l'expression du critère".
| En gros, ça seraity nue sorte de requête paramétrée, dont la valeur du
| paramètre est déjà connue et stockée dans une variable.


Effectivement, tu ne peux utiliser une variable directement dans une requête...

La solution est d'appeller une fonction qui te renverra la valeur, ou de pointer
un textbox (qui contient la valeur et peut être caché) sur un formulaire.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Sébastien
"3stone" a écrit dans le message de news:

Salut,

"Sébastien"
| J'ai une requête construite grâce à l'outil requêtes habituel d'Access
| (2003, fichier version 2000).
| Je commence à mélanger tout ça à des modules et des variables.
| Dans ma requête, j'ai un critère > Date ( ) - 3 pour récupérer
des
| fiches modifiées durant les 3 derniers jours. Pour améliorer le système,
| j'ai dans une variable (intNbJours) déclarée publique, et j'aimerais
pouvoir
| l'intégrer directement dans ma requête pour que le "3" puisse être
variable.
| Or, un simple > Date( ) - intNbJours ne fonctionne pas, j'ai un
| "type de données incopatible avec l'expression du critère".
| En gros, ça seraity nue sorte de requête paramétrée, dont la valeur du
| paramètre est déjà connue et stockée dans une variable.


Effectivement, tu ne peux utiliser une variable directement dans une
requête...

La solution est d'appeller une fonction qui te renverra la valeur, ou de
pointer
un textbox (qui contient la valeur et peut être caché) sur un formulaire.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/



Voilà une histoire bien étonnante, je ne pensais pas avoir à passer par les
chemins détournés pour nue action aussi simple. Je n'arrive pas à comprendre
la 1ère méthode proposée, mais j'ai compris la seconde et ça fonctionne très
bien maintenant.
Merci pour votre aide,

Séb

Avatar
3stone
Salut,

"Sébastien"
[...]
| Je n'arrive pas à comprendre la 1ère méthode proposée...


Par exemple une variable :

Public MaVar As Long


La fonction :

Public Function RendValeur() as Long
RendValeur = MaVar
End function

dans la requête, tu utilise la fonction à la place de la variable :

[Quantite] * RendValeur


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Sébastien
"3stone" a écrit dans le message de news:

Salut,

"Sébastien"
[...]
| Je n'arrive pas à comprendre la 1ère méthode proposée...


Par exemple une variable :

Public MaVar As Long


La fonction :

Public Function RendValeur() as Long
RendValeur = MaVar
End function

dans la requête, tu utilise la fonction à la place de la variable :

[Quantite] * RendValeur


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/


Compris, merci pour l'explication. Je vois pas trop pourquoi ils n'ont pas
permis un accès plus direct aux variable, ça m'aurait semblé plus logique.
Enfin bon.

Séb