Leszynskis namnkonvention

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