Access
 sql >> डेटाबेस >  >> RDS >> Access

लिस्ट व्यू कंट्रोल ड्रैग ड्रॉप इवेंट हैंडलिंग

परिचय।

हम एमएस-एक्सेस में ट्री व्यू कंट्रोल पर ड्रैग एंड ड्रॉप ऑपरेशंस से परिचित हैं जो नोड्स को पुनर्व्यवस्थित करता है। ट्रीव्यू कंट्रोल नोड्स के लिए सभी आधार रिकॉर्ड एकल एक्सेस टेबल से आते हैं। हम हमेशा स्रोत नोड के ParentID . को अपडेट करते हैं ट्री व्यू कंट्रोल पर स्थिति में परिवर्तन करने के लिए, एक ही टेबल रिकॉर्ड पर लक्ष्य नोड के आईडी मान के साथ फ़ील्ड मान। रिकॉर्ड भौतिक रूप से कहीं भी स्थानांतरित नहीं होते हैं।

यहां, ट्री व्यू कंट्रोल के साथ लिस्ट व्यू कंट्रोल को जोड़ने के साथ, हम दो अलग-अलग एक्सेस टेबल के साथ काम करने की योजना बना रहे हैं।

  1. lvश्रेणी - श्रेणी कोड और विवरण।
  2. lvProducts - श्रेणीवार उत्पाद।

इस तरह दोनों टेबल्स के बीच संबंध को समझना आसान हो जाता है। ट्री व्यू कंट्रोल पर जब एक उत्पाद आइटम (लिस्ट व्यू आइटम) एक श्रेणी से दूसरी श्रेणी में जाता है, तो हमें क्या परिवर्तन करना है और कहां करना है।

lvश्रेणी एक्सेस टेबल में ट्री व्यू नोड्स और lvProducts . के लिए 20 रिकॉर्ड हैं सूची दृश्य नियंत्रण के लिए तालिका में 45 है। उत्पाद तालिका में एक या अधिक रिकॉर्ड सीधे श्रेणी तालिका पर उत्पाद श्रेणी से संबंधित होते हैं। उनके बीच संबंध को उत्पाद तालिका के ParentID पर श्रेणी आईडी (CID) फ़ील्ड मान के साथ अद्यतन किया गया है फ़ील्ड ताकि उत्पाद की श्रेणी में परिवर्तन तुरंत सूची दृश्य नियंत्रण पर दिखाई दे।

डेमो डेटा तालिका Microsoft Access नमूना डेटाबेस Northwind.accdb से ली गई थी और इसे दो भागों में विभाजित किया गया था।

lvProduct रिकॉर्ड के पेरेंटआईडी फ़ील्ड मान के आधार पर, हम ListView नियंत्रण में सभी संबंधित उत्पाद आइटम को फ़िल्टर और सूचीबद्ध कर सकते हैं, जब TreeView नियंत्रण पर एक श्रेणी नोड का चयन किया जाता है।

जिन विषयों पर हमने अभी तक चर्चा की है।

ट्री व्यू पर मुख्य विषय निम्नलिखित हैं:, छविसूची , इमेजकॉम्बो, और सूची दृश्य नियंत्रण, हमने अब तक MS-Access में शामिल किया है:

  1. माइक्रोसॉफ्ट ट्री व्यू कंट्रोल ट्यूटोरियल
  2. ट्री व्यू कंट्रोल के साथ एक्सेस मेनू बनाना
  3. ट्री व्यू कंट्रोल को इमेज असाइन करना
  4. ट्री व्यू कंट्रोल-2 में इमेज असाइन करना
  5. ट्री व्यू कंट्रोल चेक-मार्क ऐड डिलीट नोड्स
  6. ट्री व्यू इमेजकॉम्बो ड्रॉप-डाउन एक्सेस मेनू
  7. ट्री व्यू नोड्स को ड्रैग एंड ड्रॉप द्वारा पुनर्व्यवस्थित करें
  8. एमएस-एक्सेस ट्री व्यू के साथ लिस्ट व्यू कंट्रोल

