Você está na página 1de 40

GERONET SERVICES

Cursos – Apostilas – Manuais – Tutoriais

Apostila

De

VISUAL BASIC

Nelson Geromel

www.geronetservices.com 1
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
APOSTILA VISUAL BASIC 6

Sumário

I. INTRODUÇÃO
II. INICIANDO O VISUAL BASIC 6
III. AMBIENTE DE TRABALHO
IV. BARRA DE MENUS
V. BARRA DE FERRAMENTAS
VI. CAIXA DE CONTROLE (TOOLBOX)
VII. A JANELA FORM
VIII. A JANELA FORM LAYOUT
IX. A JANELA DE PROPRIEDADES (PROPERTIES)
X. A JANELA PROJECT EXPLORER
XI. A JANELA CÓDIGO
XII. EVENTOS
XIII. CONSTRUINDO SEU PRIMEIRO PROGRAMA
XIV. SALVE SEU PROJETO
XV. COMPILANDO SEU PROGRAMA
XVI. PREFIXOS
XVII. TIPOS DE DADOS
XVIII. SUFIXOS DE TIPO DE DADOS
XIX. VARIÁVEIS
XX. A INSTRUÇÃO IF
XXI. EXPRESSÕES E OPERADORES MATEMÁTICOS
XXII. MSGBOX
XXIII. INPUTBOX
XXIV. COMENTÁRIOS
XXV. LOOPS
XXVI. MENU EDITOR
XXVII. BANCO DE DADOS
XXVIII. ACTIVEX
XXIX. DISTRIBUINDO SUA APLICAÇÃO
XXX. ENDEREÇOS INTERNET

INTRODUÇÃO

O Visual Basic é uma linguagem de programação para Windows, baseada em


eventos e em objetos. Gerando aplicativos cuja operação é determinada pela
escolha de algum objeto gráfico, que representa uma ação, por parte do usuário.

www.geronetservices.com 2
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
O Visual Basic permite criar aplicativos tanto para máquina local quanto para
ambiente de rede. Estes aplicativos podem tanto compartilhar banco de dados
quanto acessar um banco de dados cliente-servidor.
O Microsoft Visual Basic 6 é a última e mais poderosa versão da linguagem
desenvolvida pela Microsoft Corporation, baseada na linguagem Basic.
O Visual Basic 6 é vendido em três versões: Standard, Professional e Enterprise.

INICIANDO O VISUAL BASIC 6


Para iniciar o Visual Basic 6 clique em iniciar.
Posicione o cursor do mouse em Programas/ Microsoft Visual Basic 6.
Clique em Visual Basic 6.

AMBIENTE DE TRABALHO
Sempre que iniciar o Visual Basic, aparece a caixa de diálogo New Project.
Solicitando que você escolha um projeto.
Dê um clique no botão Abrir (Open) para aceitar o novo projeto padrão
(Standard.EXE), um aplicativo padrão do Visual Basic.

Dica: Se você der um clique na opção Don’T show this dialog Box in the future, o
Visual Basic não exibirá a caixa de diálogo de abertura quando o Visual Basic for
iniciado.

O ambiente de programação do Visual Basic contém todas as ferramentas


necessárias para construir seus programas para Windows com rapidez e eficiência.

www.geronetservices.com 3
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

BARRA DE MENUS
A barra de menus proporciona acesso à maioria dos comandos que controlam o
ambiente de programação. Os menus e comandos são convencionais, padrão
Windows 9x.

Barra de menus

BARRA DE FERRAMENTAS
A barra de ferramentas está localizada abaixo da barra de menus. Com botões que
funcionam como atalhos para executar comandos e controlar o ambiente de
programação.

Barra de ferramentas

Adiciona um projeto padrão. Clique na seta e você terá outras opções


de projeto
Adiciona um novo formulário. Clique na seta e você terá acesso a

www.geronetservices.com 4
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
diversos tipos de formulários.
Mostra o menu Editor (editor de menus)
Abre um projeto existente
Salva o projeto atual
Corta uma área selecionada
Copia um objeto selecionado
Cola um objeto da área de transferência
Localiza uma palavra no código
Desfaz operações
Refaz operações
Executa aplicação
Pausa na execução da aplicação
Finaliza a execução da aplicação
Mostra a Janela de Projetos
Mostra a Janela de Propriedades
Mostra a Caixa de Layout do formulário
Mostra o Object Browser
Mostra a Caixa de Controles

Dica: No Visual Basic, você pode alinhar e acoplar, ou ancorar, as janelas para
tornar visíveis e acessíveis todos os elementos do sistema de programação.

CAIXA DE CONTROLE (TOOLBOX)


Contém ferramentas para inserir controle no seu formulário.

A Caixa de Controle mostra inicialmente os controles padrões do Visual Basic. Mas


você pode inserir em sua Caixa de Controle diversos controles, chamados ActiveX.

www.geronetservices.com 5
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Os controles padrão são:

Ferramenta de seleção. Usada para dimensionar e mover controle.


PictureBox. Usada para mostrar imagens gráficas.
Label. Usada para inserir texto. Que serve como rótulo.
TextBox. Usado para criar caixas de edição, onde usuário inseri texto.
Frame. Usado para criar uma moldura que agrupe controles.
CommandButton. Usado para desenha um botão que poderá ser
acionado para iniciar um comando.
CheckBox. Usado para criar um botão de checagem.
OptionButton. Usado para criar um botão de opção. Em conjunto com
outros OptionButtons, o usuário pode escolher uma opção dentre
várias.
ComboBox. Usado para desenhar uma lista de itens em uma caixa
combo. O usuário poderá interagir com a lista inserida na caixa combo.
Listbox. Usada para mostrar uma lista de itens em uma caixa de lista,
para que o usuário escolha um item.
Hscrollbar. Usada para inserir uma barra de rolagem horizontal.
Vscrollbar. Usada para inserir uma barra de rolagem vertical.
Timer. Temporizador para controlar eventos. Invisível durante a
execução da aplicação.
Drivelistbox. Usada para mostrar uma lista de drives.
Dirlistbox. Usada para mostrar uma lista de diretórios.
Filelistbox. Usada para mostrar uma lista de arquivos.
Shape. Usada para desenhar algumas figuras geométricas.
Line. Desenha linhas.
Image. Usada para mostrar imagens bitmaps, ícones ou metafile.
Data. Usada para acessar dados em banco de dados.
OLE. Usada para ligar ou embutir objetos de outras aplicações.

Dica: Para inserir controles ActiveX na Caixa de Controles, clique com o botão
direito em uma área vazia da Caixa de Controles. Clique em Componets.
Defina o controle que você deseja inserir, e clique em OK.

