Fonctionnalités des états Access prises en charge (SSRS)
Lorsque vous importez un rapport dans le Concepteur de rapports, l'importation convertit l'état Access Microsoft en un fichier RDL (Report Definition Language) Reporting Services. Reporting Services prend en charge plusieurs fonctionnalités d'Accès ; toutefois, à cause des différences entre Accès et Reporting Services, certains éléments sont modifiés légèrement ou ne sont pas pris en charge. Cette rubrique décrit comment les fonctionnalités des états Access sont converties en mode RDL.
Importation d'états Access
Certaines requêtes contiennent du code spécifique à Access. Ce code Access n'est pas importé avec l'état. De plus, si une requête contient des chaînes incorporées, l'état risque de ne pas s'importer correctement. Pour résoudre ce problème, remplacez les chaînes par un code de caractère. Par exemple, remplacez le caractère virgule (,) par CHAR(34).
Le processus d'importation ne transmet pas correctement le point-virgule (;) ou les caractères de balisage XML (<, >, etc.) dans les informations de la chaîne de connexion. Si une chaîne de connexion contient un point-virgule ou un caractère de balise XML, vous devez définir le mot de passe manuellement dans le nouveau rapport après l'importation de l'état.
Le processus d'importation n'importe pas les paramètres de connexion ou de délais d'expiration généraux dans la chaîne de connexion. Il vous faudra peut-être régler ces paramètres après l'importation.
Si vous importez un état dont la requête contient des paramètres, cette requête ne sera pas convertie lors de l'importation de l'état. Pour importer la requête avec l'état, remplacez temporairement les paramètres de la requête dans l'état Access par des valeurs statiques, puis remplacez-les par les paramètres de la requête après l'importation de l'état.
Sources de données
Reporting Services prend en charge les sources de données OLE DB, telles que SQL Server. Si vous importez des états d'un fichier de projet Access (.adp), la chaîne de connexion de la source de données est récupérée de la chaîne de connexion dans le fichier .adp. Si vous importez des états d'une base de données Access (.mdb ou .accdb), il est possible que la chaîne de connexion pointe sur la base de données Access et que vous deviez la corriger après l'importation des états. Si la source de données de l'état Access est une requête, les informations de la requête sont stockées sans modification dans le fichier RDL. Si la source de données de l'état Access est une table, le processus de conversion crée une requête basée sur le nom de la table et sur les champs de cette table.
Rapports avec modules personnalisés
Si du code Microsoft Visual Basic personnalisé est contenu dans des modules, il n'est pas converti. Si le Concepteur de rapports rencontre du code lors du processus d'importation, un avertissement est généré et est affiché dans la fenêtre Liste des tâches.
Contrôles des états
Reporting Services prend en charge les contrôles Access suivants et les inclut dans les définitions de rapports converties.
Image |
Étiquette |
Ligne |
Rectangle |
Sous-formulaire |
Sous-état Remarque Si un contrôle Sous-état est converti dans l'état principal, le sous-état lui-même est converti séparément. |
TextBox |
Reporting Services ne prend pas en charge les contrôles suivants :
BoundObjectFrame |
Case à cocher |
Liste déroulante |
Bouton de commande |
Contrôle personnalisé |
Zone de liste |
Cadre d'objet |
Bouton d'option |
Contrôle onglet |
Bouton bascule |
Si le Générateur de rapports rencontre l'un de ces contrôles lors du processus d'importation, un avertissement est généré et est affiché dans la fenêtre Liste des tâches.
Les autres contrôles comme ActiveX et Office Web Components ne sont pas importés. Par exemple, si un état Access contient un contrôle de graphique Office Web Components, il n'est pas converti lors de l'importation de l'état.
Propriétés des états
Reporting Services prend en charge les propriétés ci-dessous, qui sont accessibles à partir de l'interface utilisateur d'Access. Les propriétés disponibles uniquement dans le code ne sont pas prises en charge et ne sont pas présentées dans cette liste.
CouleurFond |
StyleFond |
BorderColor |
BorderStyle |
BorderWidth |
MargeBas |
AutoExtensible (zone de texte) |
AutoRéductible (zone de texte) |
Légende |
Gras |
Italique |
Police |
FontSize |
Souligné |
FontWeight |
SautPage |
CouleurTexte |
Hauteur |
HideDuplicates |
Hyperlink |
EstLienHypertexte |
EstVisible |
SectionInsécable (groupe) |
Gauche |
MargeGauche |
Inclinaison |
Interligne |
ChampsFils |
ChampsPères |
NvLigOuCol |
PageFooter |
PageHeader |
Pages |
Image |
MosaïqueImages (rapport) |
SensLecture |
RépéterSection |
RightMargin |
RunningSum |
SizeMode |
TextAlign |
Top |
TopMargin |
Width |
Reporting Services ne prend pas en charge les propriétés ci-dessous, qui sont accessibles à partir de l'interface utilisateur d'Access.
CanGrow (section) |
CanShrink (section) |
DecimalPlaces |
FastLaserPrinting |
Filtre |
FiltreActif |
Format |
FormatConditions |
GroupeInsécable |
SectionInsécable (section) |
FormatNumérotation |
Orientation |
PaletteCouleurs |
SourcePalette |
AlignementImage |
PagesImages |
ModeAffichageImage |
MosaïqueImages (image) |
BarreDéfilement |
Apparence |
Vertical |
Regroupement
Accès définit un niveau de groupe à l'aide d'une combinaison de trois propriétés : l'expression de groupe, la propriété GroupOn et la propriété GroupInterval. Un groupe qui n'a pas d'en-tête ou de pied de groupe est fusionné avec le groupe qu'il contient. Si le groupe ne contient pas un autre groupe, un tri est appliqué à la section Détails et le groupe est ignoré.
Expressions
Access utilise des expressions pour spécifier des valeurs qui apparaissent dans des zones de texte. Access utilise Visual Basic comme langage pour ses expressions en plus de certaines fonctions d'agrégation. Le Concepteur de rapports convertit ces expressions Access en expressions de rapport.
Fonctions
Les définitions de rapports Reporting Services utilisent Visual Basic .NET comme langage d'expression natif, tandis qu'Access 2002 utilise Visual Basic. Les listes suivantes décrivent les fonctions prises en charge par Reporting Services.
Fonctions de tableau
Reporting Services prend en charge les fonctions de tableau suivantes :
LBound
UBound
Fonctions de conversion
Reporting Services prend en charge les fonctions de conversion suivantes :
Asc |
CBool |
CByte |
CMonnaie |
CDate |
CDbl |
CDec |
Chr |
Caract$ |
CEnt |
CLong |
CSmpl |
CChaîne |
CVar |
CVDate |
Format |
FormatCurrency |
FormatDateTime |
FormatNumber |
FormatPercent |
Hex |
Hex$ |
Nz |
Oct |
Oct$ |
Str |
Str$ |
StrConv |
Val |
Reporting Services ne prend pas en charge les fonctions de conversion suivantes :
GUIDFromString
StringFromGUID
Fonctions de base de données
Reporting Services prend en charge les fonctions de base de données suivantes :
CreateReport |
GetObject |
HyperlinkPart |
Partition |
Reporting Services ne prend pas en charge les fonctions de base de données suivantes :
CodeDb |
CreateControl |
CreateForm |
CreateGroupLevel |
CreateObject |
CreateReportControl |
CurrentDb |
Utilisateur en cours |
DeleteControl |
DeleteReportControl |
Eval |
IMEStatus |
SysCmd |
Fonctions de date et d’heure
Reporting Services prend en charge les fonctions de date et d’heure suivantes :
Date |
Date$ |
DateAdd |
DiffDate |
PartDate |
DateSerial |
DateValue |
Jour |
Heure |
Minute |
Mois |
MonthName |
Maintenant |
Seconde |
Temps |
Temps$ |
Minuterie |
TimeSerial |
TimeValue |
Weekday |
WeekdayName |
Year |
Fonctions DDE/OLE
Reporting Services ne prend pas en charge les fonctions DDE/OLE suivantes :
DDE |
DDEIntitate |
DDERequest |
DDESend |
LoadPicture |
Fonctions d'agrégation de domaines
Reporting Services ne prend pas en charge les fonctions d’agrégation de domaines suivantes :
MoyDom |
CpteDom |
PremDom |
DernDom |
RechDom |
MaxDom |
DMin |
DStDev |
DStDevP |
DSum |
DVar |
DVarP |
Fonctions de gestion d'erreur
Reporting Services prend en charge les fonctions de gestion d'erreur suivantes :
Err |
Error |
Error$ |
IsError |
Reporting Services ne prend pas en charge la fonction de gestion d'erreur suivante :
- CVErr
Fonctions financières
Reporting Services prend en charge les fonctions financières suivantes :
DDB |
VC |
IPmt |
IRR |
MIRR |
NPer |
NPV |
Pmt |
PPmt |
PV |
Rate |
SLN |
SYD |
Fonctions d'interaction
Reporting Services prend en charge les fonctions d’interaction suivantes :
Command |
Command$ |
RéperCour |
RéperCour$ |
DeleteSetting |
Réper |
Réper$ |
Environ |
Environ$ |
EOF |
FileAttr |
DateHeureFich |
LongFich |
FreeFile |
LireTousParam |
LireAttr |
GetSetting |
Loc |
LOF |
QBColor |
RGB |
SaveSetting |
Seek |
SetAttr |
Shell |
Spc |
Tab |
Reporting Services ne prend pas en charge les fonctions d’interaction suivantes :
DoEvents |
In |
Entrée |
Input$ |
Fonctions d'inspection
Reporting Services prend en charge les fonctions d’inspection suivantes :
IsArray |
IsDate |
IsEmpty |
IsError |
IsNull |
IsNumeric |
IsObject |
TypeName |
VarType |
Reporting Services ne prend pas en charge la fonction d’inspection suivante :
- IsMissing
Fonctions mathématiques
Reporting Services prend en charge les fonctions mathématiques suivantes :
Abs |
Atn |
Cos |
Exp |
Fix |
Int |
Log |
Rnd |
Round |
Sgn |
Sin |
Sqr |
Tan |
Fonctions de message
Reporting Services ne prend pas en charge les fonctions de message suivantes :
InputBox |
InputBox$ |
MsgBox |
Fonctions de déroulement de programme
Reporting Services prend en charge les fonctions de déroulement de programme suivantes :
Choose |
IIf |
Switch |
Fonctions d'agrégation SQL
Reporting Services prend en charge les fonctions d'agrégation SQL suivantes :
Avg |
Count |
Max |
Min |
StDev |
StDevP |
Sum |
Var |
VarP |
Fonctions de texte
Reporting Services prend en charge les fonctions de texte suivantes :
Format |
Format$ |
InStr |
InStrRev |
Minuscule |
Minuscule$ |
Gauche |
Gauche$ |
NbCar |
SupprGauche |
SupprGauche$ |
ExtracChaîne |
ExtracChaîne$ |
Replace |
Droite |
Droite$ |
SupprDroite |
Espace |
Espace$ |
CompChaîne |
ConvChaîne |
Chaîne |
Chaîne$ |
StrReverse |
SupprEspace |
Trim$ |
UCase |
UCase$ |
Constantes
Access ne prend pas en charge les constantes spéciales Visual Basic (par exemple vbTrue) dans les expressions. Aucune conversion n'est donc nécessaire. Il existe toutefois une exception : le mot clé Null est converti en System.DbNull.Value.
Paramètres
Au cours du processus d'importation, le Générateur de rapports analyse chaque expression contenue dans les états à la recherche des variables qui ne correspondent pas à des noms de champs ou de contrôles. Ces variables sont ajoutées aux paramètres du rapport.
Le type de données des paramètres des procédures stockées est toujours importé en tant que chaîne. Après l'importation de l'état, vous devez modifier manuellement le paramètre pour utiliser le type de données correct.
Noms d'objets
Contrairement à Reporting Services, Access accepte que les champs aient le même nom que les contrôles. Visual Basic 6.0 autorise les espaces dans les noms de variables, contrairement à Visual Basic .NET. Le processus d'importation remplace les noms de tels objets par des noms valides et attribue des noms uniques si plusieurs objets portent le même nom. Chaque expression est analysée et les noms des variables qui correspondent à des objets renommés sont remplacés par les nouveaux noms.
Rectangles et relation contenant-contenu
Dans une définition de rapport Reporting Services, les rectangles peuvent contenir d'autres éléments de rapport. Tout rectangle plus large qu'un élément de rapport, et qui recouvre plus de 90 % de sa surface, devient le conteneur de cet élément de rapport.
Images bitmap
Toutes les images bitmap qui sont incorporées dans un état sont converties au format .bmp lorsque l'état est importé, quel que soit leur format d'origine. Par exemple, si votre état inclut des fichiers .jpg et .gif, les ressources résultantes importées dans le rapport sont des fichiers .bmp. Les images bitmap sont stockées sous forme d'images incorporées dans le rapport. Pour plus d'informations sur les images incorporées, consultez Images [Générateur de rapports version 3.0 et SSRS].
Autres considérations
Outre les éléments précédemment cités, les informations qui suivent s'appliquent aux états importés à partir d'Access :
La mise en forme conditionnelle n'est pas convertie.
Le champ de description dans les propriétés d'état dans Access n'est pas converti.