Você está na página 1de 40

GERONET SERVICES

Cursos Apostilas Manuais Tutoriais


www.geronetservices.com
geromel@gmail.com
1



Apostila

De

VISUAL BASIC





Nelson Geromel




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



Sumrio

I. INTRODUO
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 CDIGO
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. VARIVEIS
XX. A INSTRUO IF
XXI. EXPRESSES E OPERADORES MATEMTICOS
XXII. MSGBOX
XXIII. INPUTBOX
XXIV. COMENTRIOS
XXV. LOOPS
XXVI. MENU EDITOR
XXVII. BANCO DE DADOS
XXVIII. ACTIVEX
XXIX. DISTRIBUINDO SUA APLICAO
XXX. ENDEREOS INTERNET







INTRODUO

O Visual Basic uma linguagem de programao para Windows, baseada em
eventos e em objetos. Gerando aplicativos cuja operao determinada pela
escolha de algum objeto grfico, que representa uma ao, por parte do usurio.
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
3
O Visual Basic permite criar aplicativos tanto para mquina 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 verso da linguagem
desenvolvida pela Microsoft Corporation, baseada na linguagem Basic.
O Visual Basic 6 vendido em trs verses: 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 dilogo New Project.
Solicitando que voc escolha um projeto.
D um clique no boto Abrir (Open) para aceitar o novo projeto padro
(Standard.EXE), um aplicativo padro do Visual Basic.

Dica: Se voc der um clique na opo DonT show this dialog Box in the future, o
Visual Basic no exibir a caixa de dilogo de abertura quando o Visual Basic for
iniciado.


O ambiente de programao do Visual Basic contm todas as ferramentas
necessrias para construir seus programas para Windows com rapidez e eficincia.

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


BARRA DE MENUS
A barra de menus proporciona acesso maioria dos comandos que controlam o
ambiente de programao. Os menus e comandos so convencionais, padro
Windows 9x.


Barra de menus


BARRA DE FERRAMENTAS
A barra de ferramentas est localizada abaixo da barra de menus. Com botes que
funcionam como atalhos para executar comandos e controlar o ambiente de
programao.


Barra de ferramentas







Adiciona um projeto padro. Clique na seta e voc ter outras opes
de projeto

Adiciona um novo formulrio. Clique na seta e voc ter acesso a
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
5
diversos tipos de formulrios.

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 transferncia

Localiza uma palavra no cdigo

Desfaz operaes

Refaz operaes

Executa aplicao

Pausa na execuo da aplicao

Finaliza a execuo da aplicao

Mostra a Janela de Projetos

Mostra a Janela de Propriedades

Mostra a Caixa de Layout do formulrio

Mostra o Object Browser

Mostra a Caixa de Controles


Dica: No Visual Basic, voc pode alinhar e acoplar, ou ancorar, as janelas para
tornar visveis e acessveis todos os elementos do sistema de programao.

CAIXA DE CONTROLE (TOOLBOX)
Contm ferramentas para inserir controle no seu formulrio.

A Caixa de Controle mostra inicialmente os controles padres do Visual Basic. Mas
voc pode inserir em sua Caixa de Controle diversos controles, chamados ActiveX.
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
6
Os controles padro so:


Ferramenta de seleo. Usada para dimensionar e mover controle.

PictureBox. Usada para mostrar imagens grficas.

Label. Usada para inserir texto. Que serve como rtulo.

TextBox. Usado para criar caixas de edio, onde usurio inseri texto.

Frame. Usado para criar uma moldura que agrupe controles.

CommandButton. Usado para desenha um boto que poder ser
acionado para iniciar um comando.

CheckBox. Usado para criar um boto de checagem.

OptionButton. Usado para criar um boto de opo. Em conjunto com
outros OptionButtons, o usurio pode escolher uma opo dentre
vrias.

ComboBox. Usado para desenhar uma lista de itens em uma caixa
combo. O usurio 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 usurio 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. Invisvel durante a
execuo da aplicao.

Drivelistbox. Usada para mostrar uma lista de drives.

Dirlistbox. Usada para mostrar uma lista de diretrios.

Filelistbox. Usada para mostrar uma lista de arquivos.

Shape. Usada para desenhar algumas figuras geomtricas.

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 aplicaes.


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







GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
7
A JANELA FORM
A janela Form sua principal rea de trabalho. A janela Form sustenta os objetos do
programa, tais como botes de comando, rtulos, 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 parea
pequena em relao ao resto da tela, ela representa todo o background do
aplicativo.

A JANELA FORM LAYOUT
Esta janela permite que voc posicione seu formulrio na tela, durante o projeto.
Quando voc clica sobre o formulrio mostrado na tela, o cursor muda de formato, e
voc pode move-lo na tela.






A JANELA DE PROPRIEDADES (PROPERTIES)
Properties (Propriedades) so informaes descritivas detalhadas sobre um
controle.


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


Quando um boto (Commandbutton) inserido no formulrio (Form) seu nome ser
Command1. O usurio ver este boto 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 prprio formulrio (Form).


A JANELA PROJECT EXPLORER
A janela Project Explorer, freqentemente chamada janela Project, oferece uma
viso 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 formulrios, mdulos (arquivos que contm o cdigo
de suporte para o aplicativo), classes (mdulos avanados) e aplicativo carregado.



A JANELA CDIGO
A cada formulrio est associada uma Janela de cdigo, que contm declaraes de
varveis, rotinas e funes referentes ao formulrio e controle inseridos dentro do
formulrio.

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

Janela de Cdigo

Na construo do cdigo associado ao formulrio, o Visual Basic utiliza a linguagem
Basic.
Todas as procedures do formulrio so mostradas na mesma Janela de Cdigo.
Para abrir a Janela de Cdigo use uma dessas formas:
Aps selecionar o formulrio, clique no cone ( ) da Janela de Projetos.
Clique duas vezes em cima do formulrio ou controle.
Tecle F7
Escolha a opo Code no menu View.
Clique com o boto direito do mouse sobre o objeto e escolha View Code.

EVENTOS
Os programas desenvolvidos em Visual Basic so orientados a eventos.
Eventos so aes geradas pelo usurio clicar o mouse, apertar uma tecla, etc. Os
eventos podem tambm ser gerados pelo prprio Windows. Existem eventos
associados ao formulrio, e cada controle inserido neste.

Alguns eventos comuns so:

