Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila Completa de Visual Basic 5, Notas de estudo de Informática

Apostila VB5

Tipologia: Notas de estudo

2011

Compartilhado em 24/02/2011

niky-palleta-4
niky-palleta-4 🇧🇷

5

(1)

14 documentos

1 / 64

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
V i s u a l B a s i c
( Versão 5 )
Curso Básico
Power Informática – Santana do Livramento – RS – Brasil
Power Informática – João Manoel, 912 – S do Livramento (055) 242-5427
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40

Pré-visualização parcial do texto

Baixe Apostila Completa de Visual Basic 5 e outras Notas de estudo em PDF para Informática, somente na Docsity!

V i s u a l B a s i c

( Versão 5 )

Curso Básico

Power Informática – Santana do Livramento – RS – Brasil

Agradecimentos

Embora tenha custado horas e horas de montagem (word) essa apostila não teria sido confeccionada se eu não tivesse encontrado a “Home Page” do José Carlos MacorattiVisual Basic Banco de dados. Excelente trabalho de garimpo deste profissional que com certeza prova que podemos encontrar vários serviços de boa qualidade e de graça na Internet. Por favor se quiserem agradecer visitem este site.

http://www.geocities.com/SiliconValley/Bay/3994/

[email protected]

Trabalhos de edição e montagem:

