Access mise en formulaire analyse croisée

genaelle Messages postés 1 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 1 mars 2007 - 1 mars 2007 à 20:04
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 11 mai 2011 à 12:24
je debute sur une base de données gestion de planning.
j'ai un formulaire tiré d'une analyse croisée qui me renvoie par mois la description des 31 jours du mois
evidemment lorsqu il n'existe pas d enregistrement repondant a la requete (ex : il n'y a pas d 'enregistrement pour le 2 janvier), le formulaire me renvoie une erreur sur le controle "2" de type # Nom ?.

J'aimerais trouver une solution pour que rien ne s'affiche ou alors mieux : "jour non renseigné !!"

j'ai essayé des code style :

if iserror(me!2) then
me!2.backcolor = vbblack

mais vba ne veut pas de mon controle nommé 1 ( je ne sais pas comment le renommer dans la requete)
et il me semble d'autre part que la fonction iserror ne renvoie pas le bon resultat ! (alors que si je mets cette meme formule sur ue autre controle calculé du formulaire, elle renvoit un resultat correct ! )

help !

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 mars 2007 à 20:35
salut,
euh....
me!2 fait référence au contrôle "2" (sa nomenclature)
et comme aucun contrôle ne peut être uniquement composé d'un numérique.... l'erreur est normale

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
3 mars 2007 à 16:46
Afin d'éviter d'avoir des erreurs dans les formulaires ou états issus de requêtes analyse croisée, il faut forcer l'affichage de toutes les colonnes, ceci permet également d'afficher les colonnes dans un ordre déterminé (ex : lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche au lieu de dimanche, jeudi, lundi, mardi, mercredi, samedi, vendredi). Pour ce faire, il faut modifier le code SQL de la requête de cette manière :

Code SQL simple généré par Access :

TRANSFORM (opération qui fourni la valeur affichée dans les cellules) SELECT Champ1, Champ2,... (en têtes de lignes) PIVOT ChampN (en tête de colonnes);

Code SQL transformé pour forcer les affichages de toutes les colonnes (même celles qui ne contiennent pas de données) :

TRANSFORM (opération qui fourni la valeur affichée dans les cellules)
SELECT Champ1, Champ2,... (en têtes de lignes) PIVOT ChampN (en tête de
colonnes) IN (Col1,Col2,Col3,...);

Bien entendu, les valeurs de Col1, Col2, Col3,...etc doivent correspondre à des valeurs du pivot (ChampN).

Si celà peut vous être utile!...
0
jromain89 Messages postés 1 Date d'inscription mercredi 28 juillet 2010 Statut Membre Dernière intervention 11 mai 2011
11 mai 2011 à 10:57
merci jperre
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
11 mai 2011 à 12:24
Salut,
Il faut juste tester avant si la requete décrite par jperre renvoie ou pas un resultat.
[] Ce qui va sans dire. va mieux en le disant.
0
Rejoignez-nous