www.geronetservices.com 6
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
A JANELA FORM
A janela Form é sua principal área de trabalho. A janela Form sustenta os objetos do
programa, tais como botões de comando, rótulos, caixas de texto, barra de rolagem
entre outros.

A Janela Form

Ao dar um duplo clique em um dos controles da Caixa de controles ele será inserido
na janela Form. A janela Form nada mais é do que seu programa, embora pareça
pequena em relação ao resto da tela, ela representa todo o background do
aplicativo.

A JANELA FORM LAYOUT


Esta janela permite que você posicione seu formulário na tela, durante o projeto.
Quando você clica sobre o formulário mostrado na tela, o cursor muda de formato, e
você pode move-lo na tela.

A JANELA DE PROPRIEDADES (PROPERTIES)


Properties (Propriedades) são informações descritivas detalhadas sobre um
controle.

www.geronetservices.com 7
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Quando um botão (Commandbutton) é inserido no formulário (Form) seu nome será


Command1. O usuário verá este botão como Command1.
Você pode mudar este nome (Name) para cmd1 e o nome representativo (Caption)
para Abrir.
É na Janela Propriedades (Properties), onde você altera as propriedades dos
controles e do próprio formulário (Form).

A JANELA PROJECT EXPLORER


A janela Project Explorer, freqüentemente chamada janela Project, oferece uma
visão estruturada em árvore de todos os arquivos no aplicativo.

Bem semelhante à estrutura de árvore do Explorer do windows 9x e do NT.


A janela Project Explorer exibe formulários, módulos (arquivos que contêm o código
de suporte para o aplicativo), classes (módulos avançados) e aplicativo carregado.

A JANELA CÓDIGO
A cada formulário está associada uma Janela de código, que contêm declarações de
varáveis, rotinas e funções referentes ao formulário e controle inseridos dentro do
formulário.

www.geronetservices.com 8
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Janela de Código

Na construção do código associado ao formulário, o Visual Basic utiliza a linguagem


Basic.
Todas as procedures do formulário são mostradas na mesma Janela de Código.
Para abrir a Janela de Código use uma dessas formas:
• Após selecionar o formulário, clique no ícone ( ) da Janela de Projetos.
• Clique duas vezes em cima do formulário ou controle.
• Tecle F7
• Escolha a opção Code no menu View.
• Clique com o botão direito do mouse sobre o objeto e escolha View Code.

EVENTOS
Os programas desenvolvidos em Visual Basic são orientados a eventos.
Eventos são ações geradas pelo usuário clicar o mouse, apertar uma tecla, etc. Os
eventos podem também ser gerados pelo próprio Windows. Existem eventos
associados ao formulário, e cada controle inserido neste.

Alguns eventos comuns são:

Click Ocorre quando o botão do mouse é clicado sobre uma


área vazia ou sobre um controle que não está
habilitado.
Dblclick Ocorre quando o botão do mouse é clicado duas vezes
seguido.
Gotfocus Ocorre quando o objeto recebe o foco.
Keydown Ocorre ao se apertar uma tecla.
Keypress Ocorre ao ser apertar e soltar uma tecla.
Keyup Ocorre ao se liberar uma tecla.
Load Ocorre quando um formulário é carregado.
Lostfocus Ocorre quando um objeto perde o foco.
Mousedown Ocorre quando o usuário pressiona o botão do mouse.
Neste evento há identificação do botão pressionado
(esquerdo ou direito) e ainda identifica as teclas Shift,

www.geronetservices.com 9
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Ctrl e Alt.
Mouseup Ocorre quando o usuário libera o botão do mouse.

CONSTRUINDO SEU PRIMEIRO PROGRAMA


Como vimos, o Visual Basic cria programas orientados a eventos.
Chegou a hora de colocar tudo que foi aprendido até agora em prática.
Tenha em mente o seguinte:
1º Qualquer objeto (botão, caixa de texto, rótulo, etc) inserido no formulário
(Form) deve ter uma utilidade.
2º Modifique nome, tamanho, cor, fonte dos objetos caso necessário. Faça isso
na Janela Propriedades.
3º Somente inicie a construção do código de seu programa após ter todos os
objetos necessários inseridos no formulário (Form) e suas propriedades
alteradas.

Inicie o Visual Basic 6


Clique em Iniciar
Posicione o cursor do mouse em Programas/ Microsoft Visual Basic 6.
Clique em Visual Basic 6.
Dê um clique no botão Abrir (Open) para aceitar o novo projeto padrão
(Standard.EXE).

Dê um clique em Name na Janela Properties (Propriedades)


Altere Name “Form 1” para “Meuprograma”.
Altere Caption “Form1” para “Meu Primeiro Programa”.

Dê um clique duplo no controle ( ) Label.


Na Janela Propriedades altere Name “Label1” para “lbl1”
Altere Caption “Label1” deixe em branco “
Altere Height para “200”.
Altere Width para “3000”

Dê um clique duplo no controle ( ) Textbox


Na janela Propriedades altere Name “Text1” para “txt1”
Em Text “Text1” deixe em branco.
Altere Height para “200”.
Altere Width para “3000”
Deixe esse controle abaixo do rótulo.

Dê um clique duplo no controle ( ) Commandbutton


Na janela Propriedades altere Name “Command1” para “cmd1”
Altere Caption “Command1” para “Pesquisar”

Dê um duplo clique no botão pesquisar


Será aberta a Janela de Código.
Com o seguinte código:

www.geronetservices.com 10
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Private Sub cmd1_Click()

End Sub

Digite entre estas linhas o seguinte código:

If txt1.Text = "a" Then


lbl1.Caption = "Primeira letra do alfabeto"
End If

Código completo:
Private Sub cmd1_Click()
If txt1.Text = "a" Then
lbl1.Caption = "Primeira letra do alfabeto"
End If
End Sub

Descrição do código:
Se (If) o texto da caixa de texto(txt1.text) é igual (=) à “a” então (Then)
o rótulo (lbl1) Capta (Caption) Primeira letra do alfabeto

Para rodar seu programa clique no botão ( ) Start.


Digite a letra “a” na caixa de texto e clique no botão “Pesquisar”.
Para finalizar o programa clique no botão ( ) End.

SALVE SEU PROJETO


Clique no botão ( ) Save Project
Escolha a pasta onde serão armazenados seus Projetos.
Salve o Form1 com o nome de MeuPrograma. Dê um clique no botão Salvar.
Project1 como MeuPrograma. Dê um clique em no botão Salvar