द लिस्ट व्यू ड्रैग-ड्रॉप टास्क।

जहां तक ​​लिस्ट व्यू के ड्रैग एंड ड्रॉप ऑपरेशन का सवाल है, यह अकेले ट्री व्यू कंट्रोल के भीतर उसी विधि की तुलना करने वाला एक सरल अभ्यास है। चूंकि ड्रैग ड्रॉप एक्शन में ट्री व्यू और लिस्ट व्यू कंट्रोल दोनों शामिल हैं, हम कुछ सरल वीबीए कोड के साथ एक ही ट्री व्यू0_OLEDragDrop() इवेंट प्रक्रिया का उपयोग करते हैं।

सूची दृश्य नियंत्रण में सूचीबद्ध उत्पाद आइटम ट्री व्यू नियंत्रण में चयनित वर्तमान श्रेणी आइटम से संबंधित हैं।

उपयोगकर्ता सूची दृश्य नियंत्रण से एक विशेष उत्पाद आइटम का चयन करता है, यदि वह सोचता है कि यह किसी भिन्न श्रेणी के आइटम से संबंधित है, तो इसे TreeViewCcontrol पर लक्ष्य श्रेणी आइटम पर खींचें और छोड़ें।

स्थानांतरित सूची दृश्य उत्पाद आइटम को उन वस्तुओं की सूची में जोड़ा जाएगा जो परिवर्तित श्रेणी से संबंधित हैं। उत्पाद रिकॉर्ड का पेरेंटआईडी फ़ील्ड मान लक्ष्य श्रेणी रिकॉर्ड आईडी (सीआईडी ​​मान) के साथ अपडेट हो जाता है।

यह केवल एकतरफा कार्रवाई है, हमेशा ListView आइटम को एक श्रेणी से ले जाएं और इसे TreeView नियंत्रण पर किसी भिन्न श्रेणी नोड पर छोड़ दें।

ListView ड्रैग-ड्रॉप डेमो एक्सेस फॉर्म frmListViewDrag' का परीक्षण रन स्क्रीन चित्र नीचे दिया गया है:

उपरोक्त छवि में, पेय पदार्थ TreeView पर श्रेणी का चयन किया गया है। पेय पदार्थ श्रेणी से संबंधित उत्पादों को सूची दृश्य नियंत्रण में सूचीबद्ध किया गया है।

उपरोक्त प्रपत्र का डिज़ाइन दृश्य:

प्रपत्र पर नियंत्रण नामों की सूची नीचे दी गई है:

  1. ट्री व्यू कंट्रोल:ट्री व्यू0
  2. सूची दृश्य नियंत्रण:सूची दृश्य0
  3. छविसूची नियंत्रण:छविसूची3
  4. कमांड बटन:cmdClose

frmListViewDrag . पर VBA कोड क्लास मॉड्यूल:

Option Compare Database
Option Explicit

Dim tv As MSComctlLib.TreeView
Dim lvList As MSComctlLib.ListView
Dim imgList As MSComctlLib.ImageList
Const Prfx As String = "X"

Private Sub Form_Load()
Dim db As DAO.Database
Dim tbldef As TableDef

    Set tv = Me.TreeView0.Object
    tv.Nodes.Clear
    
    Set imgList = Me.ImageList3.Object
    
