지원되는 Access 보고서 기능(SSRS)
보고서 디자이너로 보고서를 가져오는 과정에서 Microsoft Access 보고서가 Reporting Services RDL(Report Definition Language) 파일로 변환됩니다. Reporting Services에서는 Access의 여러 기능을 지원하지만 Access와 Reporting Services의 차이로 인해 일부 항목이 약간 수정되거나 지원되지 않을 수 있습니다. 이 항목에서는 Access 보고서 기능이 RDL로 변환되는 방법에 대해 설명합니다.
Access 보고서 가져오기
일부 쿼리에는 Access 고유의 코드가 포함됩니다. Access 코드는 보고서와 함께 가져올 수 없습니다. 또한 쿼리에 포함된 문자열이 있으면 보고서를 제대로 가져오지 못할 수 있습니다. 이 문제를 해결하려면 문자열을 문자 코드로 바꿉니다. 예를 들어 쉼표(,)를 CHAR(34)로 바꿉니다.
가져오기 과정에서 연결 문자열 정보의 세미콜론(;)이나 XML 태그 문자(<, > 등)는 제대로 전달되지 않습니다. 연결 문자열에 세미콜론이나 XML 태그 문자가 있으면 보고서를 가져온 후 새 보고서에서 암호를 수동으로 설정해야 합니다.
가져오기 과정에서는 연결 문자열의 연결 설정이나 일반 시간 제한 설정을 가져올 수 없습니다. 보고서를 가져온 후 이러한 설정을 조정해야 합니다.
쿼리에 매개 변수가 포함된 보고서를 가져오는 경우에는 보고서를 가져올 때 쿼리가 변환되지 않습니다. 보고서와 함께 쿼리를 가져오려면 임시로 Access 보고서의 쿼리 매개 변수를 하드 코드 값으로 바꾸고 보고서를 가져온 후 쿼리 매개 변수로 다시 바꿉니다.
데이터 원본
Reporting Services에서는 SQL Server와 같은 OLE DB 데이터 원본을 지원합니다. Access 프로젝트 파일(.adp)에서 보고서를 가져오는 경우에는 데이터 원본에 대한 연결 문자열을 .adp 파일의 연결 문자열에서 가져옵니다. Access 데이터베이스 파일(.mdb 또는 .accdb)에서 보고서를 가져오는 경우에는 연결 문자열이 Access 데이터베이스를 가리키므로 보고서를 가져온 후 연결 문자열을 수정해야 합니다. Access 보고서에 대한 데이터 원본이 쿼리이면 쿼리 정보가 수정되지 않고 RDL에 저장됩니다. Access 보고서에 대한 데이터 원본이 테이블이면 변환 과정에서 테이블 이름과 테이블의 필드를 기반으로 쿼리가 생성됩니다.
사용자 지정 모듈이 있는 보고서
모듈 내에 포함된 사용자 지정 Microsoft Visual Basic 코드는 변환되지 않습니다. 가져오기 과정에서 코드가 발견되면 경고가 생성되어 태스크 목록 창에 표시됩니다.
보고서 컨트롤
Reporting Services에서는 다음 Access 컨트롤을 지원하고 변환된 보고서 정의에 포함합니다.
Image |
Label |
Line |
Rectangle |
SubForm |
SubReport 참고 SubReport 컨트롤은 주 보고서 내에서 변환되지만 포함된 보고서 자체는 별도로 변환됩니다. |
TextBox |
다음 컨트롤은 Reporting Services에서 지원되지 않습니다.
BoundObjectFrame |
CheckBox |
ComboBox |
CommandButton |
CustomControl |
ListBox |
ObjectFrame |
OptionButton |
TabControl |
ToggleButton |
가져오기 과정에서 이러한 컨트롤이 발견되면 경고가 생성되어 태스크 목록 창에 표시됩니다.
ActiveX, Office Web Components 등의 다른 컨트롤은 가져올 수 없습니다. 예를 들어 Access 보고서에 OWC 차트 컨트롤이 있는 경우 보고서를 가져올 때 이 컨트롤은 변환되지 않습니다.
보고서 속성
Reporting Services에서는 Access 사용자 인터페이스를 통해 사용할 수 있는 다음 속성을 지원합니다. 코드에서만 사용할 수 있는 속성은 지원되지 않으므로 다음 목록에서 제외되었습니다.
BackColor |
BackStyle |
BorderColor |
BorderStyle |
BorderWidth |
BottomMargin |
CanGrow(입력란) |
CanShrink(입력란) |
Caption |
FontBold |
FontItalic |
FontName |
FontSize |
FontUnderline |
FontWeight |
ForceNewPage |
ForeColor |
Height |
HideDuplicates |
Hyperlink |
IsHyperlink |
IsVisible |
KeepTogether(그룹) |
Left |
LeftMargin |
LineSlant |
LineSpacing |
LinkChildFields |
LinkMasterFields |
NewRowOrCol |
PageFooter |
PageHeader |
Pages |
Picture |
PictureTiling(보고서) |
ReadingOrder |
RepeatSection |
RightMargin |
RunningSum |
SizeMode |
TextAlign |
Top |
TopMargin |
Width |
Access 사용자 인터페이스를 통해 사용할 수 있는 다음 속성은 Reporting Services에서 지원되지 않습니다.
CanGrow(구역) |
CanShrink(구역) |
DecimalPlaces |
FastLaserPrinting |
Filter |
FilterOn |
Format |
FormatConditions |
GrpKeepTogether |
KeepTogether(구역) |
NumeralShapes |
Orientation |
PaintPalette |
PaletteSource |
PictureAlignment |
PicturePages |
PictureSizeMode |
PictureTiling(이미지) |
ScrollBars |
SpecialEffect |
Vertical |
그룹화
Access에서는 그룹 식, GroupOn 속성 및 GroupInterval 속성의 세 가지 속성을 조합하여 그룹 수준을 정의합니다. 그룹 머리글이나 바닥글이 없는 그룹은 해당 그룹에 포함된 그룹과 병합됩니다. 그룹에 다른 그룹이 포함되어 있지 않으면 세부 구역에 정렬이 적용되고 그룹이 삭제됩니다.
식
Access에서는 식을 사용하여 입력란에 나타나는 값을 지정합니다. 또한 일부 집계 함수뿐만 아니라 식 언어로 Visual Basic을 사용합니다. 보고서 디자이너에서는 이러한 Access 식을 보고서 식으로 변환합니다.
함수
Reporting Services 보고서 정의는 기본 식 언어로 Visual Basic .NET을 사용하지만 Access 2002에서는 Visual Basic을 사용합니다. 다음 목록에서는 Reporting Services에서 지원되는 함수를 설명합니다.
배열 함수
Reporting Services에서는 다음 배열 함수를 지원합니다.
LBound
UBound
변환 함수
Reporting Services에서는 다음 변환 함수를 지원합니다.
Asc |
CBool |
CByte |
CCur |
CDate |
CDbl |
CDec |
Chr |
Chr$ |
CInt |
CLng |
CSng |
CStr |
CVar |
CVDate |
Format |
FormatCurrency |
FormatDateTime |
FormatNumber |
FormatPercent |
Hex |
Hex$ |
Nz |
Oct |
Oct$ |
Str |
Str$ |
StrConv |
Val |
다음 변환 함수는 Reporting Services에서 지원되지 않습니다.
GUIDFromString
StringFromGUID
데이터베이스 함수
Reporting Services에서는 다음 데이터베이스 함수를 지원합니다.
CreateReport |
GetObject |
HyperlinkPart |
Partition |
다음 데이터베이스 함수는 Reporting Services에서 지원되지 않습니다.
CodeDb |
CreateControl |
CreateForm |
CreateGroupLevel |
CreateObject |
CreateReportControl |
CurrentDb |
CurrentUser |
DeleteControl |
DeleteReportControl |
Eval |
IMEStatus |
SysCmd |
날짜/시간 함수
Reporting Services에서는 다음 날짜/시간 함수를 지원합니다.
Date |
Date$ |
DateAdd |
DateDiff |
DatePart |
DateSerial |
DateValue |
Day |
Hour |
Minute |
Month |
MonthName |
Now |
Second |
Time |
Time$ |
Timer |
TimeSerial |
TimeValue |
Weekday |
WeekdayName |
Year |
DDE/OLE 함수
다음 DDE/OLE 함수는 Reporting Services에서 지원되지 않습니다.
DDE |
DDEIntitate |
DDERequest |
DDESend |
LoadPicture |
도메인 집계 함수
다음 도메인 집계 함수는 Reporting Services에서 지원되지 않습니다.
DAvg |
DCount |
DFirst |
DLast |
DLookup |
DMax |
DMin |
DStDev |
DStDevP |
DSum |
DVar |
DVarP |
오류 처리 함수
Reporting Services에서는 다음 오류 처리 함수를 지원합니다.
Err |
Error |
Error$ |
IsError |
다음 오류 처리 함수는 Reporting Services에서 지원되지 않습니다.
- CVErr
재무 함수
Reporting Services에서는 다음 재무 함수를 지원합니다.
DDB |
FV |
IPmt |
IRR |
MIRR |
NPer |
NPV |
Pmt |
PPmt |
PV |
Rate |
SLN |
SYD |
상호 작용 함수
Reporting Services에서는 다음 상호 작용 함수를 지원합니다.
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 |
다음 상호 작용 함수는 Reporting Services에서 지원되지 않습니다.
DoEvents |
In |
입력 |
Input$ |
검사 함수
Reporting Services에서는 다음 검사 함수를 지원합니다.
IsArray |
IsDate |
IsEmpty |
IsError |
IsNull |
IsNumeric |
IsObject |
TypeName |
VarType |
다음 검사 함수는 Reporting Services에서 지원되지 않습니다.
- IsMissing
수치 연산 함수
Reporting Services에서는 다음 수치 연산 함수를 지원합니다.
Abs |
Atn |
Cos |
Exp |
Fix |
Int |
Log |
Rnd |
Round |
Sgn |
Sin |
Sqr |
Tan |
메시지 함수
다음 메시지 함수는 Reporting Services에서 지원되지 않습니다.
InputBox |
InputBox$ |
MsgBox |
프로그램 흐름 함수
Reporting Services에서는 다음 프로그램 흐름 함수를 지원합니다.
Choose |
IIf |
Switch |
SQL 집계 함수
Reporting Services에서는 다음 SQL 집계 함수를 지원합니다.
Avg |
Count |
Max |
Min |
StDev |
StDevP |
Sum |
Var |
VarP |
텍스트 함수
Reporting Services에서는 다음 텍스트 함수를 지원합니다.
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$ |
상수
Access에서는 vbTrue 등의 특수한 Visual Basic 상수를 지원하지 않으므로 변환이 필요하지 않습니다. 그러나 예외 사항이 하나 있습니다. 키워드 Null은 System.DbNull.Value로 변환됩니다.
매개 변수
보고서 디자이너는 가져오기 과정에서 보고서의 모든 식을 검색하여 필드 이름이나 컨트롤에 해당하지 않는 변수가 있는지 확인합니다. 이러한 변수는 보고서 매개 변수에 추가됩니다.
저장 프로시저 매개 변수의 데이터 형식은 항상 문자열로 가져옵니다. 보고서를 가져온 후 올바른 데이터 형식을 사용하려면 수동으로 매개 변수를 변경해야 합니다.
개체 이름
Access에서는 필드 이름이 컨트롤 이름과 동일할 수 있지만 Reporting Services에서는 그렇지 않습니다. 또한 Visual Basic 6.0에서는 변수 이름에 공백을 사용할 수 있지만 Visual Basic .NET에서는 그렇지 않습니다. 가져오기 과정에서 이러한 개체의 이름은 모두 유효한 이름으로 바뀌며 여러 개체의 이름이 같은 경우 고유한 이름이 할당됩니다. 각 식이 검색되어 이름이 바뀐 개체에 해당하는 변수의 이름이 새 이름으로 바뀝니다.
사각형 및 포함
Reporting Services 보고서 정의에서는 사각형에 다른 보고서 항목이 포함될 수 있습니다. 보고서 항목보다 크고 해당 영역의 90% 이상과 겹치는 사각형은 모두 보고서 항목의 컨테이너가 됩니다.
비트맵
보고서에 포함된 비트맵은 초기 형식에 관계없이 보고서를 가져올 때 모두 .bmp 형식으로 변환됩니다. 예를 들어 보고서에 .jpg 및 .gif 파일이 있는 경우 보고서와 함께 가져오는 리소스는 .bmp 파일이 됩니다. 비트맵은 포함 이미지로 보고서에 저장됩니다. 포함 이미지에 대한 내용은 이미지(보고서 작성기 및 SSRS)를 참조하십시오.
기타 고려 사항
Access에서 보고서를 가져올 때는 위의 항목뿐만 아니라 다음 사항도 적용됩니다.
조건부 서식은 변환되지 않습니다.
Access의 보고서 속성에 있는 설명 필드는 변환되지 않습니다.