Você está na página 1de 5

VBA e Access

Modo de interacção
As funcionalidades do VBA estão completamente
integradas com a aplicação
Um bom exemplo dessa integração é o facto dos
formulários e dos módulos fazerem por defeito
parte integrante de uma base de dados em
Access

Visual Basic for Applications: # 23

Opções do Access
Consultar e alterar opções
Application.GetOption(OptionName)
Application.SetOption OptionName, Setting

Visual Basic for Applications: # 24


Hierarquia de Objectos
Objectos de nível um
Forms: collection dos formulários abertos na base de dados corrente
Reports: collection dos relatórios abertos na base de dados corrente
Modules: collection dos módulos abertos na base de dados corrente
Screen: permite referenciar a folha de dados, formulário, relatório ou controle que
tem o foco
Screen.ActiveDatasheet Screen.ActiveForm
Screen.ActiveReport Screen.ActiveControl
DoCmd: permite utilizar directamente no código
o conjunto de acções disponíveis como macros
(abrir formulários, imprimir relatórios, ...).
References: collection das referências para
bibliotecas de objectos activos no Access.
Permite controlar outras aplicações via OLE
adicionando e removendo a biblioteca de
objectos respectiva

Visual Basic for Applications: # 25

Objectos Form
Referenciação
Forms(“Alunos”) Forms(0) Forms!Alunos
Forms![Alunos e Turmas] Screen.ActiveForm Me
Abrir e fechar formulários
DoCmd.OpenForm FormName, , , WhereCondition, DataMode, ,
DoCmd.Close ObjectType, ObjectName, Save
Propriedades
form.Name form.Caption form.CurrentView
form.NavigationButtons form.AllowAdditions form.AllowDeletions
form.AllowEdits form.DataEntry form.Modal
form.Visible form.Filter form.FilterOn
form.OrderBy form.RecordSource
Métodos
form.Recalc
form.Requery
form.Refresh
form.Undo
form.SetFocus
Visual Basic for Applications: # 26
Objectos Report
Referenciação
Reports(“Alunos”) Reports(0) Reports!Alunos
Reports![Alunos e Turmas] Screen.ActiveReport Me
Abrir e fechar relatórios
DoCmd.OpenReport ReportName, , , WhereCondition
DoCmd.Close ObjectType, ObjectName, Save
Propriedades
report.Name report.Caption
report.Visible report.Filter
report.RecordSource report.OrderBy
Secções e grupos
report.Section(acDetail)
report.GroupLevel(0)
CreateGroupLevel(Report, Expression, Header, Footer)
grouplevel.GroupHeader grouplevel.GroupFooter
grouplevel.GroupOn grouplevel.GroupInterval
grouplevel.KeepTogether grouplevel.SortOrder

Visual Basic for Applications: # 27

Objectos Control
Referenciação
[form | report].Controls(”Nome") [form | report].Controls(0)
[form | report]!Nome Screen.ActiveControl
Propriedades comuns
Left Top Height
Width AutoSize BackColor
ForeColor SpecialEffect BackStyle
Font Caption ControlTipText
TabIndex TabStop Locked
Enabled Visible Controlsource
Command button = Text box
Cancel Text
Default EnterKeyBehavior
Option / check / toggle buttons
Value OptionValue
List /combo Boxes
RowSourceType RowSource
BoundColumn Value
Visual Basic for Applications: # 28
Data Access Objects I
Aspectos gerais
Representam o conjunto de elementos envolvidos numa base de dados: tabelas,
consultas, registos, campos, relações, ...
Constituem uma hierarquia de objectos independente da hierarquia da aplicação
A inclusão dos DAO no VBA permite a manipulação de base de dados através da
programação
Hierarquia de objectos
DBEngine

Workspaces Errors

Databases Users Groups

TableDefs QueryDefs Recordsets Relations Containers

Fields Fields Fields Fields Documents

Indexes Parameters

Visual Basic for Applications: # 29

Data Access Objects II


Objectos Database
Criar novo
Set database = workspace.OpenDatabase(Name, Options, ReadOnly)
Métodos de interacção com as consultas
database.CreateQueryDef Name, SQLText database.Execute Query
Objectos Recordset
Criar novo
database.OpenRecordset(Name, Type, Options, LockEdit)
querydef.OpenRecordset(Type, Options, LockEdit)
Propriedades
recordset.Fields recordset.BOF recordset.EOF
recordset.RecordCount recordset.Bookmark recordset.NoMatch
Métodos
recordset.MoveFirst | Last | Next | Previous
recordset.FindFirst | Last | Next | Previous Criteria
recordset.Edit recordset.Update recordset.AddNew
recordset.Requery recordset.Delete recordset.Close

Visual Basic for Applications: # 30


Collections e Classes
Objecto Collection
Propriedades
Count
Métodos
collection.Add Item, Key, Before, After collection.Item(Index)
collection.Remove Index
Módulos de classe
Variáveis de classe (data members)
Propriedades de classe
Property Get Property Let
Métodos de classe
Eventos de classe
Private Sub Class_Initialize() Private Sub Class_Terminate()
Classes de collections
Propriedades de classe como objectos
Property Set

Visual Basic for Applications: # 31

Tratamento de Erros
Formas de tratar erros
On Error Resume Next
On Error GoTo line
On Error GoTo 0

Retomar a execução
Resume
Resume Next
Resume line

Objecto Err
Err.Number
Err.Description
Err.Clear
Err.Raise Number

Visual Basic for Applications: # 32

Você também pode gostar