COMPILANDO SEU PROGRAMA


Para compilar seu programa e criar um executável
Clique em File/ Make MeuPrograma.exe...
Escolha a pasta onde serão armazenados seus arquivos com extensão.EXE.
Dê um nome para o executável (Ex: Dicionário) e clique no botão “OK”.

Você criou um pequeno dicionário da língua portuguesa. Bem pequeno para falar a
verdade, talvez você queira criar um dicionário completo. O primeiro passo já foi
dado, já mostrei como criar a interface, propriedades e o código para primeira letra
do alfabeto, só falta mais 30.000 palavras. Mãos a obra.

PREFIXOS
Use estes prefixos para os nomes de controle

Prefixo Controle Nome em Inglês


cbo Caixa combo Combo Box

www.geronetservices.com 11
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
chk Caixa de verificação Check Box
cmd Botão de comando Command button
dir Caixa de listagem de diretórios Directory list Box
drv Cx. de listagem de unidades de disco Drive list Box
fil Caixa de listagem de arquivos File list Box
frm Moldura Frame
grd Grade Grid
hsb Barra de rolagem horizontal Horizontal scrollbar
img Imagem Image
lbl Rótulo Label
lin Linha Line
lst Caixa de listagem List Box
mnu Menu Menu
ole Cliente OLE OLE client
opt Botão de opção Option Button
pic Caixa de Figura Picture Box
shp Forma Shape
tmr Temporizador Timer
txt Caixa de texto Text Box
vsb Barra de rolagem vertical Vertical scrollbar

TIPOS DE DADOS
Os dados dividem-se em três categorias: numérico, string e especial. Se você quiser
trabalhar com um número, você precisará usar um que se encaixe em uma das
categorias de tipo de dados do Visual Basic. Se quiser trabalhar com dados de texto,
precisará usar uma string. Outros dados podem se encaixar em uma das várias
categorias de tipos de dados especiais, como um item que representa um valor do
tipo caixa de verificação True ou False.
O Visual Basic oferece os seguintes tipos de dados:

Byte (byte): é utilizado para criação de DLL’s e para OLE. Ocupa de memória 1
byte.

Boolean (boleano): os valores que este tipo de dado poderá ter são True ou False /
Yes ou No. Quando variáveis do tipo numérico se convertem para booleanas,
tornam-se 0 se forem falsas e assumem qualquer outro valor para um resultado
verdadeiro. Quando a variável booleana se converte para outro tipo, o False se torna
0, enquanto o True assume o valor de –1. Ocupa de memória 2 bytes.

Integer (inteiro): números sem decimais, cujo intervalo de ocorrência deverá ser do
–32.768 a 32.767. Ocupa na memória 2 bytes.

Long (inteiro longo): qualquer tamanho de números sem decimais. Ocupa 4 bytes
de memória.

Single (simples): números com até sete dígitos significativos. Ocupa 4 bytes de
memória.

www.geronetservices.com 12
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Double (duplos): números com até quinze dígitos significativos. Ocupa 8 bytes de
memória.

Currency (monetário): armazena números com precisão de 15 casas à esquerda do


ponto decimal, e quatro casas à direita. Esse tipo de dado é útil para cálculos que
envolvam dinheiro. Ocupa 8 bytes de memória.

Date (data): representa uma data que poderá estar entre os dias 01/01/100 a
31/12/9999, e tempo que abrange o intervalo de 0:00:00 a 23:59:59. Ocupa 8 bytes
de memória.

Object (objeto): uma variável declarada como object poderá referir-se a qualquer
objeto criado pela aplicação. Ocupa na memória 4 bytes.

String (simples): Valores numéricos que variam de –3,408823E+38 para


3,402823E+38. Variável ou fixo. O tamanho que ocupa na memória: para string
variável é de 10 bytes mais o tamanho da string e para string fixo apenas o tamanho
da string.

Variant (variante): Dados de qualquer tipo usados para controle e outros valores
para os quais o tipo de dados é desconhecido.
SUFIXOS DE TIPO DE DADOS

Integer %
Long &
Simple !
Double #
String $
Currency @
Variant sem sufixo

VARIÁVEIS
Para declarar variáveis, você precisa dar a uma variável tanto um nome quanto um
tipo. Os nomes de variáveis podem ter até 40 caracteres, e precisam começar com
uma letra.
Determinado o nome da variável, poderá declarar seu tipo usando um sufixo.
Para que sua aplicação seja eficiente e clara, o mais indicado é especificar o tipo da
variável, pois do contrário, a variável será vista pelo Visual Basic como do tipo
Varinat, e este tipo poderá ocupar mais memória do que o necessário.

Declarando com o Comando Dim


Veja a sintaxe:
Dim <nome da variável> As <tipo da variável>

Exemplo:
Dim Apostilas As String

Você pode declarar sua variável dentro de uma procedure, na seção General de um
formulário, ou dentro de um arquivo módulo.

www.geronetservices.com 13
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Exemplo de uma variável do tipo Integer dentro de uma procedure.


Private Sub Command1_Click()
Dim Apostilas As Integer
Apostilas = Val(txt1.Text)
End Sub

Atribuindo Valores
A atribuição de valores no Visual Basic é feita com o sinal de igualdade “=”
O formato da atribuição de valores é:
resultado = expressão

Exemplo:
Total = txt1 * txt2

Constantes
Utilizamos constantes para substituir no programa a aparição freqüente de valores,
que durante a execução do aplicativo não sofrem alterações. Uma constante poderá
ser uma string, um valor numérico, outra constante, ou qualquer combinação que
inclua os operadores lógicos ou aritméticos.

Declarando Constante
Constantes podem ser declaradas dentro de uma procedure, no arquivo de módulo
ou na seção General do formulário.
A sintaxe para a declaração de constante é:
Const nome_da_constante = valor

Exemplo:
Private Sub Command1_Click()
Const Apostilas = "Pesquisar
Command1.Caption = Apostilas
End Sub

A INSTRUÇÃO IF
Talvez a mais importante instrução em um programa seja a instrução If. Seu
aplicativo pode analisar dados e tomar decisões com base nessa análise.
If utiliza os operadores de comparação. If realiza uma entre duas possíveis ações do
código, dependendo do resultado da comparação.
Se um teste comparativo for verdadeiro, o corpo de uma instrução If é executado.
Eis um formato de If:
If testeComparativo Then
Uma ou mais instruções Visual Basic
End If

End If permite que o Visual Basic saiba onde o corpo de uma instrução If termina.