Click Ocorre quando o boto do mouse clicado sobre uma
rea vazia ou sobre um controle que no est
habilitado.
Dblclick Ocorre quando o boto 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 formulrio carregado.
Lostfocus Ocorre quando um objeto perde o foco.
Mousedown Ocorre quando o usurio pressiona o boto do mouse.
Neste evento h identificao do boto pressionado
(esquerdo ou direito) e ainda identifica as teclas Shift,
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
10
Ctrl e Alt.
Mouseup Ocorre quando o usurio libera o boto 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 prtica.
Tenha em mente o seguinte:
1 Qualquer objeto (boto, caixa de texto, rtulo, etc) inserido no formulrio
(Form) deve ter uma utilidade.
2 Modifique nome, tamanho, cor, fonte dos objetos caso necessrio. Faa isso
na Janela Propriedades.
3 Somente inicie a construo do cdigo de seu programa aps ter todos os
objetos necessrios inseridos no formulrio (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 boto Abrir (Open) para aceitar o novo projeto padro
(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 rtulo.

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 boto pesquisar
Ser aberta a Janela de Cdigo.
Com o seguinte cdigo:

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

End Sub

Digite entre estas linhas o seguinte cdigo:

If txt1.Text = "a" Then
lbl1.Caption = "Primeira letra do alfabeto"
End If

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

Descrio do cdigo:
Se (If) o texto da caixa de texto(txt1.text) igual (=) a ento (Then)
o rtulo (lbl1) Capta (Caption) Primeira letra do alfabeto



Para rodar seu programa clique no boto ( ) Start.
Digite a letra a na caixa de texto e clique no boto Pesquisar.
Para finalizar o programa clique no boto ( ) End.

SALVE SEU PROJETO
Clique no boto ( ) Save Project
Escolha a pasta onde sero armazenados seus Projetos.
Salve o Form1 com o nome de MeuPrograma. D um clique no boto Salvar.
Project1 como MeuPrograma. D um clique em no boto Salvar

COMPILANDO SEU PROGRAMA
Para compilar seu programa e criar um executvel
Clique em File/ Make MeuPrograma.exe...
Escolha a pasta onde sero armazenados seus arquivos com extenso.EXE.
D um nome para o executvel (Ex: Dicionrio) e clique no boto OK.

Voc criou um pequeno dicionrio da lngua portuguesa. Bem pequeno para falar a
verdade, talvez voc queira criar um dicionrio completo. O primeiro passo j foi
dado, j mostrei como criar a interface, propriedades e o cdigo para primeira letra
do alfabeto, s falta mais 30.000 palavras. Mos a obra.

PREFIXOS
Use estes prefixos para os nomes de controle

Prefixo Controle Nome em Ingls
cbo Caixa combo Combo Box
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
12
chk Caixa de verificao Check Box
cmd Boto de comando Command button
dir Caixa de listagem de diretrios 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 Rtulo Label
lin Linha Line
lst Caixa de listagem List Box
mnu Menu Menu
ole Cliente OLE OLE client
opt Boto de opo 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 trs categorias: numrico, string e especial. Se voc quiser
trabalhar com um nmero, 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 vrias
categorias de tipos de dados especiais, como um item que representa um valor do
tipo caixa de verificao True ou False.
O Visual Basic oferece os seguintes tipos de dados:

Byte (byte): utilizado para criao de DLLs e para OLE. Ocupa de memria 1
byte.

Boolean (boleano): os valores que este tipo de dado poder ter so True ou False /
Yes ou No. Quando variveis do tipo numrico se convertem para booleanas,
tornam-se 0 se forem falsas e assumem qualquer outro valor para um resultado
verdadeiro. Quando a varivel booleana se converte para outro tipo, o False se torna
0, enquanto o True assume o valor de 1. Ocupa de memria 2 bytes.

Integer (inteiro): nmeros sem decimais, cujo intervalo de ocorrncia dever ser do
32.768 a 32.767. Ocupa na memria 2 bytes.

Long (inteiro longo): qualquer tamanho de nmeros sem decimais. Ocupa 4 bytes
de memria.

Single (simples): nmeros com at sete dgitos significativos. Ocupa 4 bytes de
memria.

GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
13
Double (duplos): nmeros com at quinze dgitos significativos. Ocupa 8 bytes de
memria.

Currency (monetrio): armazena nmeros com preciso de 15 casas esquerda do
ponto decimal, e quatro casas direita. Esse tipo de dado til para clculos que
envolvam dinheiro. Ocupa 8 bytes de memria.

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 memria.

Object (objeto): uma varivel declarada como object poder referir-se a qualquer
objeto criado pela aplicao. Ocupa na memria 4 bytes.

String (simples): Valores numricos que variam de 3,408823E+38 para
3,402823E+38. Varivel ou fixo. O tamanho que ocupa na memria: para string
varivel 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


VARIVEIS
Para declarar variveis, voc precisa dar a uma varivel tanto um nome quanto um
tipo. Os nomes de variveis podem ter at 40 caracteres, e precisam comear com
uma letra.
Determinado o nome da varivel, poder declarar seu tipo usando um sufixo.
Para que sua aplicao seja eficiente e clara, o mais indicado especificar o tipo da
varivel, pois do contrrio, a varivel ser vista pelo Visual Basic como do tipo
Varinat, e este tipo poder ocupar mais memria do que o necessrio.

Declarando com o Comando Dim
Veja a sintaxe:
Dim <nome da varivel> As <tipo da varivel>

Exemplo:
Dim Apostilas As String

Voc pode declarar sua varivel dentro de uma procedure, na seo General de um
formulrio, ou dentro de um arquivo mdulo.
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
14

Exemplo de uma varivel do tipo Integer dentro de uma procedure.
Private Sub Command1_Click()
Dim Apostilas As Integer
Apostilas = Val(txt1.Text)
End Sub

Atribuindo Valores
A atribuio de valores no Visual Basic feita com o sinal de igualdade =
O formato da atribuio de valores :
resultado = expresso

Exemplo:
Total = txt1 * txt2





Constantes
Utilizamos constantes para substituir no programa a apario freqente de valores,
que durante a execuo do aplicativo no sofrem alteraes. Uma constante poder
ser uma string, um valor numrico, outra constante, ou qualquer combinao que
inclua os operadores lgicos ou aritmticos.

Declarando Constante
Constantes podem ser declaradas dentro de uma procedure, no arquivo de mdulo
ou na seo General do formulrio.
A sintaxe para a declarao de constante :
Const nome_da_constante = valor

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


A INSTRUO IF
Talvez a mais importante instruo em um programa seja a instruo If. Seu
aplicativo pode analisar dados e tomar decises com base nessa anlise.
If utiliza os operadores de comparao. If realiza uma entre duas possveis aes do
cdigo, dependendo do resultado da comparao.
Se um teste comparativo for verdadeiro, o corpo de uma instruo If executado.
Eis um formato de If:
If testeComparativo Then
Uma ou mais instrues Visual Basic
End If

End If permite que o Visual Basic saiba onde o corpo de uma instruo If termina.
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
15
EXPRESSES E OPERADORES MATEMTICOS
Para poder calcular e atribuir resultados de uma expresso a variveis e quando
codificar declaraes que contm expresses voc deve aprender operadores
matemticos do Visual Basic.
Os principais operadores matemticos so:

Operador Descrio
+ Adiciona dois valores
- Subtrai um valor de outro
* Multiplica dois valores
/ Divide um valor por outro
^ Eleva o valor a uma potncia
& (ou +) Concatena dois strings

Exemplo:
Resultado = 6 / 3 + 5 + 4 * 2
O Visual Basic computa a diviso primeiro que aprece a esquerda da multiplicao.
Se a multiplicao aparecesse esquerda da diviso, o Visual Basic faria primeiro a
multiplicao. Depois o Visual Basic calcula a adio mostrando a resposta final, em
Resultado.


FUNO
Funo uma instruo que desempenha um trabalho importante (tal como solicitar
uma informao do usurio ou calcular uma equao) e ento retorna um resultado
ao programa.

MSGBOX
A funo MsgBox() s permite um dilogo restrito; voc coloca uma mensagem na
tela em uma janela, e o usurio fica restrito a comunicar-se de volta por meio de
botes.
Sintaxe:
Msgbox (mensagem, opes, ttulo, ar_ajuda, contexto).
Onde:
Mensagem: a mensagem que voc quer mostrar.
Opes: indica a soma dos valores escolhidos entre as tabelas abaixo:

Botes
0 Somente boto OK
1 Boto OK e Cancel
2 Botes Abort, Retry, Ignore
3 Botes yes, no, cancel
4 Botes yes, no
5 Botes Retry, Cancel




cones
16 Erro grave
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
16
32 Pergunta
48 Sinal de aviso
64 Informao

Boto Padro
0 Primeiro boto
1 Segundo boto
2 Terceiro boto

Por exemplo, se voc criar um quadro de dilogo contendo os botes Yes e No, o
cone de interrogao e com, o primeiro boto padro, o valor do argumento opes
seria 36:
4 + 32 + 0 = 36

Ttulo: a string que voc deseja posicionar na legenda da janela do quadro de
mensagem.

Arq_ajuda e contexto: s so usados se voc quiser associar o quadro de dilogo de
um arquivo de help.

Como MsgBox uma funo, voc deve associa-la a uma varivel de retorno. Os
valores de retorno de MsgBox() so:

1 Boto OK foi pressionado
2 Boto Cancel foi pressionado
3 Boto Abort foi pressionado
4 Boto Retry foi pressionado
5 Boto Ignore foi pressionado
6 Boto Yes foi pressionado
7 Boto No foi pressionado

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

Caso no haja valor de retorno para MsgBox, no necessrio colocar os
parnteses que contem os parmetros.
MsgBox passa a ser uma procedure, ao invs de uma funo.
Exemplo:
MsgBox Salvar o documento?, 36, Salvar

INPUTBOX
A funo InputBox fornece um quadro de dilogo padro, que permite entrada de
dados.
Sintaxe:
InputBox (mensagem, ttulo, default)
Onde:
mensagem: o texto que mostramos para indicar que tipo de entrada desejada;
ttulo: a legenda que queremos dar ao quadro de entrada;
default: o string que aprece no quadro de edio do quadro dilogo (caso o usurio
no faa nenhuma entrada);
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
17

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


COMENTRIOS
Os comentrios de instruo ajudam voc e outros programadores a modificar e
atualizar seus projetos ou programas Visual Basic. As vezes ser necessrio
retornar a seu projeto para modificar certas instrues no cdigo do programa. Se
voc programa para uma empresa, bem provvel que outras pessoas modifiquem
os programas que voc escreveu.
Ento nada melhor do que deixar uma pista de sobre determinadas instrues.
No Visual Basic utilizamos dois tipos de comentrios
Que comeam com a instruo Rem

Exemplo:
Rem este comando abre o formulrio vendas

Que comeam com o apstrofo ()

Exemplo:
este comando abre o formulrio vendas

Exemplo completo:

Private Sub Command1_Click()
' este comando abre o formulrio vendas
Form2.Show
End Sub

LOOPS
Um loop um conjunto de instrues de programa que executam repetidamente.
Loops desempenham um importante papel nos programas porque voc precisar s
vezes repetir sees de um programa para processar mltiplos valores de dados.

Loop Do While
Do While funciona com expresses de comparaes exatamente como uma
instruo 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.
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
18

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
boto OK para entrar no programa enquanto no loop (Do Until) caso voc digite
Fim na janela prompt e clique no boto OK o lao continuar.

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




Para criar um meu em seu formulrio:
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 identificao para o controle, no quadro Name;
Pressione Enter ou clique no boto Next para terminar o primeiro item e
passar para o prximo. Caso seja um subitem, clique sobre a seta para
direita, para dar uma endentao;
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
19
Entre com os demais itens. Se quiser incluir um separador entre os itens de
menu, digite um hfen(-) na caixa Caption;
Feche a janela de projeto de menu clicando no boto OK.

O menu inserido na parte superior de seu formulrio.



Para inserir o cdigo clique sobre o item de menu desejado e digite as instrues
necessrias.

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 aptido interna para exibir informaes de banco de dados.
Um objeto est limitado a um banco de dados quando sua propriedade DataSource
estiver definida com um nome vlido de banco de dados e sua DataField como uma
tabela vlida do banco de dados. possvel vincular o seu programa em Visual
Basic a um banco de dados por meio de um objeto dados. Depois que a conexo for
estabelecida, voc poder exibir informaes do banco de dados usando objetos
criados no formulrio.


Conexo
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




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





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 prprio 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 no contiver o controle de que voc precisa, voc
poder localizar um controle ActiveX que sirva aos seus propsitos 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 sero baseados em ActiveX. Na
verdade, todos os programas sero controles ActiveX.

Documentos ActiveX
Os documentos ActiveX so objetos difceis 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 no reconhecidas, palavras estrangeiras e algumas abreviaturas so
sublinhadas como possveis erros de digitao; e voc pode selecionar e formatar o
texto.
Quando um recipiente AvtiveX ativa um documento ActiveX, todos os controles
usuais do documento e suas caractersticas tornam-se disponveis.
Um documento Word um documento ActiveX.
O Internet Explorer um recipiente ActiveX.

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



Visual Basic ActiveX Document Migration Wizard
Inicie um no projeto (StandardEXE).
Iniciar/ Programas/Microsoft Visual Basic 6/ Visual Basic 6.
Insira em seu formulrio (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 boto cmd1 e digite o seguinte cdigo.
lbl1.Caption = "Visual Basic legal"

Cdigo completo
Private Sub cmd1_Click()
lbl1.Caption = "Visual Basic legal"
End Sub

Faa os testes necessrios clicando em Run/Start
Feche seu pequeno aplicativo.
Salve seu projeto clicando no boto ( ) 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 opes padro menos uma, escolha dll ao invs de exe e clique
em finalizar.
Feche a caixa de dilogo final.
Clique em File/ Save docForm1.dob.

Clique em File/Make Teste.dll.
Escolha o local e clique em OK.









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

Para testar, abra o Internet Explorer 4.0 ou superior (no funciona no Netscape).
Clique em Arquivo/ Abrir localize seu arquivo com extenso .vbd (docForm1.vbd)
clique em abrir.
Faa os testes necessrios.
Se o documento no abrir ou mostrar a caixa de dilogo Abrir como escolha o
programa Internet Explorer.
Este apenas um exemplo simples de documento ActiveX. O limite sua
criatividade e imaginao.

DISTRUINDO SUA APLICAO
A aplicao desenvolvida no Visual Basic poder ser distribuda em discos, CDs,
rede ou Internet, que podero ser instalados em seu cliente. No basta, porm, dar o
arquivo executvel de sua aplicao para o cliente.
Inmeros outros arquivos so necessrios.

Para facilitar a distribuio do aplicativo, o Visual Basic oferece utilitrio Package
and Deployment Wizard, que cria os disco que contero todos os arquivos
necessrios para a instalao de seu aplicativo no cliente.

Com este utilitrio voc poder:
Recompilar automaticamente o arquivo .EXE;
Comprimir arquivos e distribu-los em disquetes;
Ser avisado da necessidade de certos arquivos para que sua aplicao
funcione;
Ser notificado sobre o nmero de disquetes necessrios para distribuir sua
aplicao nos discos de instalao.

Para usar o Package and Deployment Wizard no grupo de programas do Visual
Basic, selecione a opo Package and Deployment Wizard.

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

Selecione o projeto que ser distribudo, e a forma de distribuio.
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 faro 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 execuo do programa de
instalao, 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 sero compartilhados e clique em Next.
Digite um nome para o script, e clique em Finish.
Os arquivos CAB so criados.

O que so winforms?
Tipo de aplicao para desenvolvimento de aplicaes 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 no o VB.net e sim o tipo de aplicao
windows (winforms).
Dentro da plataforma .net, a linguagem de programao independente do tipo de
aplicao, ou seja podemos desenvolver para winforms com VB.NET, C#, J#, etc.
Linguagem Tipo de Aplicao
VB.NET
C#
J#
Cobol.Net
Asp.net (Web)
Winforms (Windows)
WebService
Na prtica (figura 1), quando vamos criar uma aplicao selecionamos primeiro a
linguagem a ser utilizada, na seqncia o Template (Tipo de aplicao), o nome e a
localizao.
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
24

Figura 1 - Criando um novo projeto.
Comparaes (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 "artifcios" de
programao;
O Visual Basic se torna uma linguagem de programao ainda mais poderosa e flexvel;
O Visual Basic no foi melhorado e sim totalmente refeito.
Diferenas
Tipos de dados
Converses implcitas
Sintaxe de linguagem
Comportamento
Arrays
Fortemente tipado
Tipos comuns ao .Net Framework
O tipo de dados universal, passa a ser Object ao invs 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
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
25
Currency no existe mais, substitudo pelo Decimal;
Datas no so mais armazenadas como Double.
String
Todas as strings so de tamanho varivel;
No mais possvel declarar o tamanho de uma varivel do tipo String.
Algumas vantagens
Orientado a Objetos
-Passa a suportar herana de classes geradas no s em VB.net;
-Pode acrescentar funcionalidades da classe base (sobreposio de mtodos).
Construtores e Destrutores
-Construtores so utilizados para incializar uma classe. Uma classe pode ter vrios
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 prprio formulrio e no em uma janela separada.

Herana Visual
Tanto formulrios como controles, podem ser extendidos atravs de herana;
Desta forma torna-se bastante simples a definio de interfaces grficas padronizadas
aumentando o reaproveitamento de cdigo e a produtividade dos desenvolvedores.
Tratamento de erros
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
26
Utilizao de blocos TryCatchFinally;
Mais fcil de utilizar, mais robusto, mais abrangente;
On Error ainda mantido como forma de tratamento no estruturado.
Visual Studio .NET
Ferramenta de alta produtividade para equipes de desenvolvimento para aplicaes
corporativas e Web
Mais produtiva ferramenta para a criao de servios 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?
Aplicaes com processamento pesado;
Aplicaes com interfaces mais ricas;
Aplicaes com controles mais personalizveis.
Comparao: WINFORMS COM WEBFORMS (Asp.net)
As aplicaes winforms gastam um processamento no cliente, enquanto na web gastam
mais no servidor;
As aplicaes mais pesadas com longo processamento em aplicaes web no so
eficientes;
Distribuio
A distribuio de aplicaes windows um problema a muitos anos, porm no .NET isso
melhorou muito. Como:
- XCOPY: Uma aplicao que no possui componentes (DLLS) simplesmente pode ter o
seu executvel copiado para uma mquina com o framework instalado
- Setup: Caso a aplicao possua DDLS sendo utilizada, o setup ainda uma boa forma
de distribuio
- Smart Client: Uma revoluo na distribuio de aplicaes
Smart Client
Vantagens
- Distribuio pela Web
- Interface rica, sem miutos problemas com segurana
- Poder trabalhar off-line, quando possvel
- Bom uso da banda
- Utilizao de WebService

Conexo com Banco de Dados
conexo com banco de dados, usado amplamente no dia-a-dia do programador. Sero
usados nesta e nas prximas colunas os bancos ACCESS 2000/97, MS-SQL Server e
MYSQL. O tipo de conexo a ser utilizada ser a string para conexo ADO.
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
27
Para exemplificar esses trs tipos de conexo, vamos criar uma aplicao simples de
Agenda Telefnica.
Nesta primeira parte vamos usar o banco ACCESS. Crie um banco com o nome de
agenda.mdb e com as seguintes caractersticas:
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 Mdulo com o nome de modCnn, como mostra a figura abaixo:

Agora vamos criar dentro do Mdulo o cdigo de conexo com o banco, e as rotinas de
Incluso, Consulta, Alterao e Excluso como mostra as linhas abaixo:
Option Explicit
Global cn As ADODB.Connection
Global rs As ADODB.Recordset
Conexo:
Private Sub Main()
Dim strArquivo As String
Dim strLocal As String
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
28
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 Incluso:
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 Alterao:
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 "Cdigo Invlido", vbExclamation, "Erro"
Else
frmAgenda.lblCod = !codigo
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
29
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 Excluso:
Public Function Excluir(ByVal intCodigo As Integer) As Variant
cn.Execute "delete * from pessoal where codigo=" & intCodigo & ""
Excluir = True
End Function
Para esse cdigo que acabamos de digitar tenha efeito necessrio fazer uma referncia
ao ADO. Ento clique em Project/References... e escolha a opo "Micrisoft ActiveX Data
objects 2.6 Library", como mostra a figura abaixo:"

Obs.: As verses 2.5 e 2.6 do ADO so para ACCESS 2000 e a verso 2.1 para ACCESS
97.
Voltando ao form frmAgenda modele-o como mostra a figura abaixo:
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
30

E o cdigo desse form vai ficar dessa forma:
Boto 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 atualizao.", vbCritical
End If
End Sub
Boto Consultar:
Private Sub cmdConsultar_Click()
Dim intCodigo As Integer
intCodigo = InputBox("Digite o Cdigo", "Consulta")
Consultar (intCodigo)
End Sub
Boto Excluir:
Private Sub cmdExcluir_Click()
Dim excluido As Variant

excluido = Excluir(lblCod.Caption)
If excluido = True Then
Call limpar
Else
MsgBox "Erro na excluiso.", vbCritical
End If
End Sub
Boto Incluir:
Private Sub cmdIncluir_Click()
Dim novo As Variant

novo = Inserir(txtNome.Text, txtEnd.Text, txtFone.Text)
If novo = True Then
Call limpar
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
31
Else
MsgBox "Erro na incluiso.", vbCritical
End If
End Sub
Funo limpar:
Private Sub limpar()
lblCod.Caption = ""
txtNome.Text = ""
txtEnd.Text = ""
txtFone.Text = ""
End Sub
Boto 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.
Estatstica e Visual Basic

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

Remonei o Form2 para frmGrafico.
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
32
Insira um Mdulo com o nome de modCnn, como mostra a figura abaixo:

Crie dentro do Mdulo, o cdigo de conexo 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 & ";" & _
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
33
"DefaultDir=" & strLocal & ";" & _
"Uid=Admin;Pwd=;"
cn.Open Conecta
Load frmDados
frmDados.Show
End Sub
Para este exemplo, preciso fazer referncia ao ADO para usar a conexo 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:

GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
34
Para incluir o ListView e o Chart(Grfico), 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:

GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
35
Clique em Custom, e, em Column Headers, crie 6 campos: Ms, 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 "No 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 ---
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
36
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 "No 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")
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
37

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 Grfico, 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
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
38
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 "No 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 ---
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
39
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 primria, 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 compreenso mais facilitada.
Data Control - Vantagens:
Escrever poucas linhas de cdigo
Rapidez de execuo do processo
Projectos pequenos
Data Control - Desvantagens:
No se pode adaptar a outro projecto
Debug (testar projecto pao a pao) dificil
GERONET SERVICES
Cursos Apostilas Manuais Tutoriais
www.geronetservices.com
geromel@gmail.com
40
Dificuldades de modificao por outro programador
Abertura Manual - Vantagens:
Total controlo sobre todos os aspectos do processo
Melhor utilizao em multiutilizador
Cdigo genrico 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, ns optamos definitivamente pela abertura Manual.
Continuando com a anlise 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, atravs de uma caixa de
dilogo, perguntar se queremos mesmo terminar, dando a opo de
cancelarmos a operao. 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)

Você também pode gostar