Carlos Alberto Nunes Susviela Santana do Livramento – RS – Brasil [email protected] http://www.geocities.com/SiliconValley/Haven/

  • 1 1.1) BANCO DE DADOS 1)
  • 2 1.2) TRABALHANDO COM TABELAS
  • PRIMÁRIAS. (DATA MANAGER) - 3 1.3 - CRIANDO BANCO DE DADOS, TABELAS, ÍNDICES, RELACIONAMENTOS E CHAVES
  • MÉTODOS E EVENTOS RELACIONADOS)............................................................................... 4 1.4. RECORDSET: TABLE, DYNASETS, SNAPSHOTS.(DEFINIÇÃO, PRINCIPAIS
  • RELACIONADOS)....................................................................................................................... 5 1.5. DATA CONTROL. (DEFINIÇÃO, PRINCIPAIS MÉTODOS E EVENTOS
  • 6 1.6. EVENTOS: UM NOVO ENFOQUE (EVENTOS: CONCEITOS, EXEMPLOS .).......
  • 7 1.7. O PODER DA SQL (A LINGUAGEM SQL : INTRODUÇÃO.)...................................
  • 8 1.8. USANDO EDIT, ADDNEW E UPDATE...(EDITANDO, INCLUINDO E ATUALIZANDO...)
  • DÍGITOS.(DD/MM/YY) 9 1.9. VISUAL BASIC - DATAS E O ANO 2000.(COMO O VB INTERPRETA O ANO COM DOIS
  • 10 1.10. SQL : CRIANDO CONSULTAS PARAMETRIZADAS NO VISUAL BASIC.
  • 1 2) TRABALHANDO COM SQL (Conceitos Básicos )
  • 1.1 2.1 Iniciando com a SQL.................................................................................................
  • 1.2 2.2 Criando tabelas via SQL...........................................................................................
  • 1.3 2.3 Índices e Tabelas - Criar, Alterar e Excluir.................................................................
  • 1.4 2.4 Testando As Instruções Sql
  • 2 3) TRABALHANDO COM REDES ( Conceitos Básicos )................................................
  • 2.1 3.1 Introdução
  • 2.2 3.2 Acesso aos Dados
  • 2.3 3.3 Bloqueio de Registros...............................................................................................
  • 3 4 ) CONTROL DATA ( Projeto Comentado )...................................................................
  • 4 4.1 Acesso a Base de Dados - Data Control...................................................................
  • 4.1 1) Definição do banco de dados e tabelas.
  • 4.2 2) Desenhar a interface da aplicação com o usuário
  • 4.3 3) Implementar o código da aplicação
  • 4.3.1 1-Código para botão incluir dados:.................................................................................
  • 4.3.2 2-Código do botão gravar dados:....................................................................................
  • 4.3.3 3-Código do botão Cancelar a inclusão de dados:.........................................................
  • 4.3.4 4-Código para o botão Excluir dados:.............................................................................
  • 4.3.5 5-Código para o botão Localizar dados:.........................................................................
  • 4.3.6 6-Código do evento Reposition:......................................................................................
  • 4.3.7 7-Código do evento Validate:..........................................................................................
  • 4.3.8 8-Código para tratamento de erros
  • 5 5 ) D.A.O (Projeto comentado)........................................................................................
  • 5.1 Estrutura da tabela.
  • 5.2 Interface com o usuário
  • 5.3 Codigo da Aplicacao.......................................................................................................
  • 6 6 ) SQL
  • 6.1 Estrutura da tabela.
  • 6.2 Interface com o usuário
  • 6.3 Codigo da Aplicacao
  • 7 7 ) CRYSTAL REPORTS ( Projeto Comentado )
  • 7.1 Introdução:Gerando os seus relatórios com o Crystal Reports.
  • 7.2 Criando um novo relatório.
  • 7.3 Agrupando e ordenando registros.
  • 7.4 Inserindo títulos e Legendas.
  • 7.5 Formatação de campos, campos especiais e desenho de linhas e caixas.
  • 7.6 Trabalhando com fórmulas.
  • 7.7 Determinando o estilo e inserindo uma figura em seu relatório.
  • 7.8 Imprimindo o relatório a partir de sua aplicação no Visual Basic.
  • 7.9 Relatório com dados de várias tabelas e Seleção de registros
  • 8 8 ) ACESSO A BASE DE DADOS PADRÃO XBASE(DBASE/CLIPPER)
  • 8.1 Acesso utilizando o Controle de Dados Vinculados. (Data Control)
  • 8.2 Acesso utilizando a DAO. (Data Access Object)
  • 9 9 ) SETUP WIZARD
  • 10 10 ) DBGRID
  • 10.1 Introdução.......................................................................................................................
  • 10.2 Utilização e Configuração.
  • 10.3 Controle Financeiro - Definição de tabelas.
  • 10.4 Controle Financeiro - Interface com o usuário.
  • 10.5 Controle Financeiro - Código do projeto.
  • 10.6 DbGrid - Dicas e Truques...............................................................................................
  • 11 11 ) DBLIST
  • 12 12 ) REDES (Projeto comentado)
  • 12.1 - Acesso Exclusivo/Compartilhado..................................................................................
  • 12.2 - Acesso as tabelas - dbDenyRead, dbDenyWrite e dbReadOnly..................................
  • 13 13 ) ERROS
  • 13.1 Introdução.
  • 13.2 Interceptando erros.
  • 13.3 Identificando o Tipo de Erro.
  • 13.4 Finalizando um tratamento de erros.
  • 13.5 Principais erros relacionados a Banco de dados............................................................
  • 14 14 ) OLE
  • 14.1 Introdução.
  • 14.2 Instrução do WordBasic..................................................................................................
  • 14.3 Instruçao do VBA 97.......................................................................................................
  • 14.4 Usando Automação OLE com o Word - Exemplo Prático.
  • 14.5 Usando Automação OLE com o Excel - Exemplo Prático...............................................
  • 15 15 ) GRÁFICOS NO VB
  • 15.1 Introdução.
  • 15.2 Utilização e Configuração.
  • 16 16 ) OPÇÕES DE BUSCA RÁPIDA ( Dicas )..................................................................
  • 17 17 ) HOT SPOTS NO VISUAL BASIC ( Dicas )
  • 18 18 ) FORMULÁRIOS COM SUBFORMULÁRIOS NO VB? (Dicas)...............................
  • 19 19) CRIANDO UM SCREEN SAVER NO VB (Dicas)......................................................
  • 20 20) ROTINA PARA VALIDAR CPF/CGC NO VISUAL BASIC (Dicas).............................
  • TOTALIZANDO POR COLUNAS E CONTADOR DE REGISTROS. (Dicas)............................... 21 21) DBGRID COM LISTBOX - PERSONALIZE O SEU DBGRID: CAIXA DE LISTAGEM,
  • 22 Personalizando e incrementando o DBGrid....................................................................
  • 24 Código do Projeto.

1) INTRODUÇÃO ( Conceitos Básicos )

1.1) BANCO DE DADOS

Podemos entender por banco de dados qualquer sistema que reuna e mantenha organizada uma série de informações relacionadas a um determinado assunto em uma determinada ordem. A lista telefônica é um exemplo, nela percebemos que todos os dados referentes a uma pessoa estão na mesma linha, a isso chamamos registros..