With tv
    .Font.Size = 9
    .Font.Name = "Verdana"
    .ImageList = imgList 'assign preloaded imagelist control
 End With
    
    Set lvList = Me.ListView0.Object
    lvList.ColumnHeaders.Clear
    lvList.ListItems.Clear
    lvList.Icons = imgList
    
    Set db = CurrentDb
    Set tbldef = db.TableDefs("lvProducts")
    
    'Initialize ListView & Column Headers Property Values
     With lvList
        .ColumnHeaderIcons = imgList
        .Font.Size = 9
        .Font.Name = "Verdana"
        .Font.Bold = False
        
        'ColumnHeaders.Add() Syntax:
        'lvList.ColumnHeaders.Add Index, Key, Text, Width, Alignment, Icon
        'Alignment: 0 - Left, 1 - Right, 2 - Center
        .ColumnHeaders.Add 1, , tbldef.Fields(1).Name, 2600, 0, 5
        .ColumnHeaders.Add 2, , tbldef.Fields(3).Name, 2600, 0, 5
        .ColumnHeaders.Add 3, , tbldef.Fields(4).Name, 1440, 1, 5
    End With
    
    Set db = Nothing
    Set tbldef = Nothing

    
   LoadTreeView 'Create TreeView Nodes

End Sub

Private Sub LoadTreeView()
    Dim Nod As MSComctlLib.Node
    Dim firstCatID As Long
    Dim strCategory As String
    Dim strCatKey As String
    Dim strBelongsTo As String
    Dim strSQL As String
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    
    'Initialize treeview nodes
     tv.Nodes.Clear
     
    'Initialize Listview nodes
    While lvList.ListItems.Count > 0
          lvList.ListItems.Remove (1)
    Wend
    
    strSQL = "SELECT lvCategory.CID, lvCategory.Category, "
    strSQL = strSQL & "lvcategory.BelongsTo FROM lvCategory ORDER BY lvCategory.CID;"
    
    Set db = CurrentDb
    Set rst = db.OpenRecordset(strSQL, dbOpenSnapshot)
    
    If Not rst.BOF And Not rst.EOF Then
        rst.MoveFirst
        firstCatID = rst!CID
    Else
        Exit Sub
    End If
    ' Populate all Records as Rootlevel Nodes
    Do While Not rst.BOF And Not rst.EOF
            strCatKey = Prfx & CStr(rst!CID)
            strCategory = rst!Category
            
            Set Nod = tv.Nodes.Add(, , strCatKey, strCategory, 1, 2)
            Nod.Tag = rst!CID
        rst.MoveNext
    Loop
    
    'In the second pass of the the same set of records
    'Move Child Nodes under their Parent Nodes
    rst.MoveFirst
    Do While Not rst.BOF And Not rst.EOF
        strBelongsTo = Nz(rst!BelongsTo, "")
        If Len(strBelongsTo) > 0 Then
            strCatKey = Prfx & CStr(rst!CID)
            strBelongsTo = Prfx & strBelongsTo
            strCategory = rst!Category
            
            Set tv.Nodes.Item(strCatKey).Parent = tv.Nodes.Item(strBelongsTo)
        End If
        rst.MoveNext
    Loop
    rst.Close
    
    ' Populate ListView Control with Product details
    ' of the first Category Item
    LoadListView firstCatID
    
End Sub


Private Sub LoadListView(ByVal CatID)
    Dim strProduct As String
    Dim strPKey As String
    Dim intcount As Integer
    Dim tmpLItem As MSComctlLib.ListItem
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim strSQL As String
    
    ' Initialize ListView Control
    While lvList.ListItems.Count > 0
        lvList.ListItems.Remove (1)
    Wend
   
     strSQL = "SELECT lvProducts.* FROM lvProducts "
     strSQL = strSQL & "WHERE (lvProducts.ParentID = " & CatID & ") "
     strSQL = strSQL & "ORDER BY lvProducts.[Product Name];"
    
    'Open filtered Products List for selected category
    Set db = CurrentDb
    Set rst = db.OpenRecordset(strSQL, dbOpenSnapshot)
    
    Do While Not rst.BOF And Not rst.EOF
        intcount = intcount + 1
        strProduct = rst![Product Name]
        strPKey = Prfx & CStr(rst!PID)
        
        'List Item Add() Syntax:
        'lvList.ListItems.Add Index,Key,Text,Icon,SmallIcon
        Set tmpLItem = lvList.ListItems.Add(, strPKey, strProduct, , 3) 'first column
            lvList.ForeColor = vbBlue
            
            'List second column sub-item Syntax:
            'tmpLItem.ListSubItems.Add Column - Index, Key, Text, ReportIcon, ToolTipText
            tmpLItem.ListSubItems.Add 1, strPKey & CStr(intcount), Nz(rst![Quantity Per Unit], ""), 6
            
            'List third column sub-item
            tmpLItem.ListSubItems.Add 2, strPKey & CStr(intcount + 1), Format(rst![list Price], "0.00"), 6, "In Local Currency."
        rst.MoveNext
    Loop
    
    Set db = Nothing
    Set rst = Nothing
    
    If intcount > 0 Then lvList.ListItems(1).Selected = True
    
