|
Q > 특정텍스트 상자의 기본값
: =Format(Date(),"yymm") 식의 'Date'함수가 정의되지 않았습니다...라는 에러가 자꾸 뜹니다. 저 녀석만 그런 것이 아니라 Date() 함수를 사용하는 모든 경우에 그렇군요. 덕분에 날짜함수를 사용하지 못하고 있습니다. 오피스를 다시 깔아도 마찬가지네요. 다른 컴퓨터에서 실행을 시켜도 동일한 에러가 뜹니다. 아무래도 어딘가 코딩을 잘못한 거 같은데..... 어떤 경우에 그런 에러가 뜨나요? A > Date를 사용하는 모든 경우 그리고 다른 컴퓨터에도 그런 오류가 발생한다고 해서 모듈을 살펴보았더니 모듈이름을 Date라고 지으셨군요. 액세스 내장 함수일 Date()함수와 사용자가 만든 Date모듈이름이 충돌이 일어난 겁니다. |
필드, 컨트롤, 개체 이름의 제한사항
• 64자까지 가능합니다.
• 문자, 숫자, 공백, 특수 문자(마침표(.), 느낌표(!), 악센트 기호(`), 대괄호([ ])는 제외)를 조합하여 사용할
수 있습니다.
• 첫 글자는 공백으로 시작할 수 없습니다.
• 제어 문자(ASCII 값 0부터 31까지)를 포함할 수 없습니다.
• Microsoft Access 프로젝트의 테이블, 뷰, 저장 프로시저 이름에는 큰따옴표를 넣을 수 없습니다.
이름에 있는 공백은?
필드, 컨트롤, 개체 이름에 공백을 사용할 수 있지만,
이름에 있는 공백은 Microsoft Visual Basic for Applications에서 충돌을 일으킬 수 있기 때문에
Microsoft Access 설명서에 있는 대부분의 예제에서는 필드와 컨트롤 이름에 공백을 사용하지 않습니다.
이름 짓는 규칙
개체나 변수, 상수, 프로시져(서브, 함수)의 이름은 가능하면 그 이름만 보고도 형식과 범위를 알 수 있고 구분되고 무슨 역할을 하기 위해 만들었는가를 바로 알아 볼 수 있도록 이해하기 쉽고 설명적으로 작성해야 합니다. 한가지 더 중요한 것은 일관성 있도록 사용하기 쉬워야 합니다. 또한 당연한 이야기지만 이렇게 구별이 되지 이름을 짓게 되면 이름들이 서로 중복되지 않을 가능성이 더 커지게 됩니다.
다음 URL을 꼭 보시고 익히시길 바랍니다.
참고: 명명법에 대한 참고 URL Microsoft Consulting Services Naming Conventions for Visual Basic http://support.microsoft.com/default.aspx?scid=kb;EN-US;q110264 |
참고] 이름 규칙을 사용하는 장점 • 표준화를 이룰 수 있다. • 실수하지 않고 이해하기 쉽고 그리고 확실하게 구별되는 코드를 작성할 수 있다. • 다른 컴퓨터 언어에서도 일관되게 사용할 수 있다. • 이름을 효과적으로 사용할 수 있으며 수고를 덜게 된다. • 중요한 것은 이러한 목적을 달성하는 것이 어려운 것이 아니라 쉽다. |
Hungarian Rule
이렇게 하기 위해서 흔히 Hungarian Rule을 사용합니다.
[prefix][tag][base name][suffix] : [접두사][구별자][기본명칭][접미사]
prefix나 tag은 대개 1~3글자 그리고 소문자를 사용합니다.
base name과 surfix는 1~3정로로 구성되고 단어의 첫 글자를 대문자로 시작하여 구별하기 좋게 합니다.(구별을 위해
Underline을 사용하기도 합니다.)
액세스 도움말에서 제공되는 예제만 착실하게 보시면 이러한 명명법은 쉽게 익힐 수 있습니다. 표준적인 방법을 사용한다는 것은 매우 중요한 것입니다.
몇 가지 예를 들어보겠습니다.
txtCustomerID라는 명칭을 보면 입력란(Text Box= txt)컨트롤인데 CustomerID를 값으로 가지고 있다는 것을 알 수 있습니다.
또 frmGetCustName 는 폼(Form=frm)인데 무언가 입력을 받는(Get) 역할을 하는데 그게 뭐냐면 바로 고객이름(CustName)이라는 것입니다.
mrstCustomers 라는 것은 고객정보(Customers)를 가지고 있는 레코드셋(rst)인데 폼의 모듈변수(m)로 사용한다는 뜻을 가지고 있습니다.
위 경우에서 m은 prefix이고 frm, txt, rst 등이 tag입니다. Get, Customers, CustomerID 등이 base name이고 CustName이 surfix라고 할 수 있습니다.
Suggested Prefixes for Variables
C/C++ data type |
Hungarian |
Description |
VBA equivalent |
BOOL |
b |
8-bit Boolean value. Zero indicates False; nonzero indicates True. |
Boolean or Long |
BYTE |
ch |
8-bit unsigned integer |
Byte |
HANDLE |
h |
32-bit unsigned integer that represents a handle to a Windows object |
Long |
int |
n |
16-bit signed integer |
Integer |
long |
l |
32-bit signed integer |
Long |
LP |
lp |
32-bit long pointer to a C/C++ structure, string, function, or other data in memory |
Long |
LPZSTR |
lpsz |
32-bit long pointer to a C-type null-terminated string |
Long |
Suggested Prefixes for Controls
Control type | prefix | Example |
3D |
pnl |
pnlGroup |
ADO Data |
ado |
adoBiblio |
Animated button |
ani |
aniMailBox |
Check box |
chk |
chkReadOnly |
Combo box, drop-down list box |
cbo |
cboEnglish |
Command button |
cmd |
cmdExit |
Common dialog |
dlg |
dlgFileOpen |
Communications |
com |
comFax |
Control (종류를 모를 때) |
ctr |
ctrCurrent |
Data |
dat |
datBiblio |
Data-bound combo box |
dbcbo |
dbcboLanguage |
Data-bound grid |
dbgrd |
dbgrdQueryResult |
Data-bound list box |
dblst |
dblstJobType |
Data combo |
dbc |
dbcAuthor |
Data grid |
dgd |
dgdTitles |
Data list |
dbl |
dblPublisher |
Data repeater |
drp |
drpLocation |
Date picker |
dtp |
dtpPublished |
Directory list box |
dir |
dirSource |
Drive list box |
drv |
drvTarget |
File list box |
fil |
filSource |
Flat scroll bar |
fsb |
fsbMove |
Form |
frm |
frmEntry |
Frame |
fra |
fraLanguage |
Gauge |
gau |
gauStatus |
Graph |
gra |
graRevenue |
Grid |
grd |
grdPrices |
Hierarchical flexgrid |
flex |
flexOrders |
Horizontal scroll bar |
hsb |
hsbVolume |
Image |
img |
imgIcon |
Image combo |
imgcbo |
imgcboProduct |
ImageList |
ils |
ilsAllIcons |
Label |
lbl |
lblHelpMessage |
Lightweight check box |
lwchk |
lwchkArchive |
Lightweight combo box |
lwcbo |
lwcboGerman |
Lightweight command button |
lwcmd |
lwcmdRemove |
Lightweight frame |
lwfra |
lwfraSaveOptions |
Lightweight horizontal scroll bar |
lwhsb |
lwhsbVolume |
Lightweight list box |
lwlst |
lwlstCostCenters |
Lightweight option button |
lwopt |
lwoptIncomeLevel |
Lightweight text box |
lwtxt |
lwoptStreet |
Lightweight vertical scroll bar |
lwvsb |
lwvsbYear |
Line |
lin |
linVertical |
List box |
lst |
lstPolicyCodes |
ListView |
lvw |
lvwHeadings |
MAPI message |
mpm |
mpmSentMessage |
MAPI session |
mps |
mpsSession |
MCI |
mci |
mciVideo |
Menu |
mnu |
mnuFileOpen |
Month view |
mvw |
mvwPeriod |
MS Chart |
ch |
chSalesbyRegion |
MS Flex grid |
msg |
msgClients |
MS Tab |
mst |
mstFirst |
OLE container |
ole |
oleWorksheet |
Option button |
opt |
optGender |
Picture box |
pic |
picVGA |
Picture clip |
clp |
clpToolbar |
ProgressBar |
prg |
prgLoadFile |
Remote Data |
rd |
rdTitles |
RichTextBox |
rtf |
rtfReport |
Shape |
shp |
shpCircle |
Slider |
sld |
sldScale |
Spin |
spn |
spnPages |
StatusBar |
sta |
staDateTime |
SysInfo |
sys |
sysMonitor |
TabStrip |
tab |
tabOptions |
Text box |
txt |
txtLastName |
Timer |
tmr |
tmrAlarm |
Toolbar |
tlb |
tlbActions |
TreeView |
tre |
treOrganization |
UpDown |
upd |
updDirection |
Vertical scroll bar |
vsb |
vsbRate |
Suggested Prefixes for Data Access Objects (DAO)
Use the following prefixes to indicate Data Access Objects.
Database object |
Prefix |
Example |
Database object |
Prefix | Example |
Container |
con |
conReports |
Parameter |
prm |
prmJobCode |
Database |
db |
dbAccounts |
QueryDef qry |
qry |
SalesByRegion |
DBEngine |
dbe |
dbeJet |
Recordset |
rec |
recForecast |
Document |
doc |
docSalesReport |
Relation |
rel |
Relation |
Field |
fld |
fldAddress |
TableDef |
tbd |
tbdCustomers |
Group |
grp |
grpFinance |
User |
usr |
usrNew |
Index |
ix |
idxAge |
Workspace |
wsp |
wspMine |