www.geronetservices.com 14
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
EXPRESSÕES E OPERADORES MATEMÁTICOS
Para poder calcular e atribuir resultados de uma expressão a variáveis e quando
codificar declarações que contêm expressões você deve aprender operadores
matemáticos do Visual Basic.
Os principais operadores matemáticos são:

Operador Descrição
+ Adiciona dois valores
- Subtrai um valor de outro
* Multiplica dois valores
/ Divide um valor por outro
^ Eleva o valor a uma potência
& (ou +) Concatena dois strings

Exemplo:
Resultado = 6 / 3 + 5 + 4 * 2
O Visual Basic computa a divisão primeiro que aprece a esquerda da multiplicação.
Se a multiplicação aparecesse à esquerda da divisão, o Visual Basic faria primeiro a
multiplicação. Depois o Visual Basic calcula a adição mostrando a resposta final, em
Resultado.

FUNÇÃO
Função é uma instrução que desempenha um trabalho importante (tal como solicitar
uma informação do usuário ou calcular uma equação) e então retorna um resultado
ao programa.

MSGBOX
A função MsgBox() só permite um diálogo restrito; você coloca uma mensagem na
tela em uma janela, e o usuário fica restrito a comunicar-se de volta por meio de
botões.
Sintaxe:
Msgbox (mensagem, opções, título, ar_ajuda, contexto).
Onde:
Mensagem: é a mensagem que você quer mostrar.
Opções: indica a soma dos valores escolhidos entre as tabelas abaixo:

Botões
0 Somente botão OK
1 Botão OK e Cancel
2 Botões Abort, Retry, Ignore
3 Botões yes, no, cancel
4 Botões yes, no
5 Botões Retry, Cancel

Ícones
16 Erro grave

www.geronetservices.com 15
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
32 Pergunta
48 Sinal de aviso
64 Informação

Botão Padrão
0 Primeiro botão
1 Segundo botão
2 Terceiro botão

Por exemplo, se você criar um quadro de diálogo contendo os botões Yes e No, o
ícone de interrogação e com, o primeiro botão padrão, o valor do argumento opções
seria 36:
4 + 32 + 0 = 36

Título: é a string que você deseja posicionar na legenda da janela do quadro de


mensagem.

Arq_ajuda e contexto: só são usados se você quiser associar o quadro de diálogo de


um arquivo de help.

Como MsgBox é uma função, você deve associa-la a uma variável de retorno. Os
valores de retorno de MsgBox() são:

1 Botão OK foi pressionado


2 Botão Cancel foi pressionado
3 Botão Abort foi pressionado
4 Botão Retry foi pressionado
5 Botão Ignore foi pressionado
6 Botão Yes foi pressionado
7 Botão No foi pressionado

Exemplo:
Mensagem = MsgBox ("Salvar o documento?", 36, "Salvar")

Caso não haja valor de retorno para MsgBox, não é necessário colocar os
parênteses que contem os parâmetros.
MsgBox passa a ser uma procedure, ao invés de uma função.
Exemplo:
MsgBox “Salvar o documento?”, 36, “Salvar”

INPUTBOX
A função InputBox fornece um quadro de diálogo padrão, que permite entrada de
dados.
Sintaxe:
InputBox (mensagem, título, default)
Onde:
mensagem: é o texto que mostramos para indicar que tipo de entrada é desejada;
título: é a legenda que queremos dar ao quadro de entrada;
default: é o string que aprece no quadro de edição do quadro diálogo (caso o usuário
não faça nenhuma entrada);

www.geronetservices.com 16
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Exemplo:
Private Sub Form_Load()
apostilas = InputBox("Digite seu nome", "Login")
Label1.Caption = apostilas
End Sub

COMENTÁRIOS
Os comentários de instrução ajudam você e outros programadores a modificar e
atualizar seus projetos ou programas Visual Basic. As vezes será necessário
retornar a seu projeto para modificar certas instruções no código do programa. Se
você programa para uma empresa, é bem provável que outras pessoas modifiquem
os programas que você escreveu.
Então nada melhor do que deixar uma pista de sobre determinadas instruções.
No Visual Basic utilizamos dois tipos de comentários
Que começam com a instrução Rem

Exemplo:
Rem este comando abre o formulário vendas

Que começam com o apóstrofo (‘)

Exemplo:
‘ este comando abre o formulário vendas

Exemplo completo:

Private Sub Command1_Click()


' este comando abre o formulário vendas
Form2.Show
End Sub

LOOPS
Um loop é um conjunto de instruções de programa que executam repetidamente.
Loops desempenham um importante papel nos programas porque você precisará às
vezes repetir seções de um programa para processar múltiplos valores de dados.

Loop Do While
Do While funciona com expressões de comparações exatamente como uma
instrução If.

Exemplo:
Do
Apostilas = InputBox("Digite o seu nome ou Fim para sair.")
If Apostilas <> "Fim" Then Print Apostilas
Loop While Apostilas <> "Fim"

Loop Do Until
O loop Do Until executa o corpo do loop enquanto o teste comparativo for falso.

www.geronetservices.com 17
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Exemplo:
Do
Apostilas = InputBox("Digite o seu nome ou Fim para sair.")
If Apostilas <> "Fim" Then Print Apostilas
Loop Until Apostilas <> "Fim"

Caso tenha notado no loop (Do While) basta digitar Fim na janela prompt e clicar no
botão “OK” para entrar no programa enquanto no loop (Do Until) caso você digite
Fim na janela prompt e clique no botão “OK” o laço continuará.

MENU EDITOR
Para colocarmos um menu em nosso formulário, temos que projetá-lo primeiro
usando o ( )Menu Editor.

Para criar um meu em seu formulário:


• Entre com o nome do menu (aquele que aparecerá na Barra de Menu), no
quadro Caption. A medida que você digita o nome do menu em Caption, a
mesma palavra aparece no quadro abaixo, que é local onde o menu projetado
será mostrado.
• Entre com uma identificação para o controle, no quadro Name;
• Pressione Enter ou clique no botão Next para terminar o primeiro item e
passar para o próximo. Caso seja um subitem, clique sobre a seta para
direita, para dar uma endentação;

www.geronetservices.com 18
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
• Entre com os demais itens. Se quiser incluir um separador entre os itens de
menu, digite um hífen(-) na caixa Caption;
• Feche a janela de projeto de menu clicando no botão “OK”.

O menu é inserido na parte superior de seu formulário.

Para inserir o código clique sobre o item de menu desejado e digite as instruções
necessárias.

Exemplo:
Private Sub mnufechar_Click()
End
End Sub

