Fonctionnalités des états Access prises en charge (SSRS)
Lorsque vous importez un rapport dans Concepteur de rapports, le processus d’importation convertit le rapport Microsoft Access en un fichier RDL (Report Definition Language) Reporting Services. Reporting Services prend en charge plusieurs fonctionnalités d’Access. Toutefois, en raison des différences entre Access et Reporting Services, certains éléments sont légèrement modifiés 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 passe pas correctement le point-virgule (;) ou caractères de balisage XML (<, >, etc.) dans les informations de 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.
Mise en page
La mise en page dans Access est différente de dans Reporting Services. Access organise les éléments de la page à l'aide de « bandes », c'est-à-dire des sections réparties verticalement sur la page. Ces sections peuvent inclure l'en-tête du rapport, son pied de page, l'en-tête de la page, son pied de page, les groupes et des détails. Reporting Services offre une disposition plus flexible. Les régions de données permettent le regroupement et l'affichage de détails. Vous pouvez placer plusieurs régions de données n'importe où dans le corps du rapport et même côte à côte. Reporting Services inclut également un en-tête et un pied de page « à bandes », similaires à l’en-tête et au pied de page dans Access.
Lorsqu’un rapport est importé à partir d’Access dans Concepteur de rapports, l’en-tête et le pied de page du rapport Access sont convertis en un en-tête et un pied de page de rapport Reporting Services. Les groupes et les détails sont convertis en région de données de type liste. L'en-tête et le pied de page de l'état sont placés dans le corps du rapport, et non plus dans une « bande » séparée. Ceci peut résulter en une organisation des éléments légèrement différente de celle trouvée dans l'état Access.
Notes
Dans certains états Access, des éléments qui doivent s'afficher côte à côte risquent de se chevaucher. Lorsque l'état est importé à l'aide du Générateur de rapports, ce chevauchement n'est pas corrigé et risque de produire des résultats inattendus à l'exécution du rapport.
Data Sources
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
S’il existe du code Microsoft Visual Basic personnalisé contenu dans les modules, il n’est pas converti. Si Concepteur de rapports rencontre du code pendant le processus d’importation, un avertissement est généré et affiché dans la fenêtre Liste des tâches.
Contrôles des états
Reporting Services prend en charge les contrôles d’accès suivants et les inclut dans les définitions de rapport converties.
Image | Etiquette | Lignes | Rectangle |
Sous-formulaire | Sous-état Note Alors qu’un contrôle SubReport est converti dans le rapport main, le sous-état lui-même est converti séparément. |
TextBox |
Reporting Services ne prend pas en charge les contrôles suivants :
BoundObjectFrame | CheckBox | ComboBox | Bouton de commande |
Contrôle personnalisé | ListBox | Cadre d'objet | Bouton d'option |
TabControl | ToggleButton |
Si Concepteur de rapports rencontre l’un de ces contrôles pendant le processus d’importation, un avertissement est généré et 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 suivantes, qui sont disponibles via l’interface utilisateur 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 | BottomMargin | AutoExtensible (zone de texte) | AutoRéductible (zone de texte) |
Caption | FontBold | Italique | FontName |
FontSize | Souligné | FontWeight | SautPage |
CouleurTexte | Height | HideDuplicates | Hyperlink |
EstLienHypertexte | EstVisible | SectionInsécable (groupe) | Gauche |
LeftMargin | Inclinaison | Interligne | ChampsFils |
ChampsPères | NvLigOuCol | PageFooter | PageHeader |
Pages | Image | MosaïqueImages (rapport) | SensLecture |
RépéterSection | RightMargin | RunningSum | SizeMode |
TextAlign | Haut | TopMargin | Width |
Reporting Services ne prend pas en charge les propriétés suivantes, qui sont disponibles via l’interface utilisateur Access.
CanGrow (section) | CanShrink (section) | DecimalPlaces | FastLaserPrinting |
Filtrer | FiltreActif | Format | FormatConditions |
GroupeInsécable | SectionInsécable (section) | FormatNumérotation | Orientation |
PaletteCouleurs | SourcePalette | AlignementImage | PagesImages |
ModeAffichageImage | MosaïqueImages (image) | BarreDéfilement | Apparence |
Vertical |
Regroupement
Access 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 d’expression en plus de certaines fonctions d’agrégation. Le Concepteur de rapports convertit ces expressions Access en expressions de rapport.
Fonctions
Une définition de rapport Reporting Services utilise 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$ | NumChaîne | Str$ | ConvChaîne |
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/heure suivantes.
Date | Date$ | AjDate | DiffDate |
PartDate | SérieDate | ValDate | Jour |
Hour | Minute | Month | MonthName |
maintenant | Second | Temps | Temps$ |
Minuteur | SérieHeure | VHeure | Jour de la semaine |
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 domaine 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 des erreurs suivantes.
Err | Error | Error$ | IsError |
Reporting Services ne prend pas en charge la fonction de gestion des erreurs suivante :
- CVErr
Fonctions financières
Reporting Services prend en charge les fonctions financières suivantes.
DDB | VC | IPmt | IRR |
MIRR | NPer | NPV | Vpm |
PPmt | PV | Tarif | AmorLin |
SYD |
Fonctions d'interaction
Reporting Services prend en charge les fonctions d’interaction suivantes.
Commande | Command$ | RéperCour | RéperCour$ |
DeleteSetting | Réper | Réper$ | Environ |
Environ$ | EOF | FileAttr | DateHeureFich |
LongFich | FreeFile | LireTousParam | LireAttr |
GetSetting | Loc | LOF | RVBC |
RGB | SaveSetting | Seek | SetAttr |
Shell | Spc | Onglet |
Reporting Services ne prend pas en charge les fonctions d’interaction suivantes.
DoEvents | Dans | 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 | Journal | Aléat |
Round | Sgn | Sin | Racine |
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 flux de programme suivantes.
Choose | IIf | Commutateur |
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 | Right | Droite$ |
SupprDroite | Espace | Espace$ | CompChaîne |
ConvChaîne | String | Chaîne$ | StrReverse |
SupprEspace | Trim$ | UCase | UCase$ |
Constantes
Access ne prend pas en charge les constantes Visual Basic spéciales (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
Access permet aux champs d’avoir le même nom que les contrôles ; Reporting Services ne le fait pas. Visual Basic 6.0 autorise les espaces dans les noms de variables ; Visual Basic .NET ne le fait pas. 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 (Report Builder 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.