Um módulo de classe do Microsoft Excel que permite conectar e manipular bancos de dados do Microsoft Access.
Você pode interagir com um banco de dados de acesso ao MS sem nenhum conhecimento do MS SQL. A classe DatabaseUtility gera SQL dentro dela e a executa para você.
Exemplo de seleção de dados do banco de dados:
' Let's say you have a MS Access database which has a table called "TestTable":
' ID text_field binary_field number_field
' 1 text-1 Yes 10
' 2 text-2 No 20
' 3 text-3 Yes 30
' 4 text-4 No 40
' 5 text-5 Yes 50
Dim db As New DatabaseUtility
Dim criteriaFields As New Collection, criteriaValues As New Collection, _
selectionFields As New Collection
Dim results As New ADODB.Recordset
Dim dbName as String, dbPath as String
dbName = "NameOfTheMsAccessDatabase.accdb"
dbPath = "/Path/to/MS/Access/Database/"
' Establish connection with database
Call db.ConnectToDB(dbName, dbPath)
' Enter the fields you want to select in a collection
selectionFields.Add "text_field"
selectionFields.Add "binary_field"
selectionFields.Add "number_field"
' Enter criterias for your query in a collection
criteriaFields.Add "binary_field"
operators.Add "="
criteriaValues.Add "No"
criteriaFields.Add "number_field"
operators.Add ">"
criteriaValues.Add "20"
' Get the results in a ADODB.Recordset object
Set results = db.SelectRecords("TestTable", selectionFields, operators, criteriaFields, criteriaValues)
Call db.disconnectFromDB
Set db = Nothing
' results will have
' ID text_field binary_field number_field
' 3 text-3 Yes 30
' 5 text-5 Yes 50
Você também pode executar sua própria consulta
ExecuteSql(theSql As String) as ADODB.Recordset
Obtenha nomes de todas as tabelas em um arquivo de banco de dados em uma coleção:
GetTableNames() As Collection
Insira registros:
InsertRecord(theTable As String, theSetFields As Collection, theSetValues As Collection)
Insira um único registro:
InsertRecord(theTable As String, theSetFields As Collection, theSetValues As Collection)
Selecione vários registros:
SelectRecords(theTable As String, _
Optional theSelectionFields As Collection, _
Optional theCriteriaFields As Collection, Optional theCriteriaValues As Collection, _
Optional theOperators As Collection, _
Optional theDistinct As Boolean = False, _
Optional theLimitBy As Double = 0, _
Optional theOrderBy As String = "", Optional theAsc As Boolean = False) As ADODB.Recordset
Obtenha vários (ou todos) valores em um único campo:
SelectField(theTable As String, _
theSelectionField As String, _
Optional theCriteriaFields As Collection, Optional theCriteriaValues As Collection, _
Optional theOperators As Collection, _
Optional theDistinct As Boolean = False, _
Optional theLimitBy As Double = 0, _
Optional theOrderBy As String = "", Optional theAsc As Boolean = False, _
Optional isBlankIncluded As Boolean = True) As Collection
Atualizar registros:
UpdateRecords(theTable As String, _
theSetFields As Collection, _
theSetValues As Collection, _
theCriteriaFields As Collection, _
theCriteriaValues As Collection, _
Optional theOperators As Collection)
Selecione uma única célula em um campo
SelectFieldCell(theTable As String, _
theSelectionField As String, _
theCriteriaFields As Collection, _
theCriteriaValues As Collection, _
Optional theOperators As Collection, _
Optional theOrderBy As String = "", _
Optional theAscending As Boolean) As Variant
Obtenha a soma das células de um campo numérico de acordo com os critérios
SelectFieldSum(theTable As String, _
theSelectionField As String, _
theCriteriaFields As Collection, _
theCriteriaValues As Collection, _
Optional theOperators As Collection, _
Optional theLimitBy As Double = 0, _
Optional theOrderByFieldName As String = "", _
Optional theAscending As Boolean) As Double
Obtenha a contagem das células de um campo numérico de acordo com os critérios
SelectFieldCount(theTable As String, _
theSelectionField As String, _
theCriteriaFields As Collection, _
theCriteriaValues As Collection, _
Optional theOperators As Collection, _
Optional theLimitBy As Double = 0, _
Optional theOrderByFieldName As String = "", _
Optional theAscending As Boolean) As Double
Excluir registros
DeleteRecords(theTable As String, _
theCriteriaFields As Collection, _
theCriteriaValues As Collection, _
Optional theOperators As Collection)