Total Visual SourceBook

Total Visual SourceBook CD and Printed Manual

Microsoft Access/ Office 2016, 2013, 2010, and 2007 Version
is Shipping!

New features in Total Visual SourceBook for Access, Office 2007 and VB6

Supports Access/Office 2016, 2013, 2010 and 2007, and Visual Basic 6.0!

Separate version for Access/Office 2003, 2002, and 2000.

Separate version for:
Access 97/95


View all FMS products for Microsoft AccessAll Our Microsoft Access Products

SourceBook Info:

Why SourceBook?

 

"The code is exactly how I would like to write code and the algorithms used are very efficient and well-documented."

Van T. Dinh, Microsoft MVP

 

 

 

Microsoft Access, Office/VBA, VB6 Modules royalty-free source code libraryMicrosoft Access Modules royalty-free source code libraryMicrosoft Access VBA and VB6 Module Library Free trial of Total Visual SourceBook for Microsoft Access, Office, VB6 and VBA

Module: Modules in Category Microsoft Access : Macros and Modules from Total Visual SourceBook

Compiling, opening, retrieving, replacing, saving, and deleting Microsoft Access modules using Access VBA.

Procedure List

Procedure Name

Type

Description

(Declarations) Declarations Declarations and private variables for the modModules module
CompileAllModules Procedure Compiles all the modules in the project and saves it
GetModuleLines Procedure Get all the lines of a module
GetAllProcedureLines Procedure Get the lines of all procedures in a module
IsModuleClass Procedure Determine if a module is a class or standard module (not used for form or report modules which are always classes)
GetProcedureLines Procedure Get all the lines for a procedure
GetPropertyLines Procedure Get all the lines for a property
GoToModuleProc Procedure Open the named module and places the cursor at the beginning of the specified procedure
ModuleNamesToArray Procedure Loads an array with names of all modules
ModuleNamesToArrayExternal Procedure Loads an array with names of all modules from an external database
ModuleNamesToString Procedure Populate a string with names of all modules
ModuleNamesToStringExternal Procedure Loads an array with names of all modules from an external database
ProcedureNamesToArray Procedure Retrieves the list of procedure names from a module, form or report, and assigns it to an array
ReplaceModuleText Procedure Searches and replaces all the specified text in the specified module or procedure.
SaveModuleToFile Procedure Save the module text to a file
KillFile Procedure Delete the named file, handling errors if the file does not exist

Example Code for Using Module: Modules

' Example of modModules
'
' To use this example, create a new module and paste this code into it.
' Then run the procedures by putting the cursor in the procedure and pressing:
'    F5 to run it, or
'    F8 to step through it line-by-line (see the Debug menu for more options)

Private Sub Example_modModules()
  ' Comments: Example of using the modModules modules to work with Microsoft Access database modules in Access VBA.

  ' Name of a module in the current database
  Const cstrModule As String = "modModules"

  ' Name of a procedure in the module
  Const cstrProcedure As String = "IsModuleClass"

  Dim astrNames() As String
  Dim aintKind() As vbext_ProcKind
  Dim astrCode() As String
  Dim strNames As String
  Dim intProcs As Integer
  Dim intCount As Integer
  Dim intCounter As Integer

  ' Example of CompileAllModules
  Debug.Print "Compiling all modules..."
  If CompileAllModules Then
    Debug.Print "Modules compiled."
  Else
    Debug.Print "Modules could not be compiled."
  End If

  ' Example of GetAllProcedureLines
  intProcs = GetAllProcedureLines(acModule, cstrModule, astrNames, aintKind, astrCode)
  Debug.Print intProcs & " procedures: " & vbCrLf & "-----------------------------------"
  For intCounter = 0 To intProcs - 1
    Debug.Print astrNames(intCounter) & " (type " & aintKind(intCounter) & ") : " & _
                Left$(astrCode(intCounter), 25) & "..."
  Next intCounter

  ' Example of GetModuleLines
  Debug.Print "Module code: " & vbCrLf & "-----------------------------------"
  Debug.Print GetModuleLines(acModule, cstrModule)

  ' Example of GetProcedureLines
  Debug.Print "Proc code: " & vbCrLf & "-----------------------------------"
  Debug.Print GetProcedureLines(acModule, cstrModule, cstrProcedure)

  ' Example of GotoModuleProc
  Debug.Print "Opening " & cstrModule & "." & cstrProcedure
  GoToModuleProc acModule, cstrModule, cstrProcedure

  ' Example of IsModuleClass
  If IsModuleClass(cstrModule) Then
    Debug.Print cstrModule & " is a class."
  Else
    Debug.Print cstrModule & " is NOT a class."
  End If

  ' Example of ModuleNamesToArray
  intCount = ModuleNamesToArray(astrNames)
  Debug.Print "First 3 module names in this database:"
  For intCounter = 1 To 3
    Debug.Print intCounter & ": " & astrNames(intCounter - 1)
  Next intCounter

  ' Example of ModuleNamesToString
  intCount = ModuleNamesToString(strNames, ";")
  Debug.Print intCount & " modules in this database: " & strNames

End Sub

Private Sub TestExternalDatabase()
  ' Comments: Example of using the modModules modules to work with Microsoft Access database modules in another database

  Const cstrSample As String = "C:\Total Visual SourceBook 2013\Samples\sample.mdb"

  Dim intCount As Integer
  Dim astrNames() As String
  Dim strModule As String
  Dim strNames As String
  Dim intCounter As Integer
  Dim strProcedure As String

  If cstrSample <> CurrentProject.FullName Then
    ' Example of ModuleNamesToArrayExternal
    intCount = ModuleNamesToArrayExternal(cstrSample, astrNames)
    ' Save first module name
    strModule = astrNames(0)
    Debug.Print "First module in " & cstrSample & ": " & strModule

    If intCount > 0 Then
      ' Example of ModuleNamesToStringExternal
      intCount = ModuleNamesToStringExternal(cstrSample, strNames, ";")
      Debug.Print intCount & " modules in " & cstrSample & ": " & strNames

      ' Example of ProcedureNamesToArray
      intCount = ProcedureNamesToArray(acModule, strModule, astrNames)
      Debug.Print "Procedure Names:"
      For intCounter = 1 To intCount
        Debug.Print intCounter & ": " & astrNames(intCounter - 1)
      Next intCounter

      ' Get last procedure name
      strProcedure = astrNames(intCount - 1)

      ' Example of ReplaceModuleText
      If ReplaceModuleText(acModule, strModule, strProcedure, "True", "TRUE", True) Then
        Debug.Print "Text Changed."
      Else
        Debug.Print "Text could not be changed."
      End If
    Else
      MsgBox "No modules found"
    End If
  Else
    MsgBox "Cannot perform these module tasks on the same database. Set cstrSample to an external database."
  End If

End Sub

Microsoft Access Module LibraryOverview of Total Visual SourceBook

The source code in Total Visual SourceBook includes modules and classes for Microsoft Access, Visual Basic 6 (VB6), and Visual Basic for Applications (VBA) developers. Easily add this professionally written, tested, and documented royalty-free code into your applications to simplify your application development efforts.

Additional Resources