O tipo ou categoria da informação (nome, telefone, etc.) sobre uma pessoa está separada em colunas, as quais chamamos campos..

Um Sistema Gerenciador de banco de dados relacionais(SGBDR) é usado para armazenar as informações de uma forma que permita às pessoas examiná-las de diversas maneiras.

O Gerenciador relacional de bancos de dados do Visual Basic e do Access é o Microsoft Jet, ele pertence a uma categoria diferente dos Gerenciadores tradicionais, como o Dbase e o Paradox, pois possue características em comum com os banco de dados cliente-servidor. Tais características comuns são:

  • Todas as tabelas, índices, consultas, relatórios e código são armazenados num único arquivo .MDB
  • Os campos de data suportam informação de hora.
  • Admite o armazenamento permanente de comandos SQL
  • é possível forçar a integridade referencial entre as tabelas.
  • Os campos suportam valores nulos ( Null )

No Dbase/Clipper banco de dados significa um arquivo que contém a estrutura de dados(campos) e os dados (Arquivo padrão DBF). Para o padrão MDB este conjunto de dados e sua estrutura denomina-se Tabela. Portanto aquilo que o Dbase/Clipper considera um banco de dados o Access e o Visual Basic considera como uma Tabela.

Para o Access e o Visual Basic todos os componentes do sistema estão em um único arquivo com extensão MDB, a este "pacote" consideramos o banco de dados.

Logo quando abrimos um arquivo MDB temos acesso a todos os componentes do sistema : tabelas, consultas, macros, relatórios, etc. A esses componentes chamamos objetos do sistema e em resumo podemos descrevê-los a seguir:

Tabelas Onde armazenamos as informações que queremos tratar. Consultas Filtram as informações das tabelas e permitem sua visualização. Geralmente são comandos SQL. Formulários São janelas destinadas à edição e visualização dos dados. Relatórios Organizam os dados de tabelas e consultas de uma maneira que possam ser impressos Macros Rotinas que automatizam determinadas tarefas sem necessidade de programação. (Utilizadas no Access) Módulos Armazenam instruções e comandos da linguagem Access Basic/VBA e permitem melhorar e expandir os recursos do sistema.

Obs:

Embora o Visual Basic utilize arquivos padrão MDB; Formulários, Relatórios e Módulos são tratados de forma diferente pelo próprio Visual Basic e, nativamente, o Visual Basic não utiliza Macros.

1.2) TRABALHANDO COM TABELAS

As tabelas são o coração dos bancos de dados, e, uma das tarefas fundamentais que você deverá fazer será organizar os dados em tabelas. Para criar uma tabela no Visual Basic você pode usar o Data Manager, mas, uma maneira mais fácil, se você tiver o Access, será utilizar os seus recursos para este fim. Aqui descreveremos como criar uma tabela no Access sem a ajuda de um assistente. Basicamente você irá dar nome aos campos (colunas), e definir o tipo de dados para estes campos. Isto depende da informação que deseja armazenar no campo; se for armazenar um dado que não fará parte de cálculos, um nome por exemplo, o tipo pode ser texto , se for armazenar valores numéricos que farão parte de cálculos o tipo será numérico(inteiro, simples...) , se for armazenar datas o tipo será data e assim por diante.

O tamanho do campo define a quantidade de informação relacionada ao item que você pode armazenar, assim : para um campo do tipo texto com tamanho 30 você poderá armazenar textos com no máximo 30 caracteres, um campo numérico de tamanho 2 armazena números com até dois dígitos.

Vejamos como exemplo a estrutura de uma tabela que chamaremos Clientes. Como o nome indica ela deverá guardar informações sobre os clientes, decidimos que tais informações serão: Código, Nome, Endereço, Cep e idade:

Exemplo de Tabela Clientes

Nome do Campo Tipo do Dado armazenado Comprimento para o campo Codigo Numerico 3 Nome Texto 40 Endereco Texto 40 Cep Texto 8 Idade Numerico 3