BANCO DE DADOS
A maioria dos objetos que você cria usando os controles da caixa de ferramenta do
Visual Basic possuem aptidão interna para exibir informações de banco de dados.
Um objeto está limitado a um banco de dados quando sua propriedade DataSource
estiver definida com um nome válido de banco de dados e sua DataField como uma
tabela válida do banco de dados. É possível vincular o seu programa em Visual
Basic a um banco de dados por meio de um objeto dados. Depois que a conexão for
estabelecida, você poderá exibir informações do banco de dados usando objetos
criados no formulário.

Conexão
Para conectar seu programa Visual Basic um banco de dados inclua os seguintes
objetos:
Data
Text
Label

Modifique:
Label1: Caption para Autor
Text1: Text em branco
Data: Caption para Autores

www.geronetservices.com 19
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Para o Objeto Data:


Clique em Recordset Type escolha 0- Table
Clique em Databasename escolha o banco de dados exemplo do Visual Basic,
escolha o caminho (que pode ser outro) C:\Arquivos de programas\Microsoft Visual
Studio\Vb98\Biblio.mdb.
Em:
ReadOnly marque True
Recordset Type marque 0 – Table
RecordSource escolha Authors

O programa criado exibe somente os campos desejados. Usando um objeto dados e


diversas caixas de texto de dados limitado, você pode criar um aplicativo de banco
de dados eficiente que acesse seu próprio banco de dados, seja ele Sql, Access,
dBase entre outros.

ACTIVEX
Procure em uma livraria e você encontrará muitos livros grossos que discutem
ActiveX. ActiveX é a nova tecnologia aberta da Microsoft que foi projetada para
mesclar a área de trabalho com a Internet de maneira transparente.
Um controle ActiveX é um controle que você pode adicionar à janela Toolbox do
Visual Basic. Se a janela Toolbox não contiver o controle de que você precisa, você
poderá localizar um controle ActiveX que sirva aos seus propósitos e adicionar esse
controle à janela Toolbox para utilizar em seu aplicativo.
Muitos fabricantes comercializam controles ActiveX e você pode pesquisar na
Internet utilizando alguns sistemas de busca para encontrar um lista de sites
relacionados com Activex.
Acredita-se que os futuros sistemas operacionais serão baseados em ActiveX. Na
verdade, todos os programas serão controles ActiveX.

Documentos ActiveX
Os documentos ActiveX são objetos difíceis de criar do zero. Um documento ActiveX
deve estar contido dentro de um aplicativo ActiveX recipiente, como o Internet
Explorer.
Inicie o Internet Explorer. Abra um documento Word. O internet Explorer pode exibir
o documento Word, completamente formatado, e você pode editar o documento
como se estivesse dentro do Word.
Palavras não reconhecidas, palavras estrangeiras e algumas abreviaturas são
sublinhadas como possíveis erros de digitação; e você pode selecionar e formatar o
texto.
Quando um recipiente AvtiveX ativa um documento ActiveX, todos os controles
usuais do documento e suas características tornam-se disponíveis.
Um documento Word é um documento ActiveX.
O Internet Explorer é um recipiente ActiveX.

www.geronetservices.com 20
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Visual Basic ActiveX Document Migration Wizard


Inicie um no projeto (StandardEXE).
Iniciar/ Programas/Microsoft Visual Basic 6/ Visual Basic 6.
Insira em seu formulário (Form) um Label e um Commandbutton.
Para Label modifique:
Name para lbl1
Caption deixe em branco
Width para 3000

Para Commandbutton
Name para cmd1
Caption para Clique aqui

Dê um clique duplo no botão cmd1 e digite o seguinte código.


lbl1.Caption = "Visual Basic é legal"

Código completo
Private Sub cmd1_Click()
lbl1.Caption = "Visual Basic é legal"
End Sub

Faça os testes necessários clicando em Run/Start


Feche seu pequeno aplicativo.
Salve seu projeto clicando no botão ( ) Save project.
Dê um nome para Form1, exemplo “Teste”.
Dê um nome para Project1, exemplo “Teste”.

Clique em Add-Ins/ Add-In manager...


Dê um clique duplo em VB 6 ActiveX Doc Migration Wizard.
Clique em “OK”
Clique em Add-Ins/ ActiveX Document Migration Wizard...
Selecione todas opções padrão menos uma, escolha “dll” ao invés de “exe” e clique
em finalizar.
Feche a caixa de diálogo final.
Clique em File/ Save docForm1.dob.

Clique em File/Make Teste.dll.


Escolha o local e clique em “OK”.

www.geronetservices.com 21
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Para testar, abra o Internet Explorer 4.0 ou superior (não funciona no Netscape).
Clique em Arquivo/ Abrir localize seu arquivo com extensão .vbd (docForm1.vbd)
clique em abrir.
Faça os testes necessários.
Se o documento não abrir ou mostrar a caixa de diálogo “Abrir como” escolha o
programa Internet Explorer.
Este é apenas um exemplo simples de documento ActiveX. O limite é sua
criatividade e imaginação.

DISTRUINDO SUA APLICAÇÃO


A aplicação desenvolvida no Visual Basic poderá ser distribuída em discos, CD’s,
rede ou Internet, que poderão ser instalados em seu cliente. Não basta, porém, dar o
arquivo executável de sua aplicação para o cliente.
Inúmeros outros arquivos são necessários.

Para facilitar a distribuição do aplicativo, o Visual Basic oferece utilitário Package


and Deployment Wizard, que cria os disco que conterão todos os arquivos
necessários para a instalação de seu aplicativo no cliente.

Com este utilitário você poderá:


• Recompilar automaticamente o arquivo .EXE;
• Comprimir arquivos e distribuí-los em disquetes;
• Ser avisado da necessidade de certos arquivos para que sua aplicação
funcione;
• Ser notificado sobre o número de disquetes necessários para distribuir sua
aplicação nos discos de instalação.

Para usar o Package and Deployment Wizard no grupo de programas do Visual


Basic, selecione a opção Package and Deployment Wizard.

www.geronetservices.com 22
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Selecione o projeto que será distribuído, e a forma de distribuição.


Selecione o tipo de pacote, e clique em Next.
Selecione a pasta onde o pacote será criado, e clique em Next.
Selecione os arquivos que farão parte do pacote, e clique Next.
Selecione o tipo de arquivo CAB desejado, e clique em Next.
Digite o nome do projeto que será mostrado durante a execução do programa de
instalação, e clique em Next.
Determine os grupos e itens de menu para o projeto, e clique em Next.
Determine o local onde será instalado o arquivo em seu cliente, e clique em Next.
Defina se os arquivos serão compartilhados e clique em Next.
Digite um nome para o script, e clique em Finish.
Os arquivos CAB são criados.

