நவீன பயன்பாடுகள் அனைத்துமே எந்தவொருநிலையையும் சமாளிக்ககூடியதும் (robust)மீண்டும் மீண்டும் பயன்படுத்திகொள்ளுமாறான குறிமுறைகளை (reusable code)கொண்டதும் ஆக உள்ளன, இவ்வாறாக இல்லையெனில் ஒருபயன்பாட்டை பயனாளர் எவரும் பயன்படுத்திட மாட்டார்கள் என்ற தற்போதைய நிலையுள்ளது அதனடிப்படையில் மைக்ரோ சாப்ட் நிறுவனம் தம்முடைய அக்சஸ் பயன்பாட்டினையும் இவ்வாறே செயல்படுவதற்கு ஏதுவாக இயக்கநேர குறிமுறை நுலகத்தின் வழியாக இறக்குமதிசெய்வது அல்லது ஏற்றுமதி செய்து கொள்வது ஆகியசெயலின் மூலம் இதற்கான குறிமுறையை அனுகிடுமாறு அனுமதிக்கின்றது,
பொருள்நோக்கு நிரல்தொடர் (object oriented program) என்றால் என்னவென உங்களுக்கு எற்கனவே தெரிந்திருக்கும் என நம்புகின்றேன் இந்நிலையில் அக்சஸ் எவ்வாறு பொருள் நோக்கு பயன்பாடாக முடியும் என்ற ஐயம் அனைவரின் மனதிலும் எழும்,அக்சஸில் உள்ள படிவம் அறிக்கை ஆகியவையே பொருளாகும் இவற்றின் மூலமாகவே அக்சஸின் வெளியீடுகள் நமக்கு கிடைக்கின்றன அதனால் அக்சஸை பொருள்நோக்கு பயன்பாடு எனவும் கூறமுடியும் இந்த பொருட்களை விபிஏவை பயன்படுத்தி உருவாகுமாறு அதற்கான குறிமுறைகளைஉட்பொதிந்தால் பொருள் நோக்கு பயன்பாடாக அக்சஸ் மாறிவிடுகின்றது ஆனால் பொருள்நோக்கு பயன்பாட்டின் அடிப்படை பண்பயில்பான பொதிவுறையாக்கம் (encaptualation) எவ்வாறு அக்சஸில் செயல்படுத்தப்படுகின்றது என இப்போது காண்போம்,
பொருள்சார்ந்த செயல்வரைவுகளின் தரவுகளையும் செயல்கூறுகளையும் ஒரு பொருளிற்குள் தனித்தனியாக பிரித்து வைக்கின்றது, அதனடிப்படையில் செயல்முறையில் வேறெங்கும் சிக்கல் ஏற்படாதவாறு மாற்றமைவுசெய்ய அனுமதிக்கின்றது, இதனையே பொதிவுறையாக்கம் என அழைக்கின்றோம்,
அக்சஸின் படிவம் ஒன்றிற்குள் ஒரு உரைபெட்டியினை கொண்டுவந்து வைத்தவுடன் இந்த உரைபெட்டிக்கு என்று தனியான புதிய பண்புகள்,வழிமுறைகள்,நிகழ்வுகள் ஆகியவை எற்படுத்தப்பட்டு இந்த உரைபெட்டி மட்டும் தனித்து இயங்கிடுமாறு உருவாகி விடுகின்றது, இவ்வாறு இந்த உரைபெட்டியை உருவாக்குவது கண்ணிற்கு தெரிந்த பொதிவுறையாக்கமாகும்
Err object என்பதை பயன்படுத்தி ஒருகட்டளைத்தொடரில் எந்த இடத்தில் எவ்வாறான பிழைஏற்பட்டது என கண்டுபிடிக்க முடியும் பின்னர் இந்த பிழையை சரிசெய்து சரியாக செயல்படுமாறு மாற்றி யமைக்கமுடியும், அதன்பின்னர் clear வழிமுறையில் Errobject ஐ மறுஅமைவு செய்து மீண்டும் அடுத்தபிழை ஏதேனும் ஏற்பட்டுள்ளதாவென காண்பதற்கு ஏதுவாக தயார் செய்யமுடியும்,இந்த Err objectஐ கண்ணால் காணமுடியாது ஆனால் இதன் பயனை மட்டும் உணரமுடியும் அதனால் இதனை ஒரு கண்ணிற்க்கு புலப்படாத பொதிவுறையாக்கம் செய்யப்பட்ட பொருளாக கருதப்படுகின்றது, அடுத்ததாக
Product inventory object என்பதை எடுத்து கொள்வோம்,இதற்குள் இதில் உள்ள ஒருபொருளின் பெயர்,பொருள் ஒவ்வொன்றின் விலை,கையிருப்பு அளவின் எண்ணிக்கை, மொத்தவிலை என்பன போன்ற பல்வேறுவகையான தனித்தனி பண்பியல்புகள் தனித்தனியாக பராமரிக்கப்படுகின்றன,
ஒருபெயர்பட்டி அல்லது உரைபெட்டியின் கட்டுப்பாடு ஒருசாதாரண பொருளாகும், இதன் அடிப்படைத்தன்மையும் பண்பியல்புகளும் மிகசிக்கலான பொருளிற்குள் இருப்பது போன்றதேயாகும் பின்வரும்( நிரல்தொடர்-28-1) விபிஏ குறிமுறை யானது எவ்வாறு ஒரு பொருளானது அக்சஸ் பயன்பாட்டில் உபயோகபடுத்திடமுடியும் எனகூறுகின்றது,
நிரல்தொடர்-28-1
Dim objectName As ObjectClass
Set objectName = New ObjecClass
‘Setting a property of the object:
objectName.SomProperty = SomValue
‘Invoking a method of the object:
objectName.SomeMethod
இதில் பொருளின் பெயரே ஒரு ObjectName ஆகும்,இதனை Dim என்ற கூற்றின் வாயிலாக அறிவிப்பு செய்யப்படுகின்றது,
ஒருஇனக்கூற்றின் (class module)குறிமுறையில் பொருள்ஒன்று வரையறுக்கப் படுகின்றது, அதன் அடிப்படையில் அக்சஸ் பயன்பாட்டிற்குள் ஒரு இனக்கூற்றினை சேர்க்கமுடியும், பின்னர் அதற்கான பண்பியல்புகள் வழிமுறையும் குறிமுறையையும் இதனுடன் இணைக்க முடியும் அதன்பின்னர் இனக்கூறின் பொருளை வரையறுப்பதற்காக பயன்படுத்தமுடியும், இங்கு இனக்கூறின்பெயரே பொருள் இனத்தின்பெயராகும்,
பொதுவாக ஒருசிறப்புவகை குறிமுறைத் தகவமைவையே ஒருஇனக்கூறு என அழைப்பர், அக்சஸானது ஒருபொருளை வரையறுப்பதற்காக இதனை ஆதரிக்கின்றது, மேலும் புதிய சான்றளிக்கப்பட்ட பொருள் தகவமைவு குறிமுறையிலிருந்து உருவாக்கிட அனுமதிக்கின்றது
ஒருஇனக்கூறில் உள்ள பொதுசுட்டியுடன் இனைந்து செயல்முறைகள் ,பண்பியல்புகள், வழிமுறைகள் ,நிகழ்வுகள் ஆகியவற்றை வெளிப்படுத்துகின்றது, இனக்கூறுக்குள் மட்டும் அறிவிப்புசெய்து பயன்படுத்திகொள்ளும்படியும் இந்த தனிச்சுட்டியின் உதவியுடன் வெளிப்புறத்துடன் தொடர்புகொண்டு பயன்படுத்த முடியாதவாறும் அமைக்கப்பட்டுள்ளது,
இதனடிப்படையில் நாம் ஒருproduct class module ஐ உருவாக்கிடமுடியும் பின்னர் ProductName, UniPrice,Qty,Total Value,Discount.NetValueஆகிய பண்பியல்புகளை இதனுடன் சேர்க்கமுடியும், இதனுடன் மெலும் தேவையெனில் இதனை எந்த நோக்கத்திற்காக பயன்படுத்தி கொள்ளப் போகின்றோமோ அதற்கேற்றவாறு இதனுடைய பண்பியல்புகளை சேர்த்து கொள்ளமுடியும், இதற்காக தனியானதொரு விபிஏ குறிமுறை மூலமாகவே உருவாக்கிடமுடியும் என்பதை மனதில் கொள்க,
Customer contact,employee details,product details ஆகியவை பொதுவாக எல்லாஇடங்களிலும் நடப்பிலிருக்கும் இனக்கூறு(class module)ஆகும்,
இந்த இனக்கூறின் குறிமுறையிலிருந்து நம்முடைய பொருளைபற்றிய அறிவுமற்றும் நடைமுறையில் உள்ள பொருளின் தன்மை ஆகியவற்றின் அடிப்படையில் அக்சஸினுடைய விபிஏ குறிமுறையாக உருமாற்றம் செய்து அதனையே அக்சஸின் பொருளினுடைய பண்பியல்புகள் ,வழிமுறைகள் ஆகியவைகளாக உருமாற்றம் செய்யமுடியும்,
பின்வரும் அட்டவணை28-1 ஒருபொருள் இனக்கூறின் பண்பியல்புகள் ,வழிமுறைகள் ஆகியவைகளை கொண்டுள்ளன,
அட்டவனை-28-1
இதில் தேவையானால் மேலும் பண்பியல்புகள் ,வழிமுறைகள் ஆகியவைகளை சேர்த்து மிகத்திறனுடன் இதனை பயன்படுத்திகொள்ளமுடியும்,
படம்-28-1
அக்சஸ்2003 ஆக இருந்தால் ஒருதரவுதளத்தில் insert=>class module=> என்றவாறு கட்டளைகளை தெரிவு செய்து சொடுக்குவதன் மூலம் ஒருபதிப்பு சாளரத்தை திறந்து ஒருபுதிய இனக்கூறை திறக்கமுடியும்
ஆனால் அக்சஸ்-2007 இல் create தாவிபட்டியின் othersஎன்ற குழுவின்கீழ்உள்ள macroஎன்ற அம்புக்குறியள்ள பொத்தானை தெரிவுசெய்து சொடுக்குக,உடன் விரியும் பட்டியலிலிருந்த class module என்பதை தெரிவுசெய்வதன் மூலம் இதனை செயலிற்கு கொண்டுவர முடியும், இதில் குறிமுறையை உருவாக்கிய பின்னர் மேல்பகுதியில் உள்ள save என்ற உருவபொத்தானை அழுத்தி இதற்கு ஒருபெயரிட்டு (படம்-28-1)சேமிக்கமுடியும்,
இதில் இனத்தின் பெயர் நாம் புரிந்துகொள்ளும் வண்ணம் மிகசுருக்கமானதாக இருக்கவேண்டும், ஒவ்வொரு பண்பியல்பையும் ஒருபொதுமாறியாக அறிவிப்பதுதான் ஒருஇனத்திற்கான பண்பியல்புகளை செயல்படுத்திடும் சுலபமான வழியாகும் , ஒரு இனக்கூறிற்குள் ஒருபுதிய பண்பியல்பை அந்த இனத்திற்கான பொதுமாறியாக சேர்க்கமுடியும்,
படம்-28-2
ஒருஇனத்திலிருந்து உருவாக்கப்பட்ட இனக்கூறின் ஒவ்வொரு பொதுமாறியையும் அந்தபொருளின் பண்பியல்பாக பாவிக்கின்றது(படம்-28-2),ஏனெனில் நாம் ஒருஇனக்கூறினை பொதுமாறியாக அறிவிப்பு செய்துள்ளோம்,அதனால் இதற்காக மேலும் பணியுரியாமல் அக்சஸானது இந்த மாறியை இனப்பொருளின் பண்பியல்பாக கருதிகொள்கின்றது,
இவை மற்ற பொருள்வழிமுறைபோன்று இனத்திலிருந்து பொருளாக உருவாக்கிடும் செயலை ஆதரிப்பதை வரையறுக்கின்றது, இவைஒவ்வொன்றிலும் ஒருபொருள் இனக்கூறில் பொது செயல்முறை தவிர வேறொன்றும் இல்லை,பின்வரும் குறிமுறை sell method ஆகும்,
நிரல்தொடர்-28-2
Public SubSell(UnitSold As Integer)
Me.UnitInStock = Me.UnitsInStock -UnitsSold
End sub
இயல்புநிலையில் இனத்திலுள்ள அனைத்து செயல்முறைகள் பொதுசெயல்முறைகளாகவே இருக்கின்றன, பொதுதிறவுசொல் செயல்முறையின் நிலையை தெரிந்து கொள்வதற்கான வாய்ப்பாக அமைகின்றது,,இதில் எந்தவொருமதிப்பையும் திருப்பி அனுப்பபடவில்லை,
நிரல்தொடர்-28-3
Public Sub Discount(Percent As Integer)
If Percent < 1 Or Percent > 99 Then Exit Sub
End If
Me.UnitPrice = Me.UnitPrice – ((Percent / 100) * Me.UnitPrice)
End Sub
இந்த டிஸ்க்கவுன்ட் வழிமுறை செயல்வழிமுறை போன்றதே இதில் 1சதவிகிதத்திற்கும் கீழ் அல்லது 99 சதவிகிதத்திற்கும் மேல் எனில் இந்த வழிமுறையின் செயல் முடிவுக்கு வந்து விடுகின்றது, மதிப்பு இரண்டிற்கும் இடையில் இருந்தால் கழிவுத்தொகை எவ்வளவு என கணக்கிட்டு கழிக்கின்றது,
நிரல்தொடர்-28-4
Private Sub Form_Load()
Set Product = New ClsProduct1
Set rs = CurrentDb.OpenRecordset(“tblProducts”)
If rs.RecordCount > 0 Then
Call SetObjectProperties
Call FillForm
End If
End Sub
இதில் கட்டற்ற Frmproductஆனது Frms load செயல்முறையிலிருந்து ஏராளமான பண்பியல்பை உருவாக்கி இதற்காக ஒதுக்கீடு செய்கின்றது, மேலும் இதிலிருந்து ரெக்கார்டுசெட்டை உருவாக்கு கின்றது என்றும் பண்பியல்புகளை எவ்வாறு உருவாக்கி ஒதுக்கீடுசெய்கின்றது என்றும் தெரிந்து கொள்ளலாம்
ஒரு குறிமுறையின் செயலானது எழுத்துகளை கடந்து செல்லும் நிலையில் எண்மதிப்பு தேவைப்படும்போது அல்லது பண்பியல்பின் மதிப்பு பூஜ்ஜியத்தைவிட குறைவாக இருக்கும்போது பண்பியல்பு பிழைஏற்படுகின்றது, பின்வரும் வழிமுறை பிழையின்றி பண்பியல்கள் செயல்படவும் இயக்கநேர பிழைகளை தவிர்க்கவும் பயன்படுகின்றன,
1,இயல்புநிலைபண்பியல்பின் மதிப்பை அமைத்தல் ,பொருத்தமற்ற தரவுகளை கடக்கும்போது இயல்புநிலை பண்பியல்பின் மதிŠபு ஏற்படும்படி அமைக்க வேண்டும்¢,
2,தனிப்பட்ட செயல்முறையை உபயோகபடுத்துதல் தரவுவகைகளை ஏற்புடைத்தாக்கிட(validity) இனக்கூறின் தனிப்பட்ட செயல்முறையை பயன்படுத்திகொள்க
3,பிழையை தேடிப்பிடித்தல் இனக்கூறின் எந்தவொரு இடத்திலும் குறிப்பாக இனப்பண்பியல்புகள் அல்லது வழிமுறைகளில் பிழையை தேடிப்பிடித்தலை உபயோகபடுத்திகொள்க
பொதுவாக பொதிவுரையாக்கும் செயலுடன் இருப்பதே பொருள்நோக்கு நிரலின் அடிப்படைத் தன்மையாகும் என்பதை மனதில்கொள்க,
ஒரு இனக்கூறிற்கான குறிமுறைகளை உருவாக்கிடும்போது Intelligence ஆனது இனத்தின் பொருட்பெயரை உருவாக்கமுயலும் நிலையில் தொடர்புடைய பெயர்களுடன் கீழிறங்கு பட்டியலாக விரிவடைகின்றது அவற்றில் ஒன்றை நாம் தெரிவுசெய்து கொள்ளலாம் ,அவ்வாறே Auto List members என்ற கீழிறங்கு பட்டியலும் (படம்-28-3)ஒருபொருளின் பண்பியல்புகள் அல்லது வழிமுறைகளின் முதலெழுத்தை உள்ளீடுசெய்ய ஆரம்பிக்கும்போது தொடர்புடைய சொற்களின் பட்டியலை திரையில் பிரிதிபலிக்கசெய்கின்றது,
படம்-28-3
இந்நிலையில் ஒரு பண்பியல்பின்பெயரின் இடையில் எங்காவது இடம்சுட்டியைவைத்து shift + F2 ஆகியவிசைகளை சேர்த்து அழுத்தியவுடன் இதனுடையபின்புலத்தில் விபிஏ குறிமுறைஇருந்தால் தொடர்புடைய இனக்கூறின் சாளரம் திறந்துகொள்கின்றது, பின்புலத்தில் விபிஏ குறிமுறை இல்லையெனில் ஒன்றும் நடைபெறாது பிழைசெய்திமட்டும் திரையில் பிரிதிபலிக்கும்
ஒரு அக்சஸ்பயன்பாட்டினை கட்டுண்டுதும் கட்டற்றதும் அல்லது இரண்டும் கலந்த பொருள்நோக்கு தொழில்நுட்பத்தை பயன்படுத்தி உருவாக்கிடமுடியும் என்பதை மனதில் கொள்ளுங்கள்
முக்கியமாக கட்டற்ற கட்டுப்பாட்டை உருவாக்குதில் பொருள்நோக்கு வழிமுறை பெரிதும் பயன்படுகின்றது,
அக்சஸில் பொருள்நோக்கு வழிமுறையின் பயன்படுத்தவேண்டிய விதிமுறைகள்
1,பயனாளரின் இடைமுகத்தின்போது ஒருஇனக்கூறிலிருந்து செய்திபெட்டியொன்று திரையில் தோன்றச்செய்யவேண்டும்,இந்த விதிமுறை அக்சஸிற்கு முக்கியத்துவம் அற்றதாக இருந்தாலும் இதனை செயல்படுத்துவது பின்னாளில் வரும்பிரச்சினையை சமாளிக்கஏதுவாகஇருக்கும்,
2,இனக்கூறை நிகழ்நிலைஅல்லது மேம்படுத்திடும்போது இனக்கூறுகளின் இடைமுகத்தை பாதுகாத்திடுக, நடப்பிலிருக்கும் தரவுவகைகளின் பன்பியல்புகளை மாற்றியமைத்து புதியபண்பியல்பு வழிமுறை நிகழ்வுகள் ஆகியவற்றை சேர்த்திடுவதற்கு இந்த விதிமுறையை பின்பற்றிட வேண்டும்
ஒரு இனக்கூறில் மூன்றுவகையான பண்பியல்பு செயல்முறைகள் உள்ளன அவை
1,PropertyLetசெயல்முறை:இதுபுதியமதிப்பை பண்பியல்பிற்கு ஒதுக்கீடுசெய்கின்றது, இதற்கான குறிமுறைபின்வருமாறு இருக்கும்,
நிரல்தொடர்-28-5
Public Property Let LastName(Value As String)
m_LastName = Left$(Value, 20)
End Property
2,PropertySetசெயல்முறை:இதுபொருளின் பண்பியல்பின்மதிப்பை ஒதுக்கீடுசெய்கின்றது, இதற்கான குறிமுறைபின்வருமாறு இருக்கும்,
நிரல்தொடர்-28-6
Public Property Set Products(Value As ADO.Recordset)
If Not Value Is Nothing Then
Set m_Products = Value
End If
End Property
3,PropertyGetசெயல்முறை:இதுஒருவிபிஏவின் செயலிபோன்று பண்பியல்பின் மதிப்பை மீளப்பெறுகின்றது, இதற்கான குறிமுறைபின்வருமாறு இருக்கும்,
நிரல்தொடர்-28-7
Public Property Get LastName() As String
LastName = m_LastName
End Property