Caratteristiche supportate dei report di Access (SSRS)
Quando si importa un report in Progettazione report, il processo di importazione converte il report di Access Microsoft in un file RDL (Report Definition Language) Reporting Services. Reporting Services supporta diverse caratteristiche di Access, tuttavia, a causa delle differenze esistenti tra Accesso e Reporting Services, alcuni elementi vengono modificati leggermente o non sono supportati. In questo argomento vengono descritte le modalità di conversione delle caratteristiche dei report di Access in file RDL.
Importazione di report di Access
Alcune query contengono codice specifico di Access. Il codice di Access non viene importato con il report. Inoltre, se una query contiene stringhe incorporate, il report potrebbe essere importato in modo non corretto. Per risolvere il problema, sostituire le stringhe con un codice con caratteri. Sostituire, ad esempio, il carattere virgola (,) con CHAR(34).
Il processo di importazione non supporta il passaggio corretto del carattere punto e virgola (;) o dei caratteri di markup XML (<, > e così via) nelle stringhe di connessione. Se una stringa di connessione include un punto e virgola o un carattere di markup XML, sarà necessario impostare manualmente la password nel nuovo report dopo l'importazione.
Durante l'importazione non vengono importate le impostazioni di connessione o di timeout generale nella stringa di connessione. Potrebbe essere necessario correggere queste impostazioni dopo l'importazione del report.
Se si importa un report che include una query con parametri, la query non verrà convertita durante l'importazione del report. Per importare la query insieme al report, sostituire temporaneamente i parametri della query nel report di Access con valori specificati a livello di codice, quindi sostituirli nuovamente con i parametri di query dopo l'importazione.
Origini dati
Reporting Services supporta origini dati OLE DB, ad esempio SQL Server. Se i report vengono importati da un progetto di Access (file con estensione adp), la stringa di connessione per l'origine dei dati viene recuperata dalla stringa di connessione presente nel file con estensione adp. Nel caso di report importati da database di Access (file con estensione mdb o accdb), è possibile che la stringa di connessione punti al database di Access e che sia necessario correggerla dopo l'importazione dei report. Se l'origine dei dati del report di Access è una query, le informazioni della query vengono archiviate nel file RDL senza modifiche. Se invece l'origine dei dati è una tabella, durante il processo di conversione viene creata una query in base al nome della tabella e ai campi in essa contenuti.
Report con moduli personalizzati
Eventuale codice personalizzato di Microsoft Visual Basic presente all'interno dei moduli non viene convertito. Se durante il processo di importazione vengono rilevati blocchi di codice, verrà generato un avviso che verrà visualizzato nella finestra Elenco attività.
Controlli dei report
In Reporting Servicessono supportati i seguenti controlli di Access, che vengono inclusi nelle definizioni dei report convertiti.
Image |
Label |
Line |
Rectangle |
SubForm |
SubReport Nota Il controllo SubReport viene convertito nell'ambito del report principale, mentre il sottoreport vero e proprio viene convertito separatamente. |
TextBox |
In Reporting Services non sono supportati i seguenti controlli:
BoundObjectFrame |
CheckBox |
ComboBox |
CommandButton |
CustomControl |
ListBox |
ObjectFrame |
OptionButton |
TabControl |
ToggleButton |
Se durante il processo di importazione vengono rilevati questi controlli, verrà generato un avviso e tale avviso sarà visualizzato nella finestra Elenco attività.
Gli altri controlli, ad esempio i controlli ActiveX e Office Web Components, non vengono importati. Se ad esempio un report di Access include un controllo grafico OWC, tale controllo non verrà convertito durante l'importazione del report.
Proprietà dei report
In Reporting Services sono supportate le proprietà elencate di seguito, disponibili tramite l'interfaccia utente di Access. Le proprietà disponibili solo a livello di codice non sono supportate e quindi non sono presenti in questo elenco.
ColoreSfondo |
StileSfondo |
ColoreBordo |
StileBordo |
SpessoreBordo |
BottomMargin |
Espandibile (casella di testo) |
Riducibile (casella di testo) |
Etichetta |
Caratteregrassetto |
CarattereCorsivo |
TipoCarattere |
DimensioneCarattere |
CarattereSottolineato |
SpessoreCarattere |
InterruzionePagina |
ColorePrimoPiano |
Altezza |
NascondiDuplicati |
Collegamento ipertestuale |
IsHyperlink |
IsVisible |
StampaSezioneUnita (gruppo) |
ASinistra |
LeftMargin |
InclinazioneLinea |
LineSpacing |
CollegaCampiSecondari |
CollegaCampiMaster |
NuovaRigaOColonna |
PièDiPaginaPagina |
IntestazionePagina |
Pagine |
Immagine |
EspansioneImmagine (report) |
ReadingOrder |
RipetiSezione |
RightMargin |
RunningSum |
SizeMode |
TextAlign |
Top |
TopMargin |
Width |
In Reporting Services non sono supportate le proprietà elencate di seguito, disponibili tramite l'interfaccia utente di Access.
CanGrow (sezione) |
CanShrink (sezione) |
DecimalPlaces |
FastLaserPrinting |
Filtro |
ApplicaFiltro |
Formato |
FormatConditions |
ModalitàRaggruppamento |
StampaSezioneUnita (sezione) |
NumeralShapes |
Orientamento |
Tavolozzadisegno |
OrigineTavolozza |
AllineamentoImmagine |
PagineImmagine |
ModalitàRidimensImmagine |
EspansioneImmagine (immagine) |
BarreScorrimento |
SpecialEffect |
Verticale |
Raggruppamento
In Access, i livelli di raggruppamento vengono definiti tramite la combinazione di tre proprietà, ovvero l'espressione di raggruppamento, la proprietà GroupOn e la proprietà GroupInterval. Un gruppo senza intestazione o piè di pagina di gruppo viene unito al gruppo in esso contenuto. Se il gruppo non contiene un altro gruppo, l'ordinamento viene applicato alla sezione corpo e il gruppo viene eliminato.
Espressioni
In Access vengono utilizzate le espressioni per specificare i valori visualizzati nelle caselle di testo. Come linguaggio per le espressioni viene utilizzato Visual Basic, oltre ad alcune funzioni di aggregazione. Progettazione report converte queste espressioni di Access in espressioni report.
Funzioni
Nelle definizioni di report di Reporting Services viene utilizzato Visual Basic .NET come linguaggio nativo per le espressioni, mentre in Access 2002 viene utilizzato Visual Basic. Nell'elenco seguente sono indicate le funzioni supportate da Reporting Services.
Funzioni di matrice
In Reporting Services sono supportate le funzioni di matrice seguenti:
LBound
UBound
Funzioni di conversione
In Reporting Services sono supportate le funzioni di conversione seguenti:
Asc |
CBool |
CByte |
CCur |
CDate |
CDbl |
CDec |
Chr |
Chr$ |
CInt |
CLng |
CSng |
CStr |
CVar |
CVDate |
Formato |
FormatCurrency |
FormatDateTime |
FormatNumber |
FormatPercent |
Hex |
Hex$ |
Nz |
Oct |
Oct$ |
Str |
Str$ |
StrConv |
Val |
In Reporting Services non sono supportate le funzioni di conversione seguenti:
GUIDFromString
StringFromGUID
Funzioni di database
In Reporting Services sono supportate le funzioni di database seguenti:
CreateReport |
GetObject |
HyperlinkPart |
Partition |
In Reporting Services non sono supportate le funzioni di database seguenti:
CodeDb |
CreateControl |
CreateForm |
CreateGroupLevel |
CreateObject |
CreateReportControl |
CurrentDb |
CurrentUser |
DeleteControl |
DeleteReportControl |
Eval |
IMEStatus |
SysCmd |
Funzioni di data/ora
In Reporting Services sono supportate le funzioni di data/ora seguenti:
Date |
Date$ |
DateAdd |
DateDiff |
DatePart |
DateSerial |
DateValue |
Day |
Hour |
Minute |
Month |
MonthName |
Now |
Second |
Time |
Time$ |
Timer |
TimeSerial |
TimeValue |
Weekday |
WeekdayName |
Year |
Funzioni DDE/OLE
In Reporting Services non sono supportate le funzioni DDE/OLE seguenti:
DDE |
DDEIntitate |
DDERequest |
DDESend |
LoadPicture |
Funzioni di aggregazione sui domini
In Reporting Services non sono supportate le funzioni di aggregazione sui domini seguenti:
DAvg |
DCount |
DFirst |
DLast |
DLookup |
DMax |
DMin |
DStDev |
DStDevP |
DSum |
DVar |
DVarP |
Funzioni di gestione degli errori
In Reporting Services sono supportate le funzioni per la gestione degli errori seguenti:
Err |
Error |
Error$ |
IsError |
In Reporting Services non è supportata la funzione per la gestione degli errori seguente:
- CVErr
Funzioni finanziarie
In Reporting Services sono supportate le funzioni finanziarie seguenti:
DDB |
FV |
IPmt |
IRR |
MIRR |
NPer |
NPV |
Pmt |
PPmt |
PV |
Rate |
SLN |
SYD |
Funzioni di interazione
In Reporting Services sono supportate le funzioni di interazione seguenti:
Command |
Command$ |
CurDir |
CurDir$ |
DeleteSetting |
Dir |
Dir$ |
Environ |
Environ$ |
EOF |
FileAttr |
FileDateTime |
FileLen |
FreeFile |
GetAllSettings |
GetAttr |
GetSetting |
Loc |
LOF |
QBColor |
RGB |
SaveSetting |
Seek |
SetAttr |
Shell |
Spc |
Tab |
In Reporting Services non sono supportate le funzioni di interazione seguenti:
DoEvents |
In |
Input |
Input$ |
Funzioni di ispezione
In Reporting Services sono supportate le funzioni di ispezione seguenti:
IsArray |
IsDate |
IsEmpty |
IsError |
IsNull |
IsNumeric |
IsObject |
TypeName |
VarType |
In Reporting Services non sono supportate le funzioni di ispezione seguenti:
- IsMissing
Funzioni matematiche
In Reporting Services sono supportate le funzioni matematiche seguenti:
Abs |
Atn |
Cos |
Exp |
Fix |
Int |
Log |
Rnd |
Round |
Sgn |
Sin |
Sqr |
Tan |
Funzioni di messaggio
In Reporting Services non sono supportate le funzioni di messaggio seguenti:
InputBox |
InputBox$ |
MsgBox |
Funzioni per flussi di esecuzione del programma
In Reporting Services sono supportate le funzioni per flussi di esecuzione del programma seguenti:
Choose |
IIf |
Switch |
Funzioni di aggregazione SQL
In Reporting Services sono supportate le funzioni aggregazione SQL seguenti:
Avg |
Count |
Max |
Min |
StDev |
StDevP |
Sum |
Var |
VarP |
Funzioni per il testo
In Reporting Services sono supportate le funzioni per il testo seguenti:
Format |
Format$ |
InStr |
InStrRev |
LCase |
LCase$ |
Left |
Left$ |
Len |
LTrim |
LTrim$ |
Mid |
Mid$ |
Replace |
Right |
Right$ |
RTrim |
Space |
Space$ |
StrComp |
StrConv |
String |
String$ |
StrReverse |
Trim |
Trim$ |
UCase |
UCase$ |
Constants
In Access non sono supportate le costanti specifiche di Visual Basic (ad esempio, vbTrue) nelle espressioni, pertanto non è necessaria alcuna conversione. Esiste comunque un'eccezione, ovvero la parola chiave Null, che viene convertita in System.DbNull.Value.
Parametri
Durante il processo di importazione, Progettazione report esegue un'analisi di ogni espressione in un report per individuare eventuali variabili non corrispondenti a nomi di campi o controlli. Queste variabili vengono aggiunte ai parametri del report.
I parametri delle stored procedure vengono sempre importati con il tipo di dati String. Dopo l'importazione del report è necessario modificare manualmente il parametro per utilizzare il tipo di dati corretto.
Nomi di oggetti
In Access i campi possono avere lo stesso nome dei controlli, situazione non consentita in Reporting Services. In Visual Basic 6.0 è consentito, a differenza di Visual Basic .NET, l'uso degli spazi nei nomi di variabile. Durante il processo di importazione, i nomi di tutti questi oggetti vengono sostituiti con nomi validi e vengono assegnati nomi univoci in presenza di più oggetti con lo stesso nome. Viene inoltre eseguita un'analisi di ogni espressione per sostituire con i nuovi nomi i nomi delle variabili corrispondenti agli oggetti rinominati.
Rettangoli e contenitori
In una definizione di report di Reporting Services i rettangoli possono contenere altri elementi del report. Qualsiasi rettangolo con una larghezza maggiore dell'elemento del report e che si sovrappone a più del 90% dell'area dell'elemento diventa un contenitore per l'elemento del report.
Bitmap
Tutte le bitmap incorporate in un report vengono convertite in formato BMP durante l'importazione del report, indipendentemente dal formato iniziale. Ad esempio, se il report include file con estensione jpg e gif, nel report importato le risorse risultanti saranno file con estensione bmp. Le bitmap vengono archiviate come immagini incorporate nel report. Per informazioni sulle immagini incorporate, vedere immagini (Generatore report 3.0 e SSRS).
Altre considerazioni
Per i report importati da Access sono valide anche le limitazioni seguenti, oltre a quanto indicato nelle sezioni precedenti:
La formattazione condizionale non viene convertita.
Il campo descrizione nelle proprietà del report in Access non viene convertito.