O que são winforms?

Tipo de aplicação para desenvolvimento de aplicações Windows na plataforma .Net.


Possui uma grande facilidade no desenvolvimento e um conjunto de controles muito rico.

Vale lembrar que o sucessor do Visual Basic 6 não é o VB.net e sim o tipo de aplicação
windows (winforms).

Dentro da plataforma .net, a linguagem de programação é independente do tipo de


aplicação, ou seja podemos desenvolver para winforms com VB.NET, C#, J#, etc.

Linguagem Tipo de Aplicação


VB.NET
Asp.net (Web)
C#
Winforms (Windows)
J#
WebService
Cobol.Net

Na prática (figura 1), quando vamos criar uma aplicação selecionamos primeiro a
linguagem a ser utilizada, na seqüência o Template (Tipo de aplicação), o nome e a
localização.

www.geronetservices.com 23
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

Figura 1 - Criando um novo projeto.

Comparações (VB6)

Por que migrar?

Permitir que os desenvolvedores tenham total acesso a funcionalidades oferecidas pelo


.Net Framework, de maneira direta e integrada sem a necessidade de "artifícios" de
programação;

O Visual Basic se torna uma linguagem de programação ainda mais poderosa e flexível;

O Visual Basic não foi melhorado e sim totalmente refeito.

Diferenças

• Tipos de dados
• Conversões implícitas
• Sintaxe de linguagem
• Comportamento
• Arrays
• Fortemente tipado
• Tipos comuns ao .Net Framework
• O tipo de dados universal, passa a ser Object ao invés de Variant.

Tipos - Inteiros

VB.NET VB 6.0 Tamanho .NET Framework


Short Integer 16 bits System.Int16
Integer Long 32 bits System.Int32
Long Nenhum 64 bits System.Int64

Currency e Date

www.geronetservices.com 24
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Currency não existe mais, é substituído pelo Decimal;
Datas não são mais armazenadas como Double.

String

Todas as strings são de tamanho variável;


Não é mais possível declarar o tamanho de uma variável do tipo String.

Algumas vantagens

Orientado a Objetos
-Passa a suportar herança de classes geradas não só em VB.net;
-Pode acrescentar funcionalidades da classe base (sobreposição de métodos).

Construtores e Destrutores
-Construtores são utilizados para incializar uma classe. Uma classe pode ter vários
construtores e estes podem ser parametrizados;
-Substituem os eventos Initialize e Terminate.

Controles

Alguns novos controles e propriedades foram criados

Controles
Spliter
NotifyIcon
CheckedListBox

Propriedades
Form - Opacity
Form - Archor

Menu

Criado um novo editor de menu "Edit in Place";


O menu é montado dentro do próprio formulário e não em uma janela separada.

Herança Visual

Tanto formulários como controles, podem ser extendidos através de herança;


Desta forma torna-se bastante simples a definição de interfaces gráficas padronizadas
aumentando o reaproveitamento de código e a produtividade dos desenvolvedores.

Tratamento de erros

www.geronetservices.com 25
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Utilização de blocos Try…Catch…Finally;
Mais fácil de utilizar, mais robusto, mais abrangente;
On Error … ainda é mantido como forma de tratamento não estruturado.

Visual Studio .NET

Ferramenta de alta produtividade para equipes de desenvolvimento para aplicações


corporativas e Web
Mais produtiva ferramenta para a criação de serviços Web
Ferramentas End-to-end para maior produtividade no ciclo de vida do desenvolvimento
corporativo

• Novas janelas
-Solution Explorer
-Class View
-Server Explorer

Quando utilizar winforms?

Aplicações com processamento pesado;


Aplicações com interfaces mais ricas;
Aplicações com controles mais personalizáveis.

Comparação: WINFORMS COM WEBFORMS (Asp.net)

As aplicações winforms gastam um processamento no cliente, enquanto na web gastam


mais no servidor;
As aplicações mais pesadas com longo processamento em aplicações web não são
eficientes;

Distribuição

A distribuição de aplicações windows é um problema a muitos anos, porém no .NET isso


melhorou muito. Como:

- XCOPY: Uma aplicação que não possui componentes (DLL´S) simplesmente pode ter o
seu executável copiado para uma máquina com o framework instalado
- Setup: Caso a aplicação possua DDL´S sendo utilizada, o setup ainda é uma boa forma
de distribuição
- Smart Client: Uma revolução na distribuição de aplicações

Smart Client

• Vantagens
- Distribuição pela Web
- Interface rica, sem miutos problemas com segurança
- Poder trabalhar off-line, quando possível
- Bom uso da banda
- Utilização de WebService

Conexão com Banco de Dados

conexão com banco de dados, usado amplamente no dia-a-dia do programador. Serão


usados nesta e nas próximas colunas os bancos ACCESS 2000/97, MS-SQL Server e
MYSQL. O tipo de conexão a ser utilizada será a string para conexão ADO.

www.geronetservices.com 26
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Para exemplificar esses três tipos de conexão, vamos criar uma aplicação simples de
Agenda Telefônica.

Nesta primeira parte vamos usar o banco ACCESS. Crie um banco com o nome de
agenda.mdb e com as seguintes características:

Tabela: pessoal
Campo Tipo Tamanho
codigo AutoNumber
nome Text 50
end Text 100
fone Text 25

No Visual Basic crie um novo Projeto com nome de AgendaMDB, renomeie o Form1 para
frmAgenda e insira um Módulo com o nome de modCnn, como mostra a figura abaixo:

Agora vamos criar dentro do Módulo o código de conexão com o banco, e as rotinas de
Inclusão, Consulta, Alteração e Exclusão como mostra as linhas abaixo:

Option Explicit

Global cn As ADODB.Connection
Global rs As ADODB.Recordset

Conexão:
Private Sub Main()
Dim strArquivo As String
Dim strLocal As String

www.geronetservices.com 27
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Dim ConectaAccess As String

Load frmAgenda
frmAgenda.Show
DoEvents
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

strArquivo = "agenda.mdb"
strLocal = App.Path
Set cn = CreateObject("ADODB.Connection")
ConectaAccess = "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=" & strArquivo & ";" & _
"DefaultDir=" & strLocal & ";" & _
"Uid=Admin;Pwd=;"

cn.Open ConectaAccess
End Sub

Rotina de Inclusão:
Public Function Inserir(ByVal strNome As String, _
strEnd As String, _
strFone As String) As Variant