Embora não exista nenhuma regra absoluta para os dados que devem ser colocados em cada tabela, damos abaixo diretrizes gerais para um projeto de banco de dados eficiente:

  • Determine um tópico para cada tabela e certifique-se de que todos os dados contidos na tabela estão relacionados com o tópico.
  • Se uma série de registros em uma tabela apresenta campos intencionalmente deixados em branco, divida a tabela em duas tabelas similares.
  • Se as informações se repetem em vários registros, desloque essas informações para outra tabela e defina um relacionamento entre elas.
  • (^) Campos repetidos indicam a necessidade de uma tabela secundária.
  • Use tabelas de pesquisa para reduzir o volume de dados e aumentar a precisão da entrada de dados.
  • Não armazene informações em uma tabela se elas puderem ser calculadas a partir dos dados contidos em outras tabelas.

Para cada linha que você adiciona a sua tabela você tem um registro. Feito isto é importante você definir os relacionamentos entre as tabelas de seu banco de dados. Por exemplo se você criou duas tabelas, uma para os clientes e outra para os pedidos feitos por esses clientes, voce poderá relacionar as duas tabelas por meio de um campo código do cliente comum às duas tabelas.

Criando Tabelas no Access ( No Visual Basic use o Data Manager )

É possível criar uma tabela com um Assistente de Tabela, mas se ele não oferecer o tipo de tabela desejada, pode-se criar a tabela sem ajuda. Mesmo que não se utilize o Assistente de Tabela pode-se usar o Construtor de Campos para selecionar campos individuais das tabelas de amostra do Assistente de Tabela.

Para criar uma tabela sem um Assistente (Access versão 2.0 )

1-Na janela Banco de Dados, clique no botão "Tabela" e, então, escolha o botão "Novo". 2-Na caixa "Nova Tabela", clique no botão "Nova tabela".

O Microsoft Access exibe a janela Tabela no modo Estrutura, no qual são definidos os campos da tabela.

Para definir campos na tabela

1 - Na coluna "Nome do Campo" digite o nome do primeiro campo seguindo as convenções de nomenclatura padrão do Microsoft Access. -Ou- Clique no botão "Construir" na barra de ferramentas e selecione o campo a partir do Construtor de Campos. O tipo de dados e outras propriedades para cada campo já estão definidas, embora possam ser alterados caso desejado.

2 - Na coluna "Tipo de Dados", mantenha o padrão (Texto) ou clique na seta e selecione o tipo de dados desejado.

3 - Na coluna "Descrição" digite a descrição da informação que este campo irá conter. A descrição é opcional.

4 - Se desejar, defina as propriedades do campo na parte inferior da janela.

5 - Repita os passos de 1 a 4 para cada campo.

Para salvar a tabela

1 - Após terminar de definir os campos clique no botão "Salvar" na barra de ferramentas ou escolha o comando Salvar no menu Arquivo para salvar a estrutura da tabela. O Microsoft Access, então, envia uma mensagem pedindo para nomear a tabela.

2 - Digite um nome para a tabela conforme as convenções de nomenclatura do Microsoft Access e, então, escolha OK.

Observações

É recomendável que se designe o campo de () chave primária* em qualquer tabela. Se isto não for feito o Microsoft Access pergunta ao usuário se este deseja que o programa crie uma chave primária quando salvar a tabela pela primeira vez. Adicionalmente à definição das propriedades de campo, pode-se, também, definir as propriedades da tabela. As propriedades da tabela são atributos de toda a tabela, preferencialmente a campos individuais apenas. Quando uma coluna ou caixa de propriedades é clicada, o Microsoft Access exibe dicas úteis acerca de cada coluna ou propriedade na porção inferior direita da janela. Após criar tabelas, pode-se criar consultas, formulários, relatórios e outros objetos de banco de dados que auxiliam o usuário a manipular seus dados.

()* - A chave primária é um campo ou combinação de campos que permite a identificação única de cada registro de uma tabela. Assim como o índice principal para a tabela, ela é utilizada para associar dados entre tabelas. Se uma tabela não inclui um campo de chave primária óbvio, o Microsoft Access pode criar um campo que designa um número único para cada registro.

Obs: O Data Manager não admite a edição de um campo componente de uma expressão de índice ou de um relacionamento. Nestes casos, é obrigatória a remoção do índice ou do relacionamento.

  • Criando e Editando Índices