End Sub

Private Sub TreeView0_NodeClick(ByVal Node As Object)
Dim Cat_ID As String
Cat_ID = Node.Tag

LoadListView Cat_ID

End Sub

Private Sub TreeView0_OLEStartDrag(Data As Object, AllowedEffects As Long)
    Set tv.SelectedItem = Nothing
End Sub

Private Sub TreeView0_OLEDragOver(Data As Object, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer)
On Error GoTo TreeView0_OLEDragOver_Err

    Dim nodSelected As MSComctlLib.Node
    Dim nodOver As MSComctlLib.Node
    
    If tv.SelectedItem Is Nothing Then
        'Select a node if one is not selected
        Set nodSelected = tv.HitTest(X, Y)
        If Not nodSelected Is Nothing Then
            nodSelected.Selected = True
        End If
    Else
        If tv.HitTest(X, Y) Is Nothing Then
        'do nothing
        Else
            'Highlight the node the mouse is over
            Set nodOver = tv.HitTest(X, Y)
            Set tv.DropHighlight = nodOver
        End If
    End If
    
TreeView0_OLEDragOver_Exit:
Exit Sub

TreeView0_OLEDragOver_Err:
MsgBox Err & " : " & Err.Description, vbInformation, "TreeView0_OLEDragOver()"
Resume TreeView0_OLEDragOver_Exit
End Sub


Private Sub TreeView0_OLEDragDrop(Data As Object, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)

    Dim tv_nodSource As Node
    Dim tv_nodTarget As Node
    
    Dim strtv_ParentKey As String
    Dim strtv_TargetKey As String
    Dim strListItemKey As String
    Dim strSQL As String
    
    Dim vCatID As Long
    Dim lngPID As Long
    
    On Error GoTo TreeView0_OLEDragDrop_Err
    
    'Get the source/destination Nodes
    Set tv_nodSource = tv.SelectedItem
    Set tv_nodTarget = tv.HitTest(X, Y)
    
        If Not tv_nodTarget Is Nothing Then
            strtv_ParentKey = tv_nodSource.Key
            strtv_TargetKey = tv_nodTarget.Key
                
            If strtv_ParentKey = strtv_TargetKey Then Exit Sub

            'Extract ListItem Key
            strListItemKey = lvList.SelectedItem.Key
                
            'extract Category Record CID Value
            'and ListItem Product ID Key
            vCatID = Val(Mid(tv_nodTarget.Key, 2))
            lngPID = Val(Mid(strListItemKey, 2))
    
            'UPDATE lvProducts Table
            strSQL = "UPDATE lvProducts SET ParentID = " & vCatID & _
            " WHERE PID = " & lngPID
             
            CurrentDb.Execute strSQL, dbFailOnError
                
            Set tv.DropHighlight = Nothing
            tv_nodSource.Selected = True
                
            'Rebuild ListView Nodes
            TreeView0_NodeClick tv_nodSource
                
        Else ' Invalid Target location
            MsgBox "The destination is invalid!", vbInformation
        End If
    