cn.Execute ("insert into pessoal(nome,end,fone)" _


& "values('" & strNome & "','" & strEnd & "','" & strFone & "')")

Inserir = True
End Function

Rotina de Alteração:
Public Function Alterar(ByVal intCodigo As Integer, _
strNome As String, _
strEnd As String, _
strFone As String) As Variant

cn.Execute "update pessoal set nome= '" & strNome & "'," _
& " end= '" & strEnd & "', fone= '" & strFone & "'" _
& " where codigo = " & intCodigo

Alterar = True
End Function

Rotina de Consulta:
Public Function Consultar(ByVal intCodigo As Integer) As Variant
Set rs = CreateObject("ADODB.Recordset")

With rs
.Open "select * from pessoal where codigo=" & intCodigo & "", cn, adOpenKeyset,
adLockOptimistic
If .RecordCount = 0 Then
MsgBox "Código Inválido", vbExclamation, "Erro"
Else
frmAgenda.lblCod = !codigo

www.geronetservices.com 28
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
frmAgenda.txtNome = IIf(IsNull(!nome), Empty, !nome)
frmAgenda.txtEnd = IIf(IsNull(!End), Empty, !End)
frmAgenda.txtFone = IIf(IsNull(!fone), Empty, !fone)
End If
.Close
End With

End Function

Rotina de Exclusão:
Public Function Excluir(ByVal intCodigo As Integer) As Variant

cn.Execute "delete * from pessoal where codigo=" & intCodigo & ""
Excluir = True
End Function

Para esse código que acabamos de digitar tenha efeito é necessário fazer uma referência
ao ADO. Então clique em Project/References... e escolha a opção "Micrisoft ActiveX Data
objects 2.6 Library", como mostra a figura abaixo:"

Obs.: As versões 2.5 e 2.6 do ADO são para ACCESS 2000 e a versão 2.1 é para ACCESS
97.

Voltando ao form frmAgenda modele-o como mostra a figura abaixo:

www.geronetservices.com 29
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

E o código desse form vai ficar dessa forma:

Botão Alterar:
Private Sub cmdAlterar_Click()
Dim atual As Variant

atual = Alterar(lblCod.Caption, txtNome.Text, txtEnd.Text, txtFone.Text)


If atual = True Then
Call limpar
Else
MsgBox "Erro na atualização.", vbCritical
End If
End Sub

Botão Consultar:
Private Sub cmdConsultar_Click()
Dim intCodigo As Integer
intCodigo = InputBox("Digite o Código", "Consulta")
Consultar (intCodigo)
End Sub

Botão Excluir:
Private Sub cmdExcluir_Click()
Dim excluido As Variant

excluido = Excluir(lblCod.Caption)
If excluido = True Then
Call limpar
Else
MsgBox "Erro na excluisão.", vbCritical
End If
End Sub

Botão Incluir:
Private Sub cmdIncluir_Click()
Dim novo As Variant

novo = Inserir(txtNome.Text, txtEnd.Text, txtFone.Text)


If novo = True Then
Call limpar

www.geronetservices.com 30
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Else
MsgBox "Erro na incluisão.", vbCritical
End If
End Sub

Função limpar:
Private Sub limpar()
lblCod.Caption = ""
txtNome.Text = ""
txtEnd.Text = ""
txtFone.Text = ""
End Sub

Botão Sair
Private Sub cmdSair_Click()
cn.Close
Set cn = Nothing
Unload Me
End Sub

Para finalizar, clique em ProjectAgendaMDB Proprerties... e em Startup Object: troque


frmAgenda por Sub Main.

Estatística e Visual Basic

No Visual Basic, crie um novo Projeto com nome de Estatística e renomeie o Form1 para
frmDados. Depois inclua mais um form como mostram as figuras abaixo:

Remonei o Form2 para frmGrafico.

www.geronetservices.com 31
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Insira um Módulo com o nome de modCnn, como mostra a figura abaixo:

Crie dentro do Módulo, o código de conexão com o banco como mostram as linhas abaixo:

Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias _


"ShellExecuteA" (ByVal HWnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal lpParameters _
As String, ByVal lpDirectory As String, ByVal nShowCmd _
As Long) As Long

Global cn As ADODB.Connection
Global rs As ADODB.Recordset

Private Sub Main()


Dim strArquivo As String
Dim strLocal As String
Dim Conecta As String

DoEvents
Set cn = New ADODB.Connection
/font color="#0066CC">Set rs = New< font> ADODB.Recordset

strArquivo = "dados.mdb"
strLocal = App.Path
Set cn = CreateObject("ADODB.Connection")
Conecta = "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=" & strArquivo & ";" & _

www.geronetservices.com 32
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
"DefaultDir=" & strLocal & ";" & _
"Uid=Admin;Pwd=;"

cn.Open Conecta

Load frmDados
frmDados.Show
End Sub

Para este exemplo, é preciso fazer referência ao ADO para usar a conexão com o banco de
dados e Microsoft Excel e exportar os dados, como mostra a figura abaixo:

Voltando ao form frmDados modele-o como mostra a figura abaixo:

www.geronetservices.com 33
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Para incluir o ListView e o Chart(Gráfico), no menu principal, clique em Project/Components
e selecione os itens Microsoft Chart Control 6.0 e Microsoft Windows Common Control 6.0,
como mostra a figura abaixo:

Na barra de componente, dê um duplo clique em ListView, como mostra a figura abaixo:

Selecione o ListView que acabou de inserir, vá em properties e renomeie para lstAgenda,


como mostra a figura abaixo:

www.geronetservices.com 34
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Clique em Custom, e, em Column Headers, crie 6 campos: Mês, Valor1, Valor2, Valor3,
Valor4 e Valor5, como mostra a figura abaixo:

Codifique o frmDados da seguinte forma:

Private Sub Form_Load()


Call montaLista
End Sub

Private Sub cmdExcel_Click()


Dim i, n, col, lin As Long
Dim objExcel As Excel.Application
Dim objWorkbook As Excel.Workbook

On Error Resume Next

Set objExcel = New Excel.Application


Set objExcel = GetObject(, "Excel.Application")
If Err.Number Then
Err.Clear
Set objExcel = CreateObject("Excel.Application")
If Err.Number Then
MsgBox "Não foi possivel abrir o Excel."
End If
End If
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add

rs.Open "select * from mes", cn, adOpenKeyset, adLockOptimistic


'--- conta as linhas ---

www.geronetservices.com 35
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Do While Not rs.EOF
lin = lin + 1
rs.MoveNext
Loop

'--- conta as colunas ---


col = rs.Fields.Count

