Valeur d'un champ de liste provisionné sql

Fermé
Truex - 31 oct. 2007 à 18:49
truex Messages postés 1 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 31 octobre 2007 - 31 oct. 2007 à 23:24
Bonjour,
Je suis nouveau sur Access (2002), et je croie que mon problème rejoint un peu celui traité ici, mais j'avoue qu'après avoir tout lu, je ne trouve pas ma solution...

Quelqu'un pourrait éventuellement me conseiller ?

Merci d'avance !

Explication:

J'ai une table T_Saisie (qui renferme 8 champs) qui est remplie par un formulaire F_saisie.
Un bonne partie des listes déroulantes du formulaire sont provisionnées par des liaisons à d'autre tables ou par des requettes.

J'ai trois requettes au total: R_detail, Rglobale, et R_duree

J'avoue que je ne suis déjà pas sûr d'avoir fait ça très proprement, mais pour l'instant ça marche...

Le problème :

J'ai un liste NON déroulante, nommée CumulHeures, qui est également reliée à une requette R_Duree qui calcule le temps travaillé cumulé par une personne pour une journée.


Contenu de la requette:

SELECT DISTINCTROW Sum(T_Saisie.Duree) AS SommeDuree
FROM T_Saisie
WHERE ((((T_Saisie.Identite)=Formulaires!F_Saisie!Identite)) AND (((T_Saisie.DateOperation)=Formulaires!F_Saisie!DateOperation)))
GROUP BY T_Saisie.Identite;




Mon problème c'est que lorsque je veux utiliser cette valeur (que je récupère par : Selection = CumulHeures.Column(0) dans une sub événementielle )


Contenu de la Sub:

Private Sub Duree_AfterUpdate()
'Dim Selection As Variant
Dim Dselection As Variant
Dim MaxCumulHeures As Variant

Selection = CumulHeures.Column(0)
MsgBox (Selection)
'Dselection = CDec(Selection)
'MaxCumulHeures = 11
'MsgBox (Dselection)
'If CDec(selection) > MaxCumulHeures Then
'MsgBox ("Si vous dépasser " & selection & "h par jour de travail, veuillez en avertir la direction, elle notera vos heures manuellement.")
'Form_F_saisie.Duree.Value = 0
'End If

CumulHeures.Requery
End Sub




Cela ne fonctionne que si auparavant je suis allé cliquer une fois sur le champs CumulHeures avec la souris.

Sinon, la valeur récupérée dans la variable sélection vaut Null et je ne comprends pas pourquoi alors que le champs m'affiche bien la valeur calculé sur le formulaire avant même que la Sub ne s'exécute (enfin je croie), mais elle vaut Null dans la variable !


Je ne sais pas si je suis clair ?


Ce que j'aimerais savoir c'est quand est-ce que "CumulHeures.Column(0)" vaut la valeur calculé par la R_duree, et quand dois-je la récupérer ?


Un grand merci d'avance à celui ou celle qui prendra le temps de me répondre...
Je bloque dessus depuis deux jours !

2 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
31 oct. 2007 à 19:14
bonsoir,

C'est sans doute une erreur de frappe mais il me semble que la variable "Selection" a été mise en commentaire et donc elle n'est pas déclarée !!!

;o)

Polux
0
truex Messages postés 1 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 31 octobre 2007
31 oct. 2007 à 23:24
Bonsoir Polux,

Je croie qu'en VBA la variable est déclarée à la volée lorsqu'on lui affecte une valeur, mais j'ai tout de même essayé en enlevant le commentaire, et cela change rien au problème, si je ne clic pas sur le champs contenant le résultat de la requête (CumulHeures) avant de pouvoir l'utiliser comme variable, j'obtiens l'erreur suivante: Utilisation incorrecte de Null (erreur 94)

Merci pour la remarque en tout cas,
0