A criação de um índice de uma tabela no Data Manager é simples. Basta seleciona r a janela Table Editor , clicar no botão Indexes , e, seguir os passos indicados:

  1. Informar o nome do índice na caixa de texto Index Name.
  2. Definir as propri edades do índice , marcando as caixas de verific ação aprop riadas.
  3. Selecionar os campos comp onentes na caixa de listagem apropriada.
  4. Selecionar a ordem do índice, se ascendente ou descendente, clicando no botão de comando indicado.
  • (^) Definindo Relacionamentos Para visualizar ou definir relacionamentos entre os campos das tabelas de um banco de dados, clique no botão Relations na janela Tables/QueryDefse siga os passos indicados:
    1. Selecione a tabela primária na caixa de combinação Primary Table.
  1. Selecione a tabela dependente na caixa de combinação Related Table.
  2. Defina o tipo de relacionamento , selecionando o botão de opção apropriado na caixa de grupo Type.
  3. Selecione a chave externa na caixa de combinação Select Matching Fields.
  4. Marque, se for o caso, a caixa de verificação indicando se a integridade referencial dos dados deve ser garantida.

Obs: Para definir um relacionamento, é indispensável que o campo origem seja a chave primária da tabela primária. Além disso o campo definido como chave externa deve ser do mesmo tipo de dado da chave primária.

  • Definindo uma Chave Primária Para definir uma chave primária, selecione o botão Keys (janela Table Editor ) e o Data Manager abre o diálogo mostrado na figura abaixo, onde a chave pode ser definida clicando-se e selecionando-a da lista Primary.

Não se pode utilizar filtros para restringir os registros usando determinados critérios. O comando Seek só encontra o primeiro registro que atende a seus critérios.

Abertura de uma tabela para utilização Para abrir uma tabela, defina um objeto Recordset e use o método OpenRecordset para acessar a tabela.

Informe a constante DbOpenTable para identificar o tipo de recordset criado. Veja o código abaixo:

Dim meubd as Database Dim minhatbl as Recordset Set meubd = DBEngine.Workspaces(0).OpenDatabase("C:\meudir\dados.mdb") Set minhatbl = meubd.OpenRecordset("Clientes",DbOpenTable)

A novidade em relação ao código acima é a definição da variável objeto tipo Recordset minhatbl e atribuição a esta variável da tabela Clientes do banco de dados Dados.mdb. Note que o arquivo de banco de dados é padrão Access.

  • Dynasets: uso, vantagens/desvantagens, configuração

Um dynaset é um conjunto de ponteiros de registros provenientes de uma ou mais tabelas,e indicam os dados especificados existentes quando da criação do dynaset. Os dynasets são recordsets atualizáveis e refletem as alterações feitas pelo usuário nas tabelas e no próprio dynaset.

Vantagens do uso de Dynasets Permitem reunir informações de diversas tabelas, através de instruções SQL. Permitem utilizar os métodos de busca Find e o uso de filtros e ordem de classificação para mudar a visão dos dados.

Desvantagens do uso de Dynasets Não admitem a criação de índices e do método Seek Não reflete inclusões ou exclusões feitas por outros usuários. Para mostrar as alterações é necessário renovar (refresh) o dynaset

Configuração de um Dynaset Para utilizar um dynaset você deve definir um objeto recordset (Dim) e depois gerar o dynaset com o método OpenRecordset. Para selecionar os registros você pode usar uma instrução SQL. Veja exemplo abaixo:

Dim meubd as Database Dim meudyn as Recordset Set meubd = DBEngine.Workspaces(0).OpenDatabase("C:\meudir\dados.mdb") Set meudyn = meubd.OpenRecordset("SELECT * FROM Clientes", DbOpenDynaset)

Definimos a variável objeto meudyn, abrimos o banco de dados e a seguir criamos um dynaset que é composto por todos os registros da tabela Clientes, através da instrução SQL que seleciona (SELECT) todos (*) os registros da tabela Clientes.

Obs: Também é possível criar um dynaset a partir de outro dynaset.

  • (^) Snapshots: uso, vantagens/desvantagens, configuração

Um snapshot é uma cópia dos dados de um recordset em um dado instante. Ele é muito semelhante a um dynaset pois pode ser criado a partir das tabelas básicas com as mesmas instruções.(SQL, QueryDef,...). A diferença principal é que um snapshot não é pode ser atualizado.

Vantagens do uso de Snapshots Permitem reunir informações de diversas tabelas. Permitem utilizar os métodos de busca Find e o uso de filtros e ordem de classificação para mudar a visão dos dados.

Para os snapshots , navegação pelos registros e a criação de recordsets pode ser mais rápida do que nos dynasets.