TreeView0_OLEDragDrop_Exit:
Exit Sub

TreeView0_OLEDragDrop_Err:
MsgBox Err & " : " & Err.Description, vbInformation, "TreeView0_OLEDragDrop()"
Resume TreeView0_OLEDragDrop_Exit
End Sub

Private Sub TreeView0_OLECompleteDrag(Effect As Long)
    Set tv.DropHighlight = Nothing
End Sub

Private Sub cmdClose_Click()
    DoCmd.Close
End Sub

परिचित VBA कोड सेगमेंट।

Form_Load() . में घटना प्रक्रिया, हम ट्रीव्यू, लिस्ट व्यू, इमेजलिस्ट कंट्रोल को इनिशियलाइज़ करते हैं। यह ColumnHeadings . बनाता है लिस्टव्यू कंट्रोल में लिस्ट आइटम्स को पॉप्युलेट करने से पहले लिस्ट व्यू कंट्रोल का। इस रूटीन के अंत में, हम LoadTreeView () सबरूटीन कहते हैं।

LoadTreeView() सबरूटीन lvCategory के रिकॉर्ड के साथ, TreeView नियंत्रण पर उत्पादों के श्रेणी नोड्स को पॉप्युलेट करता है टेबल। ट्री व्यू कंट्रोल पर नोड्स लोड करना दो चरणों वाली प्रक्रिया है। ऐसा एक बार में करने के बजाय ऐसा क्यों है? इस पहलू को पहले के एक पेज, 7वें लिंक . पर विस्तार से समझाया गया है ऊपर दिए गए लिंक की सूची में यदि आप इसके माध्यम से जाना चाहते हैं। उन सभी को यहाँ दोहराना शायद उचित न हो।

उपरोक्त सबरूटीन के अंत में, LoadListView() सबरूटीन को प्रथम श्रेणी रिकॉर्ड के CID मान के साथ बुलाया गया है 1 पैरामीटर के रूप में।

पेरेंटआईडी फ़ील्ड मान वाले उत्पाद रिकॉर्ड 1 फ़िल्टर किया गया है और ListView नियंत्रण पर सूचीबद्ध किया गया है। इस प्रक्रिया को पिछले सप्ताह की पोस्ट में विस्तार से समझाया गया था, ऊपर दिए गए लिंक की सूची में से 8वां आइटम।

द ड्रैग-ड्रॉप एक्शन सबरूटीन्स।

ड्रैग एंड ड्रॉप एक्शन से जुड़े निम्नलिखित सबरूटीन्स को नीचे प्रस्तुत किए गए क्रम में स्वचालित रूप से निष्पादित किया जाएगा:

  1. ट्री व्यू0_OLEStartDrag()
  2. ट्री व्यू0_OLEDragOver()
  3. ट्री व्यू0_OLEDragDrop()
  4. ट्री व्यू0_OLECompleteDrag()

पहले और आखिरी सबरूटीन्स शामिल नोड्स को इनिशियलाइज़ करते हैं और क्रमशः अंत में उनकी स्थिति को रीसेट करते हैं।

दूसरा, OLEDragOver() सबरूटीन, MouseMove Event प्रक्रिया की तरह काम करता है और ड्रैग-ड्रॉप ऑपरेशन के दौरान माउस की गति को ट्रैक करता है। जब माउस एक नोड के ऊपर होता है तो यह NodeText को हाइलाइट करता है और बाईं माउस बटन जारी होने तक इसके प्रक्षेपवक्र को ट्रैक करता है।

केवल TreeView0_OLEDragDrop() प्रक्रिया कोड नीचे सूचीबद्ध है।

