genaelle
Messages postés1Date d'inscriptionjeudi 1 mars 2007StatutMembreDernière intervention 1 mars 2007
-
1 mars 2007 à 20:04
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDerniè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 ! )
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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
cs_jperre
Messages postés268Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention19 janvier 20172 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).