Desvantagens do uso de Snapshots Um snapshot não pode ser atualizado. Um snapshot não admite a criação de índices.

Configuração de um Snapshot Para utilizar um snapshot você deve definir um objeto recordset (Dim) e depois gerar o snapshot com o método OpenRecordset. Para selecionar os registros você pode usar uma instrução SQL. Veja exemplo abaixo:

Dim meubd as Database Dim meusnap as Recordset Set meubd = DBEngine.Workspaces(0).OpenDatabase("C:\meudir\dados.mdb") Set meusnap = meubd.OpenRecordset("SELECT * FROM Clientes", DbOpenSnapshot)

O código é praticamente idêntico ao utilizado para a criação de um dynaset.

  • Métodos de Movimentação: Movefirst, Movenext,...

Os métodos de movimentação permitem a passagem de um registro para outro no interior dos recordsets , e alteram a posição do ponteiro do registro ao passar de um registro ativo para outro registro. Você pode usar os métodos de movimentação sobre quaisquer recordsets. Vejamos a seguir os métodos de movimentação: MoveFirst:

Movimenta o ponteiro do registro ativo para o primeiro registro do recordset aberto.

MoveNext:

Movimenta o ponteiro do registro ativo para o registro seguinte. Se não houver registro seguinte, você está no último registro, o flag de final de arquivo EOF será ativado.

MovePrevious:

Desloca o ponteiro do registro ativo para o registro anterior no recordset aberto. Se não houver registro anterior, você está no primeiro registro, o flag de início de arquivo BOF será ativado.

MoveLast:

Movimenta o ponteiro do registro ativo para o último registro do recordset aberto.

Move n

Desloca o ponteiro de registro n registros para frente ( n positivo ) ou para trás ( n negativo ) a partir do registro ativo no recordset aberto. Se o deslocamento levar o ponteiro de registro além dos limites do recordset ocorrerá um erro.

  • Métodos de Localização: FindFirs, FindNext, ...

Utilizamos os métodos de localização para localizar registros que satisfaçam a critérios determinados. Os métodos de localização somente podem ser utilizados em Dynasets e Snapshots. Não é possível utilizá-los em objetos Tabela.

Vejamos a seguir os métodos de Localização: FindFirst: A partir do início do recordset, localiza o primeiro registro que atende aos critérios definidos. FindNext: A partir da posição atual no recordset, localiza o registro seguinte ( próximo ) que satisfaz aos critérios definidos. FindPrevious: A partir da posição atual no recordset, localiza o registro seguinte( anterior ) que satisfaz aos critérios definidos. FindLast: A partir do início do recordset, localiza o último registro que satisfaz aos critérios definidos.

1.5. DATA CONTROL. (DEFINIÇÃO, PRINCIPAIS MÉTODOS E EVENTOS

RELACIONADOS)

Que é o Controle de dados.

O controle de dados foi criado para proporcionar um meio simples de acesso a um banco de dados. Para usar o controle de dados, siga os passos a seguir: Selecione o controle na caixa de ferramentas. Desenhe o controle em seu formulário. Defina a propriedade DatabaseName Defina a propriedade Recordsource Defina a propriedade RecordsetType

A essa altura você criou os vínculos para o banco de dados e o Recordset com o qual deseja trabalhar. O controle assume para si as tarefas de: Abrir o banco de dados e as tabelas ou consultas associadas. Navegar pelos registros.(Utiliza métodos MoveFirst,Movelast,Movenext e Moveprevious. ) Carregar os valores diversos campos nos controles utilizados para exibir e editar os dados. Gravar os dados editados dos controles no Recordset

  • Funcionamento e utilização.

Com base nas propriedades Name e RecordSource o controle de dados cria um Recordset que fornece acesso aos seus dados.

De início selecione o objeto controle de dados na Toolbox do Visual Basic e acrescente-o ao seu formulário.(Fig.1)

Fig-

Defina a seguir as propriedades Name - Nome do Controle (O padrão é data1 ) e Caption - Especifica o nome que aparece no controle de dados.(O padrão é Data1 ) e dimensione o controle de dados.(Fig.2)

Fig-

A seguir acrescente ao seu formulário um quadro de texto( TextBox ) para cada campo que desejar acessar a partir do Recordsource, anexe cada quadro de texto ao objeto de controle de dados( DataSource ) e especifique o campo que cada quadro de texto deverá exibir( DataField ).(fig3.)

