By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,365 Members | 1,245 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,365 IT Pros & Developers. It's quick & easy.

What does this visual basic code do????(line by line..)

P: 1
Expand|Select|Wrap|Line Numbers
  1. Dim db As Database
  2. Dim rs As Recordset
  3. Dim WS As Workspace
  4. Dim Max As Long
  5.  
  6.  
  7. Private Sub Form_Load()
  8. Set WS = DBEngine.Workspaces(0)
  9.     DbFile = (App.Path & "\Database\AddressBook.mdb")
  10.     PwdString = "swordfish"
  11. Set db = DBEngine.OpenDatabase(DbFile, False, False, ";PWD=" & PwdString)
  12. Set rs = db.OpenRecordset("Addresses", dbOpenTable)
  13. Max = rs.RecordCount
  14. lblTotalContacts.Caption = Max
  15. If rs.RecordCount = 0 Then
  16. Exit Sub
  17. Else
  18. rs.MoveFirst
  19.  
  20. List1.Clear
  21.  
  22. For i = 1 To Max
  23.     List1.AddItem rs!FullName
  24.     rs.MoveNext
  25. Next i
  26. List1.ListIndex = 0
  27. End If
  28. ButtonsEnabled
  29. End Sub
  30.  
  31. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  32. ButtonsEnabled
  33. End Sub
  34.  
  35. Private Sub Form_Unload(Cancel As Integer)
  36. End
  37. End Sub
  38.  
  39. Private Sub List1_Click()
  40. Set WS = DBEngine.Workspaces(0)
  41.     DbFile = (App.Path & "\Database\AddressBook.mdb")
  42.     PwdString = "swordfish"
  43. Set db = DBEngine.OpenDatabase(DbFile, False, False, ";PWD=" & PwdString)
  44. Set rs = db.OpenRecordset("Select * from Addresses where FullName = '" & Trim(List1.List(List1.ListIndex)) & "'")
  45. On Error GoTo ErrorHandler
  46. lblName.Caption = rs("FullName")
  47. lblNationality.Caption = rs("Nationality")
  48. lblCountry.Caption = rs("Country")
  49. lblBirthday.Caption = rs("Birthday")
  50. lblCountry.Caption = rs("Country")
  51. lblCity.Caption = rs("City")
  52. lblAddress.Caption = rs("Address")
  53. lblPhoneNumber.Caption = rs("PhoneNumber")
  54. lblMobile.Caption = rs("Mobile")
  55. lblFax.Caption = rs("Fax")
  56. lblEMAIL.Caption = rs("E-Mail")
  57. lblWebSite.Caption = rs("WebSite")
  58. lblCompany.Caption = rs("Company")
  59. Text1.Text = rs("LittleComment")
  60. ErrorHandler:
  61. Resume Next
  62. End Sub
Oct 19 '09 #1
Share this Question
Share on Google+
1 Reply


Expert 100+
P: 305
Expand|Select|Wrap|Line Numbers
  1. 'declare variables to be used and in this case these variables represent DAO (Data Access Object) objects although so you can understand more the order has been changed by me to more represent the heirarchy of the objects
  2. Dim WS As Workspace
  3. Dim db As Database
  4. Dim rs As Recordset
  5.  
  6. Dim Max As Long
  7.  
  8.  
  9. 'this even is called after initialize
  10. Private Sub Form_Load()
  11.  
  12. 'create the workspace via the dbengine (jet) object
  13. Set WS = DBEngine.Workspaces(0)
  14.  
  15. 'this example you have shown is an example of bad programming practice as none of these variables are declared. To remedy this place Option Explicit at top of code window prior to any declarations
  16. DbFile = (App.Path & "\Database\AddressBook.mdb")
  17. PwdString = "swordfish"
  18.  
  19. 'open the database
  20. Set db = DBEngine.OpenDatabase(DbFile, False, False, ";PWD=" & PwdString)
  21.  
  22. 'open a recordset, namely the addresses table
  23. Set rs = db.OpenRecordset("Addresses", dbOpenTable)
  24.  
  25. 'retrieve the number of records and display
  26. Max = rs.RecordCount
  27. lblTotalContacts.Caption = Max
  28.  
  29. 'check to see if there are any records
  30. If rs.RecordCount = 0 Then
  31.  
  32.   'no records so exit this sub
  33.   Exit Sub
  34. Else
  35.  
  36.   'have records so position the recordset cursor to the first record
  37.   rs.MoveFirst
  38.  
  39.   'clear list1
  40.   List1.Clear
  41.  
  42.   'now run through rs and add the information to list1
  43.   For i = 1 To Max
  44.     List1.AddItem rs!FullName
  45.     rs.MoveNext
  46.   Next i
  47.   List1.ListIndex = 0
  48. End If
  49.  
  50. 'call a sub that enables/disables buttons depending upon...?
  51. ButtonsEnabled
  52. End Sub
  53.  
  54. 'this event is called when the mouse moves over the form
  55. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  56. 'call sub...
  57. ButtonsEnabled
  58. End Sub
  59.  
  60. Private Sub Form_Unload(Cancel As Integer)
  61.  
  62. 'another example of bad programming practice with vb6 as this does not allow you to properly close your object that you have opened and may lead to memory leaks and system instability
  63. End
  64. End Sub
  65.  
  66. 'when user clicks on an item in list1 this event is called
  67. Private Sub List1_Click()
  68.  
  69. 'the following lines are not needed as the workspace is already created and the database is already opened...
  70. 'Set WS = DBEngine.Workspaces(0)
  71. 'DbFile = (App.Path & "\Database\AddressBook.mdb")
  72. 'PwdString = "swordfish"
  73. 'Set db = DBEngine.OpenDatabase(DbFile, False, False, ";PWD=" & PwdString)
  74.  
  75. 'open a recordset based upon user selection
  76. Set rs = db.OpenRecordset("Select * from Addresses where FullName = '" & Trim(List1.List(List1.ListIndex)) & "'")
  77.  
  78. 'tell compiler that we will attempt to handle any errors after this label below
  79. On Error GoTo ErrorHandler
  80.  
  81. 'another example of bad programming practice as these should be rs.fields("fieldname") for complete readability and for easier maintence by the noobie
  82. lblName.Caption = rs("FullName")
  83. lblNationality.Caption = rs("Nationality")
  84. lblCountry.Caption = rs("Country")
  85. lblBirthday.Caption = rs("Birthday")
  86. lblCountry.Caption = rs("Country")
  87. lblCity.Caption = rs("City")
  88. lblAddress.Caption = rs("Address")
  89. lblPhoneNumber.Caption = rs("PhoneNumber")
  90. lblMobile.Caption = rs("Mobile")
  91. lblFax.Caption = rs("Fax")
  92. lblEMAIL.Caption = rs("E-Mail")
  93. lblWebSite.Caption = rs("WebSite")
  94. lblCompany.Caption = rs("Company")
  95. Text1.Text = rs("LittleComment")
  96.  
  97. 'label for the error handler. Also, missing the exit sub statement before this line
  98. ErrorHandler:
  99.  
  100. 'basically we are telling the compiler that we are trying to ignore any errors and to go to the next line and if that is so then we could have used the On Error Resume Next statement instead of telling the system that we will try to handle the error
  101. Resume Next
  102. End Sub
Hope that helps

Good Luck
Oct 21 '09 #2

Post your reply

Sign in to post your reply or Sign up for a free account.