For i = 0 To 0
For n = 0 To col - 1
objWorkbook.ActiveSheet.Cells(i + 1, n + 1).Value = rs.Fields(n).Name
Next
Next

rs.MoveFirst ' move para o primeiro registro


For i = 1 To lin
For n = 0 To col - 1
objWorkbook.ActiveSheet.Cells(i + 1, n + 1).Value = rs.Fields(n).Value
Next
rs.MoveNext
Next

rs.Close
Set objWorkbook = Nothing
Set objExcel = Nothing
End Sub

Private Sub cmdGrafico_Click()


frmGrafico.Show
End Sub

Private Sub cmdSair_Click()


Unload Me
End Sub

Private Sub montaLista()


Dim lst As ListItem
'Limpar Lista
ListView1.ListItems.Clear

'carregar a lista
With rs
.Open "select * from mes", cn, adOpenKeyset, adLockOptimistic

If .RecordCount = 0 Then
MsgBox "Não existe(m) dado(s) cadastrado(s) no sistema.", vbExclamation, "Erro"
Else
Do Until rs.EOF
Set lst = ListView1.ListItems.Add(, , rs("mes"))
lst.SubItems(1) = rs("Valor1")
lst.SubItems(2) = rs("Valor2")
lst.SubItems(3) = rs("Valor3")
lst.SubItems(4) = rs("Valor4")
lst.SubItems(5) = rs("Valor5")

www.geronetservices.com 36
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais

rs.MoveNext
Loop
End If
.Close
End With

'desmarca a lista
ListView1.SelectedItem.Selected = False
End Sub

Agrora modele o frmGrafico como mostra a figura abaixo:

Para inserir o Gráfico, na barra de componente, dê um duplo clique em MSChart, como


mostra a figura abaixo:

Codifique o frmGrafico da seguinte forma:

Private Sub Form_Load()


With MSChart1
rs.Open "select valor1, valor2, valor3, valor4, valor5 from mes", cn, adOpenKeyset,
adLockOptimistic
rs.MoveFirst

Set .DataSource = rs
.ShowLegend = True
rs.Close
End With
End Sub

www.geronetservices.com 37
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Private Sub cmdExcel_Click()
Dim i, n, col, lin As Long
Dim f, letras As String
Dim objExcel As Excel.Application
Dim objWorkbook As Excel.Workbook

On Error Resume Next

letras = "ABCDEFGHIJKLMNOPQRSTUVWXYZAAABAC
ADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUA
VAWAXAYAZBABBBCBDBEBFBGBH"

Set objExcel = New Excel.Application


Set objExcel = GetObject(, "Excel.Application")
If Err.Number Then
Err.Clear
Set objExcel = CreateObject("Excel.Application")
If Err.Number Then
MsgBox "Não foi possivel abrir o Excel."
End If
End If
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add

rs.Open "select * from mes", cn, adOpenKeyset, adLockOptimistic


'--- conta as linhas ---
Do While Not rs.EOF
lin = lin + 1
rs.MoveNext
Loop

'--- conta as colunas ---


col = rs.Fields.Count

For i = 0 To 0
For n = 0 To col - 1
objWorkbook.ActiveSheet.Cells(i + 1, n + 1).Value = rs.Fields(n).Name
Next
Next

rs.MoveFirst ' move para o primeiro registro


For i = 1 To lin
For n = 0 To col - 1
objWorkbook.ActiveSheet.Cells(i + 1, n + 1).Value = rs.Fields(n).Value
Next
rs.MoveNext
Next

If col <= 26 Then


f = Mid(letras, col, 1) & lin + 1
Else
f = Mid(letras, col, 2) & lin + 1
End If

'--- grafico ---

www.geronetservices.com 38
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
Range("A1:" & f).Select

objExcel.Charts.Add
objExcel.ActiveChart.ChartType = xlColumnClustered
objExcel.ActiveChart.HasDataTable = True
objExcel.ActiveChart.DataTable.ShowLegendKey = True

rs.Close
Set objWorkbook = Nothing
Set objExcel = Nothing
End Sub

Private Sub cmdSair_Click()


Unload Me
End Sub

Este nosso projecto chamar-se-á "Agenda" e tem como obectivo registar


dados dos nossos amigos, sendo o numero de acesso, chave principal,
ou primária, o numero do bilhete de identidade.

Para que possamos pessoalizar este projecto, teremos uma outra Tabela
onde iremos registar os nossos dados pessoais, cujo campo "name"
aparecerá em todas as janelas.

Data Control

Existem duas formas de trabalharmos com uma Base de Dados num


projecto em Visual Basic. Uma é usarmos o objecto Data Control,
existente na ToolBox (Imagem acima), outra é fazermos a abertura
"manual" da Base de Dados e das Tabelas.Existem vantagens e
desvantagens em cada um dos processos. Vamos tentar esquematizar
ambos os casos para uma compreensão mais facilitada.

Data Control - Vantagens:

• Escrever poucas linhas de código


• Rapidez de execução do processo
• Projectos pequenos

Data Control - Desvantagens:

• Não se pode adaptar a outro projecto


• Debug (testar projecto paço a paço) dificil

www.geronetservices.com 39
geromel@gmail.com
GERONET SERVICES
Cursos – Apostilas – Manuais – Tutoriais
• Dificuldades de modificação por outro programador

Abertura Manual - Vantagens:

• Total controlo sobre todos os aspectos do processo


• Melhor utilização em multiutilizador
• Código genérico reutilizavel em diferentes projectos
• Poder ser alterado por outro programador

Abertura Manual - Desvantagens:

• Todo o processo tem que ser escrito


• Exige maior responsabilidade do programador

Em face do exposto, nós optamos definitivamente pela abertura Manual.


Continuando com a análise do nosso projecto, iremos criar 3 janelas. A
1ª terá um menu e icons de modo a podermos terminar ou aceder ás
outras janelas com facilidade, e chamar-se-á FrmPrincipal. Teremos
uma janela para registar os nossos dados pessoais (FrmPessoal), e
uma outra para registar os dados dos nossos amigos(FrmAmigos).
Quando clicarmos em "Terminar" devemos, através de uma caixa de
diálogo, perguntar se queremos mesmo terminar, dando a opção de
cancelarmos a operação. Na janela de "Amigos" vamos utilizar 2 Frames.
Uma para sexo, com dois OptionButtons, e uma outra para Estado Civil
com seis OptionButtons, onde a propriedade Caption será alterada
para (Casado, Solteiro, Viuvo, Separado, Divorciado, Outra)

www.geronetservices.com 40
geromel@gmail.com

Você também pode gostar