Fig-

Definição de Propriedades.

Agora você deve associar um banco de dados e um recordset a um controle de dados definindo as propriedades do controle. As propriedades necessárias a isso são :

DatabaseName - Para bancos de dados do Access , representa o nome do arquivo do banco de dados, inclusive o nome completo do caminho. (Para banco de dados diferentes do Access é necessário informar o nome do caminho até o subdiretório dos dados. Ex-Para padrão Dbase : DatabaseName=c:\dir)

RecordSource - Especifica as informações que deseja obter no banco de dados - uma tabela, uma instrução SQL.

RecordsetType - Se deseja criar um 2-snapshot ou um acessar uma 0-table altere esta propriedade, pois o padrão é 1-dynaset.

Connect - Necessária quando o banco de dados não for do Access. Ex - Para banco de dados padrão Dbase - Connect=dBASEIII.

É possível optar por ativar essas propriedades durante a execução do seu aplicativo. Vejamos um exemplo: Você acrescentou um controle dados a seu formulário e definiu a propriedade Name como Data1 , e quer ter acesso no arquivo TESTE.MDB (arquivo access) aos dados da tabela clientes, vejamos o código abaixo:

data1.DatabaseName="C:\TESTE\TESTE.MDB" 'path/nome do arquivo data1.RecordSource="Clientes" 'fonte dos dados(tabela clientes) data1.recordsetType=0 'tipo de recordset(0-tabela) data1.Refresh 'implementa as alterações

Control Data: Vantagens/Limitações.

Vantagens Controle de Dados

A principal vantagem do controle de dados é a necessidade de menor trabalho de programação para desenvolver um aplicativo de aceso de dados. Você não precisa fornecer código de programa para abrir ou criar um banco de dados ou um recordset, para se movimentar pelos registros ou para editar registros. Vínculo direto com os dados. Você não precisa invocar os métodos Edit e Update para modificar os dados contidos no banco de dados. As alterações aparecem no banco de dados tão logo são digitadas. Os vários controles vinculados( DbList, DbCombo, DbGrid, ... ) oferecem um meio fácil de realizar tarefas que via código seriam complexas.

As limitações do Controle de dados

Não apresentam função para alterar ou excluir registros. É mais difícil a implementação do processamento de transações. Um número excessivo de controles vinculados em um formulário torna a sua carga mais lenta.

Adição, Alteração, inclusão e validação de dados

Para contornar a ausência de funções para excluir e alterar registros podemos acrescentar as mesmas á tela de entrada de dados usando comandos de programa atribuídos a um botão de comando ou a eventos do controle de dados. Vejamos um exemplo de código que poderia ser atribuído a botões de comando de um formulário de entrada de dados:

1-Botão para inclusão de dados:

data1.Recordset.AddNew

2-Botão para exclusão de dados:

O Controle de dados é ótimo para prototipação de um aplicativo, pois você pode desenvolver rapidamente os formulários. Para um sistema multiusuário de uso intenso o controle de dados pode não ser uma boa escolha, pois pode aumentar a quantidade de conflitos de bloqueio de registros. Provavelmente a melhor solução seja o uso combinado dos controle de dados e de código de programa.

1.6. EVENTOS: UM NOVO ENFOQUE (EVENTOS: CONCEITOS, EXEMPLOS .)

Quem já utilizou como ferramenta de programação uma linguagem procedural como o Clipper deverá se lembrar que o código do programa era um fluxo contínuo onde havia chamadas a outros programas e onde o usuário deveria obedecer a uma ordem pré-determinada pela aplicação; como exemplo temos que em uma tela de entrada de dados para Nome do Cliente, Endereço, Cep e idade se o usuário quisesse entrar o número do Cep, deveria passar obrigatoriamente pelos campos anteriores. Os programas que rodam sob o windows não se comportam dessa maneira. Você constrói o seu código em torno de eventos , e,eventos são determinados pela ação do usuário e podem ser : pressionar um botão, adicionar, alterar, excluir um registro,selecionar uma opção, etc. Então, os programas e funções são acionados por eventos que são reconhecidos pelos objetos do sistema que respondem aos eventos à medida que eles forem ocorrendo, executando as rotinas programadas. Existem várias categorias de eventos, entre elas podemos citar:

