Leszynskis namnkonvention (eller LNC ) är en variant av ungersk notation som populariserats av konsulten Stan Leszynski specifikt för användning med Microsoft Access- utveckling. Även om namnkonventionen numera ofta används inom Microsoft Access -gemenskapen, och är standarden i Visual Basic- programmering, används den inte i stor utsträckning någon annanstans.
Konventionerna härrör från en tidigare uppsättning konventioner, Leszynski/Reddicks namnkonventioner, som ursprungligen utvecklades 1992 av Greg Reddick. Så småningom hade Leszynski och Reddick olika idéer om hur konventionerna skulle utvecklas och delas upp i två separata uppsättningar av konventioner, den andra är RVBA-konventionerna.
Som i alla ungerska notationer använder den prefix (kallade taggar ) för att indikera typen av objekt och databasutvecklingsfält . Den allmänna strukturen för ungersk notation (uppkallad efter Charles Simonyis hemland) är att dela upp objektnamn i följande element: [prefix(er)][tag]Basnamn[Suffix/Qualifier] Taggarna är små bokstäver och objektet namnet är kamelfodral . Mellanslag och understreck används inte.
Fördelar
Eftersom Leszynskis namnkonvention är en speciell form av ungersk notation gäller samma allmänna fördelar även för Leszynski-konventionen.
Användningen av distinkta prefix gör din databas självdokumenterande; när du ser frmSales i VBA-kod vet du att den refererar till ett formulär, och när du ser curSales vet du att det är en valutavariabel. När du väljer en fråga från en rullgardinslista vet du att en fråga som börjar med qmak är en fråga om att skapa tabell, medan en som börjar med quni är en unionsfråga. Denna information gör att du kan undvika fel som att använda SetFocus-metoden (en kontrollmetod) med ett fält eller att försöka öppna en tabell.
Nackdelar
- Eftersom Leszynskis namnkonvention är en speciell form av ungersk notation gäller samma allmänna nackdelar även för Leszynski-konventionen.
- Ändringar i databasdesign kan kräva ett grossistbyte. Att till exempel ersätta en tabell med en fråga skulle innebära att antingen behålla tbl-namnet för frågan eller gå igenom hela databasen och ersätta tbl-namnet med ett frågenamn.
- När databasen överförs till en annan DBMS kommer problem att uppstå om mål-DBMS inte stöder CamelCase -namn.
- Eftersom varje objekt av samma typ börjar med samma bokstav är det inte möjligt att navigera genom objekten i en listruta genom att skriva in början.
Element
Beståndsdelarna i namnkonventionen beskrivs i följande tabell.
Komponent |
Beskrivning |
Exempel |
Prefix |
En liten bokstav som lägger till extra information till taggen |
p för Public variabel |
Märka |
En sekvens på tre bokstäver som indikerar objekttypen |
tbl för bord |
Basnamn |
Ett eller två ord som beskriver objektet. Om flera ord används börjar vart och ett med en stor bokstav och det finns inga mellanslag mellan dem |
OutlookContacts – kontakter importerade från Outlook |
Suffix (RVBA), Qualifier (LNC) |
Ett ord som ger mer specifik information om ett objekt |
ByDate – data sorteras efter datum |
De grundläggande LNC-objektprefixen
Objekt |
Märka |
Ofullständiga objekt, backupobjekt eller objekt som är under utveckling |
_ eller – (I vissa versioner av Access sorterar bindestreck till början av databasobjektlistan.) |
Dolda systemobjekt |
Z H |
Visade systemobjekt |
zs |
Programmatiskt skapade tillfälliga objekt |
zt |
Säkerhetskopiering av objekt, för senare kopiering eller återanvändning |
zz |
De grundläggande LNC-variabelprefixen
Variabel typ |
Märka |
Lokal variabel |
[inget prefix] |
Lokal statisk variabel |
s |
Variabel på modulnivå |
m |
Offentlig variabel i en formulär- eller rapportmodul |
sid |
Offentlig variabel som deklareras i avsnittet Deklarationer i en standardmodul |
g |
De grundläggande LNC-databasobjekttaggarna
Objekt |
Märka |
Klassmodul |
cls |
Form |
frm |
Formulär (dialog) |
fdlg |
Form (meny) |
fmnu |
Formulär (meddelande) |
fmsg |
Formulär (underformulär) |
fsub |
Makro |
mcr |
Modul |
bas |
Modul |
mod |
Fråga (alla typer) |
qry |
Fråga (lägg till) |
qapp |
Fråga (korstabell) |
qxtb |
Fråga (datadefinition) |
qddl |
Fråga (ta bort) |
qdel |
Fråga (formulärfilter) |
qflt |
Fråga (uppslag) |
qlkp |
Fråga (gör-tabell) |
qmak |
Fråga (välj) |
qry (eller qsel) |
Fråga (SQL-genomkoppling) |
qspt |
Fråga (fackförening) |
quni |
Fråga (uppdatering) |
qupd |
Rapportera |
rpt |
Rapport (delrapport) |
rsub |
Tabell |
tbl |
Mellanbord |
trel |
Tabell (bifogad dBASE) |
tdbf |
Tabell (bifogat Excel) |
txls |
Tabell (bifogat FoxPro) |
tfox |
Tabell (bifogad Lotus) |
twks |
Tabell (bifogad ODBC) |
todb |
Tabell (bifogad paradox) |
tpdx |
Tabell (bifogad SQL Server) |
tsql |
Tabell (bifogad text) |
ttxt |
Tabell (uppslag) |
tlkp |
Sidor |
sid |
LNC-tabellfälttaggar
Objekt |
Märka |
Autonumrering (slumpmässig icke-sekventiell) |
idn |
Autonumrering (replikerings-ID) |
idr |
Autonumrering (sekventiell) |
ids |
Binär |
bin |
Byte |
byt |
Valuta |
byracka |
Datum Tid |
dtm |
Dubbel |
dbl |
Hyperlänk |
hlk |
Heltal |
int |
Lång |
lng |
PM |
mem |
OLE |
ole |
Enda |
sng |
Text (tecken) |
chr |
Ja/Nej (booleskt) |
ysn |
LNC-taggarna för VBA-variabler
Objekt |
Märka |
Boolean |
miljarder |
Kommandofält |
cbr |
Kontroll (generisk; användbar när du cyklar genom kontroller på ett formulär eller en rapport) |
ctl |
Valuta |
byracka |
Databas |
dbs |
Dubbel |
dbl |
Form |
frm |
Heltal |
int |
Lång |
lng |
QueryDef |
qdf |
Rapportera |
rpt |
Enda |
sng |
Ögonblicksbild |
snp |
Sträng |
str |
Tabell |
tbl |
Typ (användardefinierad) |
typ |
Variant |
var |
LNC-taggarna för formulär- och rapportkontroller
(kan också användas i kodreferenskontroller)
Objekt |
Märka |
Anknytning |
att |
Inbunden objektram |
frb |
Diagram (graf) |
cht |
Kryssruta |
chk |
Kombinationsrutan |
cbo |
Kommandoknapp |
cmd |
Anpassad kontroll |
ocx |
Ram |
fra |
Hyperlänk |
hlk |
Bild |
img |
Märka |
lbl |
Linje |
lin |
Listruta |
lst |
Alternativknapp (radioknapp) |
välja |
Alternativgrupp |
grp |
Sida (på en flikkontroll) |
sid |
Sidbrytning |
brk |
Rektangel (form) |
shp |
Underformulär/rapport |
sub |
Flikkontroll |
flik |
Textruta |
Text |
Växlingsknapp |
tgl |
Knapp |
btn |
Obunden objektram |
fru |
Några typiska LNC-namn för databasobjekt, kontroller och variabler
Objekt/variabelnamn |
LNC namngivningselement |
Beskrivning |
tblAnställda |
tagg + basnamn |
En tabell med personaldata |
qupdSales |
tagg + basnamn |
En fråga som uppdaterar försäljningsdata |
fsubDayMax |
tagg + basnamn + kval |
Ett underformulär som visar maxdag |
intLines |
tagg + basnamn |
En heltalsvariabel som innehåller ett värde som representerar antalet rader i en Word-tabell |
curSales |
tagg + basnamn |
En valutavariabel som har ett försäljningsvärde |
pstrForm |
prefix + tagg + basnamn |
En offentlig strängvariabel som innehåller ett formulärnamn |
zztblKontakter |
prefix + tagg + basnamn |
En backup-kontakttabell för kopiering och fyllning med importerad data |
En del av den här artikeln är baserad på Helen Feddemas bok, Expert One-on-One Microsoft Access Application Development , Wiley, ISBN 0-7645-5904-4 .
externa länkar