VBA example - Microsoft Access : dictionary

Create dictionary

Access 2007 dictionary

To create a dictionary program with Ms. Access 2007 as shown above, you need to open and Ms. Access 2007 application database and create a form and name it PhrasalVerbDic. On this form, you will drop two textboxes--one to input text for search and another to display the translation and one Listbox that will be used to store terms. You also need to create a table named tblterms(Enterm,Khmer) to store the data After naming these controls (you may name them as used in the code below. Otherwise, it doesn't work), use the following code:

Option Compare Database
Option Explicit
Dim db As Database
Dim rs As Recordset

Private Sub Form_Close()
Set db = Nothing
Set rs = Nothing

End Sub

Private Sub Form_Current()

End Sub

Private Sub Form_Load()
Set db = CurrentDb
Set rs = db.OpenRecordset("Select * from tblterms")
DoCmd.LockNavigationPane (True)
End Sub

Private Sub List2_DblClick(Cancel As Integer)
On Error Resume Next
'move to first record
Textsearch.Value = List2.Column(0, List2.ListIndex)
'move to selected record
rs.Move (List2.ListIndex)
Textresult.Value = rs(1).Value
End Sub

Private Sub Textsearch_Change()
Dim i As Integer

On Error Resume Next
List2.SetFocus 'Focus on Listbox
rs.MoveFirst 'move to first record
i = 0
For i = 0 To List2.ListCount - 1
If CStr(Textsearch) = Left(CStr(List2.Column(0, i)), Len(Textsearch)) Then
'auto scoll
List2.Selected(0) = True
List2.Selected(i) = True
'move to selected record
rs.Move (i)
Textresult.Value = rs(1).Value
'Focus on Textbox
'let cursor head
Textsearch.SelStart = Len(Textsearch) + 1

Exit Sub
End If

End Sub


This website intents to provide free and high quality tutorials, examples, exercises and solutions, questions and answers of programming and scripting languages:
C, C++, C#, Java, VB.NET, Python, VBA,PHP & Mysql, SQL, JSP, ASP.NET,HTML, CSS, JQuery, JavaScript and other applications such as MS Excel, MS Access, and MS Word. However, we don't guarantee all things of the web are accurate. If you find any error, please report it then we will take actions to correct it as soon as possible.