Private Sub TreeView0_OLEDragDrop(Data As Object, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)

    Dim tv_nodSource As Node
    Dim tv_nodTarget As Node
    
    Dim strtv_ParentKey As String
    Dim strtv_TargetKey As String
    Dim strListItemKey As String
    Dim strSQL As String
    
    Dim vCatID As Long
    Dim lngPID As Long
    
    On Error GoTo TreeView0_OLEDragDrop_Err
    
    'Get the source/destination Nodes
    Set tv_nodSource = tv.SelectedItem
    Set tv_nodTarget = tv.HitTest(X, Y)
    
        If Not tv_nodTarget Is Nothing Then
            strtv_ParentKey = tv_nodSource.Key
            strtv_TargetKey = tv_nodTarget.Key
                
            If strtv_ParentKey = strtv_TargetKey Then Exit Sub

            'Extract ListItem Key
            strListItemKey = lvList.SelectedItem.Key
                
            'extract Category Record CID Value
            'and ListItem Product ID Key
            vCatID = Val(Mid(tv_nodTarget.Key, 2))
            lngPID = Val(Mid(strListItemKey, 2))
    
            'UPDATE lvProducts Table
            strSQL = "UPDATE lvProducts SET ParentID = " & vCatID & _
            " WHERE PID = " & lngPID
             
            CurrentDb.Execute strSQL, dbFailOnError
                
            Set tv.DropHighlight = Nothing
            tv_nodSource.Selected = True
                
            'Rebuild ListView Nodes
            TreeView0_NodeClick tv_nodSource
                
        Else ' Invalid Target location
            MsgBox "The destination is invalid!", vbInformation
        End If
    
TreeView0_OLEDragDrop_Exit:
Exit Sub

TreeView0_OLEDragDrop_Err:
MsgBox Err & " : " & Err.Description, vbInformation, "TreeView0_OLEDragDrop()"
Resume TreeView0_OLEDragDrop_Exit
End Sub

ड्रैग ड्रॉप एक्शन स्टेप बाय स्टेप।

ड्रॉप एक्शन को पूरा करने के लिए बाईं माउस बटन जारी होने के तुरंत बाद TreeView0_OLEDragDrop () प्रक्रिया निष्पादित होती है। कोड की शुरुआत में, सक्रिय और लक्ष्य ट्री व्यू नोड के संदर्भ tv_nodSource में सहेजे गए हैं और tv_nodTarget वस्तु चर क्रमशः।

इसके बाद, हम एक जांच करते हैं कि ListItem को वैध TreeView नोड पर छोड़ दिया गया है या नहीं। यदि इसे उसी स्रोत श्रेणी नोड पर या ट्री व्यू कंट्रोल पर खाली क्षेत्र पर गिरा दिया जाता है तो ये चालें मान्य नहीं होती हैं। यदि इसे TreeView नियंत्रण के खाली क्षेत्र में गिरा दिया गया है तो tv_nodTarget ऑब्जेक्ट वेरिएबल में मान कुछ भी नहीं होगा। उस स्थिति में, यह एक संदेश प्रदर्शित करता है और कार्यक्रम से बाहर निकलता है।

इसके बाद, TreeView स्रोत और लक्ष्य नोड कुंजी मान दो स्ट्रिंग चर में सहेजे जा रहे हैं। यदि दोनों कुंजियाँ समान हैं तो ListItem को ट्री व्यू कंट्रोल पर अपने पैरेंट नोड (श्रेणी नोड) पर खींचा और गिराया गया। कार्यक्रम निष्पादन को आगे बढ़ने से रोक दिया गया है।

यदि दोनों कुंजियाँ भिन्न हैं तो उत्पाद रिकॉर्ड के ParentID पर परिवर्तन को अद्यतन करने का समय आ गया है लक्ष्य श्रेणी रिकॉर्ड के CID . के साथ फ़ील्ड कोड, और ListView आइटम रीफ्रेश करें।

चयनित ListItem का मुख्य मान (PID .) फ़ील्ड मान) strListItemKey . में सहेजा गया है स्ट्रिंग चर।