1-Eventos de Janela (Ao Abrir,Form_load,etc.) 2-Eventos de Dados (Ao Alterar,etc.) 3-Eventos de foco (Ao Receber Foco,Getfocus,etc.) 4-Eventos de teclado (Ao Pressionar Tecla,Keypress,etc.) 5-Eventos de mouse (Ao Clicar,Click,etc.) 6-Eventos de impressão (Ao Imprimir, etc.) 7-Eventos de erros (OnError)

Vejamos alguns eventos:

Evento Click Ocorre quando o usuário pressiona e libera um botão do mouse sobre um objeto. O evento Click também pode ocorrer quando a definição da propriedade Value de um controle é alterada. Normalmente, você anexa uma macro ou procedimento de evento Click a um botão de comando para executar comandos ou ações compatíveis.

Evento Change Ocorre quando o conteúdo de uma caixa de texto ou porção de texto de uma caixa de combinação> é alterado. Exemplos deste evento incluem o fornecimento de caracteres diretamente na caixa de texto ou caixa de combinação, ou a alteração da definição da propriedade Text de um controle usando-se uma macro ou o Access Basic. Durante a execução de uma macro ou um evento de procedimento, quando ocorrer um evento Change, você pode coordenar a exibição de dados entre os controles. Poderá também exibir os dados em um formulário de um controle, e os resultados em um outro controle.

Evento Load Ocorre quando um formulário é aberto e os registros são exibidos. O evento Load pode ocorrer quando uma aplicação se inicia.

Eventos Open, Close Open - para os formulários, o evento Open ocorre quando um formulário é aberto, mas antes que o primeiro registro seja apresentado. Para os relatórios, o evento ocorre antes que um relatório seja visualizado ou impresso.

Close - ocorre quando um formulário ou relatório é fechado e removido da tela. O evento Open ocorre antes do evento Load , que por sua vez é disparado quando um formulário é aberto e seus registros exibidos.

O evento Close ocorre depois do evento Unload, que é disparado depois que o formulário é fechado, mas antes que ele seja removido da tela. Os formulários, relatórios, botões de comando, caixa de listagem, caixa de verificação, botão de opção, grupo de opção e demais objetos possuem propriedades, métodos e eventos associados que podemos utilizar para executar rotinas apropriadas ao contexto. Além disso eventos podem disparar outros eventos.

1.7. O PODER DA SQL (A LINGUAGEM SQL : INTRODUÇÃO.)

A linguagem SQL (Structured Query Language) é uma linguagem de alto nível para manipulação de dados dentro do modelo relacional. Seu objetivo é fornecer uma interface de alto nível ao usuário. É uma linguagem não procedural, e,não cabe ao usuário definir como o gerenciador de banco de dados executará uma tarefa, mas somente o ele que deve fazer. Uma instrução SQL consiste em três partes:

As declarações de parâmetros A instrução manipulativa As declarações de opções

Para termos uma idéia do seu poder, imagine que temos que atualizar o campo valor em 10% de uma tabela com diversos registros. Na abordagem procedural teríamos os seguintes passos a seguir:

Abrir a tabela. posicionar o ponteiro no início da tabela. atualizar o campo valor em 10%. mover o ponteiro para o próximo registro. continuar a atualização do campo valor até o final da tabela.

O código poderia ter o seguinte aspecto:

Dim db as database Dim tabela as recordset set db=workspaces(0).Opendatabase("c:\base.mdb") set tabela=db.Openrecordset("tabela") Whilel not tabela.eof tabela.edit tabela.valor=tabela.valor*1. tabela .update tabela.movenext Wend tabela.close

Agora utilizando uma instrução SQL teríamos o seguinte trecho de código:

Dim db as Database Set db=Workspaces(0).Opendatabase("c:\base.mdb") db.execute "UPDATE tabela SET valor=valor*1.10" db.close

Observe a utilização da instrução SQL UPDATE , bem mais simples, não é? Então se você não está utilizando a SQL, estará trabalhando muito e seu código sofrendo as conseqüências. Vejamos na tabela abaixo um resumo das cláusulas manipulativas e suas finalidades:

Instrução Função SELECT Obtém um grupo de registros e insere os registros em um dynaset ou em uma tabela UPDATE Define os valores dos campos de uma tabela em uma atualização