श्रेणी रिकॉर्ड का वास्तविक CID उपसर्ग वर्ण मान X को अलग करके लक्ष्य नोड से फ़ील्ड मान निकाला गया है और चर vCatID में सहेजा गया है . ListItem को नई श्रेणी के अंतर्गत रखने के लिए, यह वह मान है जिसे हम उत्पाद रिकॉर्ड के पेरेंटआईडी फ़ील्ड पर अपडेट करेंगे।

इसी तरह, चयनित सूची आइटम के उत्पाद की कुंजी PID मान को चर lngPID में निकाला और सहेजा गया है . इसे vCatID के साथ पेरेंटआईडी फ़ील्ड को अपडेट करने के लिए उस विशेष उत्पाद रिकॉर्ड को फ़िल्टर करने और चुनने के लिए मानदंड के रूप में उपयोग किया गया है ।

एक अपडेट करें क्वेरी SQL को lngPID . का उपयोग करके रिकॉर्ड को फ़िल्टर करने के लिए बनाया गया है उत्पाद रिकॉर्ड को फ़िल्टर करने और vCatID . को अपडेट करने के लिए मानदंड के रूप में कोड P . में मान arentID फ़ील्ड.

निष्पादित करें Currentdb . की विधि SQL के साथ बुलाया गया है और परिवर्तन को अद्यतन करता है।

नोड की हाइलाइट को स्रोत नोड पर रीसेट कर दिया गया है।

इसके बाद, TreeView0_NodeClick() सबरूटीन को tv_nodSource के साथ बुलाया गया है ListView नियंत्रण पर परिवर्तन को प्रतिबिंबित करने के लिए एक पैरामीटर के रूप में।

बंद करें बटन क्लिक करने से फॉर्म बंद हो जाएगा।

डेमो डेटाबेस डाउनलोड करें।

आप डेमो डेटाबेस डाउनलोड कर सकते हैं, ट्रायल रन कर सकते हैं और वीबीए कोड का अध्ययन कर सकते हैं।


आपको नए साल की शुभकामनाएं।

एमएस-एक्सेस इवेंट हैंडलिंग

  1. घटनाओं के साथ एमएस-एक्सेस क्लास मॉड्यूल
  2. घटनाओं के साथ और अपनी खुद की घटनाओं को परिभाषित करना
  3. विथइवेंट्स कॉम्बो लिस्ट टेक्स्टबॉक्स टैब
  4. एक्सेस फॉर्म कंट्रोल एरेज़ एंड इवेंट
  5. एक्सेस फॉर्म कंट्रोल एरेज़ और इवेंट-2
  6. एक्सेस फॉर्म कंट्रोल एरेज़ और इवेंट-3
  7. उप-प्रपत्र के लिए कक्षा मॉड्यूल में घटनाओं के साथ
  8. कक्षा मॉड्यूल और डेटा में घटनाओं के साथ
  9. विथईवेंट और एक्सेस रिपोर्ट इवेंट सिंक
  10. घटनाओं के साथ और लाइन छुपाने की रिपोर्ट करें
  11. घटनाओं और रिपोर्ट-लाइन हाइलाइटिंग के साथ
  12. विथईवेंट टेक्सबॉक्स और कमांड बटन
  13. विथईवेंट टेक्स्टबॉक्स कमांड बटन
  14. घटनाओं और सभी प्रपत्र नियंत्रण प्रकारों के साथ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस एक्सेस अनुमतियां सेट करना

  2. डेटाबेस में टेबल इंडेक्स कैसे स्थापित करें

  3. एमएस-एक्सेस रिकॉर्डसेट और क्लास मॉड्यूल

  4. टेक्स्ट या न्यूमेरिक फ़ील्ड - डेटा प्रकार स्विच करने के लिए एक सरल SQL विधि

  5. माइक्रोसॉफ्ट एसक्यूएल सर्वर - एसक्यूएल शनिवार डलास में मुझसे जुड़ें