Você está na página 1de 35

Centro de Computao

Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 4: Calculadora

Resoluo do Exerccio:

Fazer uma calculadora que tenha as seguintes operaes: soma,


subtrao, diviso e multiplicao.

Tela do Exerccio.
Private Sub cmdcalcular_Click()
If OptSoma.Value = True Then
txtresult = Val(txtprim_num) + Val(txtseg_num)
ElseIf OptSub.Value = True Then
txtresult = Val(txtprim_num) - Val(txtseg_num)
ElseIf OptMult.Value = True Then
txtresult = Val(txtprim_num) * Val(txtseg_num)
ElseIf OptDiv.Value = True Then
If Val(txtseg_num) <> 0 Then
txtresult = Val(txtprim_num) / Val(txtseg_num)
Else
MsgBox "Diviso por Zero!"
End If
End If
End Sub

Form
Caption =Formulrio do Exerccio
Name = Frmexerc
TextBox
Name = txtresult
Text = (BRANCO)
HScrollBar
Name = hScrPrim_valor
LargeChange = 10
Max = 1000
CommandButton
Caption = &Calcular
Name = cmdcalcular
OptionButton
Caption = Subtrao
Name = OptSub
OptionButton
Caption = Diviso
Name = OptDiv
TextBox
Name = txtprim_num
Text = (BRANCO)
Label
AutoSize = True
Caption = Resultado da Operao:
Name = lblresult

Frame
Caption = Operaes
Name = Frame2
TextBox
Name = txtseg_num
Text = (BRANCO)
HScrollBar
LargeChange = 10
Max = 1000
Name = HScrSeg_valor
CommandButton
Caption = &Sair
Name = cmdsair
OptionButton
Caption = Soma
Name = OptSoma
OptionButton
Caption = Multiplicao
Name = OptMult
Label
AutoSize = True
Caption = Primeiro Valor:
Name = lblprim_valor
Label
AutoSize = True
Caption = Segundo Valor:
Name = lblseg_valor

Private Sub hScrPrim_valor_Change()


txtprim_num = hScrPrim_valor.Value
End Sub

Private Sub cmdsair_Click()


End
End Sub

Private Sub hScrPrim_valor_Scroll()


txtprim_num = hScrPrim_valor.Value
End Sub
Private Sub HScrSeg_valor_Change()
txtseg_num = HScrSeg_valor.Value
End Sub

Private Sub HScrSeg_valor_Scroll()


txtseg_num = HScrSeg_valor.Value
End Sub

Visual Basic 5.0

39

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Criando Efeitos Especiais em Forms

NOTAS:

No VB, existem controles que permite a criao de imagens


geomtricas.

Teste!
Crie um novo Project (A partir do menu File, escolha a opo New
Project). No formulrio, desenhe os controles Line, Shape e modifique
suas propriedades.

Controle Line usado para criar uma linha em seu


formulrio (form). Suas propriedades mais importantes so:
BorderWidth, BorderStyle, BorderColor, Visible.
Controle Shape usado para desenhar uma figura
geomtrica em seu formulrio (form). possvel selecionar o formato
dessa figura. Os formatos so: retngulo, retngulo arredondado,
quadrado, quadrado arredondado, oval, circular.
Suas principais propriedades so:
FillColor: permite definir a cor do objeto. (Preenchimento)
FillStyle: permite definir o padro do preenchimento.
Visible: permite que voc oculte ou exiba seu objeto.

Visual Basic 5.0

40

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Funes do Mouse

NOTAS:

O VB permite que voc utilize o controle Image para criar botes


de comando no estilo da barra de ferramentas em seus programas.
Para criar esses botes, pode-se usar os seguintes eventos:
MouseDown: este evento detecta o pressionar do mouse.
MouseMove: detecta qualquer movimento com o mouse.
MouseUp: detecta quando o usurio libera o boto do mouse.

Para criarmos esses tipos de botes, estaremos trabalhando com o


controle Image Box que mostrar a imagem correspondente a ao
que voc tomou. Por exemplo, se voc pressionou o boto, aparecer a
imagem do boto pressionado.
possvel alterar os estados dos botes atravs da procedure de
evento MouseDown, por exemplo.

Os botes possuem trs estados:


No pressionado - esse o estado normal do boto. No est
selecionado.
Pressionado - esse o estado do boto que est selecionado ou
est ativo.
Desativado - o estado utilizado quando um boto no est
disponvel para o programa.
Mais algumas propriedades da Caixa Texto
FontBold: define se o texto da caixa de texto deve ser negrito ou
no. Valor que recebe True se for configurar o texto para negrito e
False, caso contrrio.
FontItalic: define se o texto da caixa de texto deve ser itlico ou
no. Valor que recebe True se for configurar o texto para itlico e
False, caso contrrio.
FontUnderline: define se o texto da caixa de texto deve ser
sublinhado ou no. Valor que recebe True se for configurar o texto
para sublinhado e False caso contrrio.
Image Box
Tag: utiliza-se esta propriedade para identificar um objeto. No
prximo exerccio, esta propriedade ser utilizada para identificar o
status do boto.

Visual Basic 5.0

41

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Resoluo do Exerccio:
Exerccio 5: Criando botes Grficos
Faa um programa que permita que o usurio digite seu texto
numa caixa de texto e formate-o (Negrito, Itlico e Sublinhado) da
maneira que desejar.

Form
Caption = Formulrio
para Exerccio
Name = frmexerc
TextBox
MultiLine = True
Name = txttexto

Image
Name = Image3
Picture = ...\ulin-up.bmp

Tag = Para cima


Visible = False
Image
Name = Image6
Picture = ...\ulin-dwn.bmp

Tag = Para baixo


Visible = False
Image
Picture =
Tag = Para cima
Name = Image9

Tela do Exerccio

Label
AutoSize = 'True
Caption = Clique nos botes para formatar o
texto.
Name = Label1
Image
Image
Name = Image2
Name = Image1
Picture = ...\bld-up.bmp
Picture = ...\itl-up.bmp
Tag = Para cima
Tag = Para cima
Visible = False
Visible = False
Image
Image
Name = Image5
Name = Image4
Picture = ...\bld-dwn.bmp

Tag = Para baixo


Visible = False
Image
Picture=
Tag = Para cima
Name = Image7

Picture =...\itl-dwn.bmp

Tag = Para baixo


Visible = False
Image
Picture =
Tag = Para cima
Name = Image8

CommandButton
Caption = &Sair
Name = cmdsair

Private Sub Image7_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Image7.Tag = "Para cima" Then


Image7.Picture = Image4.Picture
txttexto.FontBold = True
Private Sub Image9_ MouseDown(Button As Integer,
Image7.Tag = "Para baixo"
Shift As Integer, X As Single, Y As Single)
Else
If Image9.Tag = "Para cima" Then
Image7.Picture = Image1.Picture
Image9.Picture = Image6.Picture
txttexto.FontBold = False
txttexto.FontUnderline = True
Image7.Tag = "Para cima"
Image9.Tag = "Para baixo"
End If
Else
End Sub
Image9.Picture = Image3.Picture
txttexto.FontUnderline = False
Image9.Tag = "Para cima"
End If
End Sub

Private Sub Image8_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Image8.Tag = "Para cima" Then


Image8.Picture = Image5.Picture
txttexto.FontItalic = True
Image8.Tag = "Para baixo"
Else
Image8.Picture = Image2.Picture
txttexto.FontItalic = False
Image8.Tag = "Para cima"
End If
End Sub

Visual Basic 5.0

42

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Arrastar-e-Soltar (Drag and Drop)

NOTAS:

Em aplicaes desenvolvidas em Visual Basic, voc pode


utilizar muitos recursos para facilitar e agradar o usurio. Uma
dessas caractersticas do VB, o Drag-and-Drop que permite que o
usurio arraste um objeto at outro e solte-o.

Se voc configurar a propriedade DragMode do objeto para


Manual, para iniciar e terminar a ao de arrastar-e-soltar, ser
preciso programar o mtodo Drag.
Os valores aceitos por este mtodo :

Usando as propriedades, eventos e mtodos que o VB possui,


voc pode especificar como esse recurso deve se comportar em sua
aplicao.

Constante
VbCancel
VbBeginDrag
VbEndGrag

Propriedades

Eventos

Mtodos

DragMode

Permite que seu objeto seja


arrastado automaticamente
ou manualmente

DragIcon

Especifica qual o cone que


deve ser mostrado quando o
objeto arrastado.

DragDrop

Reconhece
quando
um
controle solto em outro
objeto.

DragOver

Reconhece
quando
um
controle arrastado em cima
de outro.

Drag

Inicia ou termina a ao de
arrastar manualmente.

Valor
0
1
2

Ao
Cancela a operao Drag-and-Drop
Inicia a operao de arrastar.
Termina a operao para arrastar e
solta o objeto.

Evento DragDrop()
Este evento possui 3 argumentos:
Source: que identifica o objeto que voc esta arrastando. Voc
pode utilizar esse argumento com mtodos e propriedades. Por
exemplo: source.visible = false.
X, Y: que so coordenadas. X a coordenada horizontal e Y
a coordenada vertical.

Voc pode configurar a propriedade DragMode de seu objeto


para 1 (que permite que o objeto seja arrastado).

Visual Basic 5.0

43

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 6: Teste Arrastar-e-Soltar

Resoluo do Exerccio:

Fazer um programa para testar o Arratar-e-Soltar no VB. Esse


programa deve permitir que voc arraste os objetos para a lata de lixo
e depois coloque fogo.

Form
Name = FormDrag_Drop
Caption = Teste Arrastar-e-Soltar
Image
Name = Image6
Picture = ..\trash02b.ico
Stretch = True
Visible = False

Tela do exerccio.

Image
Name = Image3
DragIcon = ..\fire.ico
DragMode = Automatic
Picture = ..\fire.ico
Stretch = True
Tag = Fogo

Image
Name = Image5
Picture = ..\trash02a.ico
Stretch = True
Image
Name = Image4
DragIcon = ..\point11.ico
DragMode = Automatic
Picture = ...\point11.ico
Stretch = True
Image
Name= Image2
DragIcon = ..\gaspump.ico
DragMode = Automatic
Picture = ..\gaspump.ico
Stretch = True

Private Sub Image5_DragDrop(Source As Control, X As Single, Y As Single)

Source.Visible = False
If Source.Tag = "Fogo" Then
Image5.Picture = Image6.Picture
End If
End Sub

Visual Basic 5.0

44

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

NOTAS:
CommonDialog
Esse objeto permite exibir cinco caixas de dilogo nos padres do
Windows.
Apenas uma caixa de dilogo pode ser exibida a partir de um
objeto Common Dialog.
Para exibir uma determinada caixa de dilogo, deve ser utilizado o
mtodo correspondente caixa desejada.
Os contedos das caixas so controlados atravs de suas
propriedades, ou seja, quando uma caixa preenchida, os resultados
so apresentados por suas propriedades.

Um objeto CommonDialog no visvel ao usurio em tempo de


execuo do programa.
Propriedades correspondentes CommonDialog Abrir:
Filter: define quais os tipos de arquivos devero ser exibidos.
Por exemplo:
commondialog1.filter = Bitmaps (*.BMP) | *.BMP |Metafiles (*.WMF) | *.WMF

Filename: define o nome do arquivo selecionado.


Propriedades correspondentes CommonDialog Color:

Caixas de Dilogo e sua utilizao:


Abrir: para abrir um arquivo.
Mtodo correspondente: ShowOpen
Salvar Como: para salvar um arquivo.
Mtodo correspondente: ShowSave
Imprimir: para definir as opes de impresso.
Mtodo correspondente: ShowPrinter
Fonte: para definir uma fonte e um estilo para textos.
Mtodo correspondente: ShowFont
Cor: para escolher uma nova cor da paleta.
Mtodo correspondente: ShowColor

Flags: define qual o tipo da caixa Color dever ser exibida. Os


Flags podem ser:
&H1&: Exibe a CommonDialog Cor padro, com as cores
personalizadas como opo.
&H2&: Exibe a paleta padro e a personalizada.
&H4&: Exibe a paleta padro com o boto de Cores
Personalizadas desabilitado.
&H8&: Exibe o boto de ajuda na CommonDialog Cor.
Color: esta propriedade utilizada para configurar a cor dos
objetos do VB que suportam cor. possvel modificar a cor do fundo
de um formulrio, as cores das formas no formulrio e as cores de
fundo dos objetos.

Visual Basic 5.0

45

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

A guia Images a parte principal para a criao da lista de


imagens, pois nela que se encontram as propriedades para insero
da imagem na lista.

Controle ImageList
O controle ImageList utilizado para armazenar uma lista de
imagens para serem utilizadas nas barras de ferramentas, animaes e
aplicativos. Cada ImageList responsvel pela criao de apenas uma
lista de imagens.
Sua capacidade limitada pela mmoria de seu micro.

Propriedades:
Current Image:
Index: ndica da imagem inserida no vetor da lista das
imagens.
Key/Tag: palavra-chave utilizada para fazer referencia a
imagem.
Images
Mostra todas as imagens inseridas na lista na ordem em que
foram inseridas.
Image Count: exibe o nmero de imagens inseridas na lista
Para inserir um imagem Lista:
Utilize o boto Insert Picture, escolha a imagem e clique no
boto Open.
Para remover uma imagem da lista:
Selecione a imagem desejada e clique o boto Remove
Picture.

NOTAS:
Pgina de Propriedades.
Para exibir a Pgina de Propriedades do ImageList, selecione o
objeto no formulrio, clique-o com o boto direito do mouse e escolha
a opo propriedades.

Visual Basic 5.0

46

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Controle Toolbar
Este controle utilizado para criar barras de ferramentas padro
do Windows 95.

Key/Tag: texto para identificao do boto.


Value: define se deve estar pressionado ou no pressionado.
Style: estilo no qual o boto deve ser mostrado.
ToolTipText: texto explicativo sobre o boto que deve
aparecer para o usurio.
Image: se a ToolBar estiver associada uma ImageList, voce
pode utilizar uma imagem da lista de imagem atravs seu index.
Para inserir um novo boto, utilize:
Boto Insert Button.
Para excluir um boto da ToolBar:
Utilize o boto Remove Button.

NOTAS:

Pgina de Propriedades.
Para exibir a Pgina de Propriedades do ToolBar, selecione o
objeto no formulrio, clique-o com o boto direito do mouse e escolha
a opo Propriedades.
Na guia Buttons, principais propriedades:
Index: ndice do boto na barra de ferramentas.
Caption: texto que deve aparecer para descrever o boto.
Description: descrio da funo do boto.

Visual Basic 5.0

47

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 7: Utilizando as Common Dialog


Fazer uma aplicao que permita a abertura de imagens e a
configurao do ambiente de trabalho pelo usurio (cores do
Formulrio). Deve tambem limpar a tela da Imagem quando o usurio
desejar.

Resoluo do Exerccio:
Form
Name = Form1
Caption = Abrindo Figuras
ToolBar
Name = Toolbar1
CommonDialog
Name = CommonDialog1

Imagem Box
Name = Image1
Image List
Name = ImageList1

Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button)

Select Case Button.Key


Case "Abrir"
CommonDialog1.Filter = "Metafiles (*.WMF) | *.WMF |Bitmaps (*.BMP) | *.BMP _ |JPEG
(*.JPG) | *.JPG"

Tela do exerccio em tempo de Design.

CommonDialog1.ShowOpen
If CommonDialog1.CancelError <> True Then
Image1.Picture = LoadPicture(CommonDialog1.filename)
End If
Case "Color"
CommonDialog1.Flags = &H8&
CommonDialog1.ShowColor
If CommonDialog1.CancelError <> True Then
Form1.BackColor = CommonDialog1.Color
End If
Case "Fechar"
Image1.Picture = LoadPicture()
Case "Sair"
End
End Select
End Sub

Visual Basic 5.0

48

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Acesso ao Sistema de Arquivos

NOTAS:

O VB possui controles que permitem o acesso ao seu sistema de


arquivos, ou seja, so controles que permitem fazer a pesquisa em
diretrios e drives e a seleo de arquivos.
Os controles so:
Controle DriveList: permite a pesquisa dos drives
vlidos em seu sistema.
Controle DirListBox: permite a pesquisa em pastas
(diretrios) existentes no drive selecionado.

Controle FileListBox: permite a seleo de um


arquivo especfico em uma pasta (diretrio).

Eventos mais utilizados:


Para DirListBox
Change() modifica o diretrio selecionado. Ocorre quando o
usurio d um duplo clique em um novo diretrio ou quando voc
muda a propriedade Path atravs de cdigo de programao.
Para DriveList
Change() Modifica o drive selecionado. Ocorre quando o
usurio seleciona um novo diretrio ou quando voc muda a
propriedade Drive atravs de programao.
Para FileListBox
Click: Ocorre quando o usurio pressiona o boto do mouse
em um objeto. Pode tambm ocorrer quando o valor de um controle
(objeto) mudado.

Trabalhando com as Propriedades:

Outras propriedades do FileListBox

Existem propriedades que no podem ser configuradas em tempo


de design do programa, ou seja, no possvel configur-las
utilizando a janela Properties (Janela de Propriedades). Elas s podem
ser configuradas em tempo do execuo:
Drive: recebe a letra do drive selecionado (utilizado pelo
controle DriveListBox).
Path: recebe o nome do diretrio selecionado (utilizado pelos
controles DirectoryListBox e FileListBox).
FileName: quando um nome de arquivo selecionado, o VB o
coloca nesta propriedade (utilizado pelo controle FileListBox).

Archive: define se os arquivos do tipo Archive devem ser listados pelo


controle.
Hidden: define se os arquivos do tipo Hidden devem ser listados pelo controle.
Normal: define se os arquivos do tipo Normal devem ser listados pelo controle.
System: define se os arquivos do tipo System devem ser listados pelo controle.

Estas propriedades recebem apenas valores True/False. As


propriedades Archive e Normal, por default, tem o valor True.
]
Utilize a propriedade Pattern da FileListBox para definir quais os
tipos de arquivos que poder ser selecionados.
Para especificar mais de um arquivo, utilize a seguinte sintaxe:
*.bmp;*.wmf;*.ico (sem espaamento entre os ponto-e-vrgula).

Visual Basic 5.0

49

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Resoluo do Exerccio:

Exerccio 8: Programa para


Procura de Arquivos
Fazer um programa que permita a abertura de imagens
.WMF, .ICO, .BMP, .JPG, .GIF. Utilize, para isso, os objetos
DriveList, DirListBox e FileListBox.

Form
Caption = Procura de Arquivos
Name = frmprocura
DriveList
Name = drive1

FileListBox
Name = arquivos
Pattern = *.bmp;*.wmf;*.ico
Image Box
Name = imagem
Stretch = True

Command
Caption = &Sair
Name = cmdsair
Command
Caption = Mostrar Figura
Enabled = False
Name = cmdfigura
DirListBox
Name = diretorios

Private Sub drive1_Change()


diretorios.Path = drive1.drive
End Sub
Private Sub diretorios_Change()
arquivos.Path = diretorios.Path
End Sub
Tela do Exerccio.

Private Sub arquivos_Click()


cmdfigura.Enabled = True
End Sub
Private Sub cmdfigura_Click() ou Private Sub arquivos_Click()
imagem.Picture=LoadPicture(arquivos.Path & "\" & arquivos.filename)

End Sub
Private Sub cmdsair_Click()
End
End Sub

Visual Basic 5.0

50

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Formulrios MDI (Multiple Document Interface)


A Interface para Multiplos Documentos uma caracterstica muito
marcante na programao em ambiente Windows. Esses tipos de
Formulrios criam uma relao hierrquia entre um formulrio (que
o Formulrio MDI-pai) e os outros (que so os formulrios CHILD).
Esses programas so como o Word, que permite que vrios
documentos sejam abertos simultaneamente.
Caractersticas do Formulrios MDI
Um Formulrio Child sempre exibido na rea interna do
formulrio MDI-pai. No possvel mostr-lo fora desta rea.
Quando esse formulrio minimizado, seu cone aparecer no
Formulrio MDI-pai e no como um boto na barra de tarefas.
Quando o Formulrio MDI-pai minimizado, todas as janelas
existentes nele so minimizadas e so exibidas como um boto na
barra de tarefas.
As barras de menus dos formulrios Child so exibidos na barra de
menus do formulrio MDI-pai.

NOTAS:
Para criar uma aplicao MDI:
1.
Crie um novo Project
2.
A partir do Menu Project, escolha a opo Add MDI
Form.
Assim, voc criou um formulrio-pai. Para criar formulriosfilhos, voc precisa:
1.
A partir do menu Project, escolha a opo Add Form.
Nas propriedades do Formulrio-filho, configura a propriedade
MDI Child para True.
Para exibir todos os formulrios Child do seu Project num
Formulrio MDI-pai, configure a propriedade AutoShow (do
formulrio MDI-pai) para True.
Em formulrios do tipo MDI, no possvel desenhar controles
que no possuam a propriedade Align. Para desenhar objetos que
no possuam esta propriedade, desenhe um controle Picture no
formulrio e depois, dentro dele, desenhe os demais controles.
Exemplo:

Visual Basic 5.0

51

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 9: Crie um programa MDI

Resoluo do Exerccio:

Crie um novo Project. Neste Project, crie um formulrio-pai e


trs formulrios-filhos.

MDIForm
Caption = Controle de Estoque
WindowState = Maximized
Name = MDIControl_est
Form
Caption = Formulrio para Incluso
MDIChild = True
Name = FrmIncluso
Form
Caption = Formulrio para Alterao/Excluso
MDIChild = True
Name = FrmAlt_Excl
Form
Caption = Formulrio para Consulta
MDIChild = True
Name = FrmConsulta

Tela do Exerccio

Visual Basic 5.0

52

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

NOTAS:

Trabalhando com Menus


O VB possui uma ferramenta para a construo de menus: o
Menu Editor . Utilize-o para criar menus customizados em sua
aplicao.
Para construir um menu
Selecione um formulrio e a partir do menu Tools, escolha a
opo Menu Editor.

Cada item do seu Menu um objeto. Os itens so inseridos de


forma hierrquica.
Caption: Caixa de texto no qual voc deve inserir o nome do
menu que aparecer na barra de menu.
Para criar uma barra para separadorar no menu, digite apenas
um hfen.
Para permitir o acesso ao menu pelo teclado, antes da letra, digite
um &. Quando voc estiver executando a aplicao, a letra estar
sublinhada e o usurio pode acessar o menu pressionando ALT + a
letra sublinhada.
Se voc precisar de um & ( e comercial) em seu menu, digite
duas vezes o smbolo no Caption.
Name: Caixa de texto na qual voc deve inserir um nome para o
objeto. Esse nome s ser usado em programao, para se referir ao
item do menu. No aparecein no menu.
Index: Nesta caixa de texto voc define um valor numrico que
determina a posio do controle com o vetor. Esta posio no
relativa a posio da tela.

Quando os Menus so criados, vo


aparecendo nesta caixa na ordem
hierrquica em que foram criados.

Janela do Menu Editor

Shortcut: neste item voc define uma tecla de atalho para o seu
menu.
HelpContextID: Nesta caixa de texto voc define um valor
numrico para o Context ID que usado para encontrar o tpico
apropriado no arquivo de Help identificado pela propriedade HelpFile.
NegotiatePosition: neste item, voc pode determinar se e como o
menu aparecer em determinado formulrio.

Visual Basic 5.0

53

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Para construir um menu (continuao)


NOTAS:
Checked: define se deve ou no aparecer um check inicialmente
do lado esquerdo do item do menu.

Para trabalhar com formulrios em menus, preciso utilizar


alguns mtodos para visualizao:

Enabled: define se este menu deve ou no estar abilitado.


O mtodo Show utilizado para visualizar um Form.
<nome do formulrio>.Show

Visible: define se o item do menu deve estar visvel ou no.


Use estes botes para mudar de nvel em um menu do
mais alto at o mais baixo. Voc pode criar at 4 nveis de submenus
no VB.
Use estes botes para mudar de posio de um item de
menu no mesmo nvel (para cima ou para baixo na lista de menu).

Com mtodo Hide, o Form permanece carregado na memria, mas


no visualizado pelo usurio.
<nome do Formulrio>.Hide
Os comandos Load e Unload trazem e tiram um Form da memria
respectivamente.
Load <nome do Formulrio>
Unload <nome do Formulrio>

Os seguintes botes so para:

Next - utilizado para adicionar novos itens dentro do seu


Menu.
Insert - utilizado para inserir menus entre os menus j
listados.
Delete - utilizado para remover itens do seu Menu.

Visual Basic 5.0

54

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 10: Construa um Menu

NOTAS:

Para este exerccio, abra o Project do exerccio anterior


(exerccio 9). E construa um menu como a figura abaixo mostra:

Para mostrar os formulrios de Incluso, Alterao/Excluso e


Consulta a partir dos menus, utilize os mtodos apresentados na
pgina anterior (54).

Tela do Exerccio

Visual Basic 5.0

55

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

NOTAS:

Acessando um Banco de Dados atravs do


DATA CONTROL.
O que o Data Control?
O Data Control permite a ligao do Form com um banco de
dados. Atravs desse objeto, voc pode criar uma aplicao que
mostre e atualize seus dados sem precisar programar.
Com o Data Control, possvel trabalhar com recordsets vazios,
adicionar, editar e excluir registros. Em aplicaes mais sofisticadas,
voc precisa tratar algumas condies de erros que o Data Control no
trata.
Como funciona o Data Control?
Uma vez que a aplicao for executada, o Data Control usa as
suas propriedades para abrir um banco de dados selecionado, para
criar um banco de dados e para criar um recordset.

Mais algumas propriedades da Caixa Texto


Depois de configurar as propriedades DataBaseName e
RecordSource, preciso vincular os dados trazidos pelo Data Control
com algum dos objetos oferecidos pelo Visual Basic para a
visualizao.
Neste curso, estaremos utilizando a Caixa Texto para visualizar e
trabalhar com os dados do Banco de Dados. Para isso, precisaremos
modificar 2 propriedades:
DataSource: Indica para a Caixa Texto qual Data Control possui
o campo que voc precisa visualizar.
DataField: Indicar qual campo do Data Control especificado pela
propriedade DataSource deve ser mostrado na Caixa Texto.
Obs.: Para visualizar as propriedades da Caixa Texto, selecione-a
e pressione a tecla de funo F4.

O Data Control possui setas que permitem que voc role pelos
registros da tabela aberta durante a execuo do programa e uma
legenda para descrever o contedo deste. Geralmente, essa
propriedade configurada com o nome do banco de dados que est
sendo utilizado.
Propriedades do Data Control
Existem algumas propriedades que devem ser configuradas para
que o Data Control possa acessar seu banco de dados.
Principais Propriedades (para exib-las, selecione o objeto e tecle
F4):
DataBaseName: indica o nome e o caminho do seu banco de
dados.
RecordSource: indica a tabela na qual o Data Control vai buscar
os dados.

Visual Basic 5.0

56

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

O que um Recordset?

NOTAS:

um conjunto de linhas e colunas que contm todos dados da


tabela.
O Data Control que abre um banco de dados carrega esse
Recordset.

BOF (Begin of File)


Ana Campos
Jos Silva
Joo Castro
Sueli Piva
Rute Salim

Mtodos do Recordset
MoveFirst: este mtodo move do registro atual para o primeiro
registro da sua tabela.
MoveNext: este mtodo move do registro atual para o prximo
registro.
MovePrevious: este mtodo move do registro atual para o registro
anterior.
MoveLast: move do registro atual para o ltimo registro da tabela.

Mtodos para controlar o incio e o fim do arquivo


BOF: controla o incio do arquivo.
EOF: controla o final do arquivo.
Sintaxe: data1.recordset.BOF (para controlar o incio do arquivo).
data1.recordset.EOF (para controlar o fim do arquivo).

Sintaxe: data1.Recordset.Movefirst.
Para especificar um tipo de Recordset, configure a propriedade
RecordsetType para:
Recordset Type
Table
Dynaset
Snapshop

EOF (End of File)

Por exemplo:
Private Sub cmdProximo_Click()
este boto tem a funo de navegar para o prximo registro
do Data Control.
If data1.recordset.EOF then
MsgBox Final de Arquivo!!
Else
Data1.recordset.movenext
MoveNext o mtodo utilizado para mover a posio do
Data Control para o prximo registro.
End If
End Sub

Value
0
1
2

Visual Basic 5.0

57

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Acessando um Banco de Dados atravs do


DATA CONTROL (continuao)

NOTAS:

Propriedades para a manipulao de Final de arquivo (EOF end of file) e incio de arquivo (BOF - begin of file):
O objeto Data Control tambm gerencia o que acontece quando
encontra um Recordset vazio (sem registros). As propriedades que
devemos trabalhar para controlar as aes que o Data Control deve
tomar so:
BOFAction: indica qual a ao que o Data Control deve tomar
quando a propriedade BOF for igual a TRUE, ou seja, quando for
comeo de arquivo. Valores possveis:
0. Move First: o Data Control mover o ponteiro para o
primeiro registro do arquivo.
1. BOF: o Data Control continua na posio de comeo de
arquivo.
EOFAction: indica qual a ao que o Data Control deve tomar
quando a propriedade EOF for igual a TRUE, ou seja, quando for fim
de arquivo. Valores possveis:
0. Move Last: o Data Control mover o ponteiro para o
ltimo registro do arquivo.
1. EOF: o Data Control continua na posio de fim de
arquivo.
2. AddNew: indica que o Data Control deve ir para um novo
registro.

Visual Basic 5.0

58

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Objetos Associados (Data Bound) ao Data Control


Os objetos associados Data Bound so utis pois facilitam o
preenchimento dos objetos da tela com o contedo do banco de dados.
Existem 3 tipos de controles deste tipo:

1. Data Bound Combo box: semelhante a Caixa de


Combinao, com a diferena que quando associada a um Data
Control, preenchida automaticamente, opcionalmente atualiza um
campo de outra tabela que esteja associando a outro Data Control.
Para que a Caixa de Combinao funcione como o esperado,
preciso configurar algumas propriedades que esto listadas a seguir:
DataSource Name: especifica qual o Data Control ser atualizado
quando um seleo for realizada.
DataField Name: define qual o campo que ser atualizado no
Recordsetof especificado pelo DataSourcce.
RowSource Name: define qual o Data Control usado como origem
dos itens para a lista.
ListField Name: define o nome do campo no Recordset
especificado pelo propriedade RowSource que usado para preencher
a caixa combo.
BoundColumn Name: o nome do campo no Recordset
especificado pelo RowSource para ser passado para a propriedade
DataField quando um seleo for feita.
BoundText Text: valor do campo da coluna associada. Quando
uma seleo feita, o valor passado para atualizar o Recordset
especificado pelo DataSource e DataField.

NOTAS:
2. Data Bound List: semelhante ao ListBox (Caixa de
Listagem). Pode ser preenchido automaticamente quando associado
um Data Control e opcionalmente, atualizar um Recordset de outro
Data Control. As propriedades da DBCombo Box valem para a Data
Bound List.

3. Data Bound Grid: permite a manipulao de uma srie


de linhas e colunas representando um registro e campos do Recordset
do Data Control.
O DBGrid semelhante ao Controle Grid, a diferena que com o
DBGrid, no preciso programar as linhas e colunas da tabela,
preciso apenas associar um Data Control ao objeto que
automaticamente, o Grid ser preenchido

Visual Basic 5.0

59

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Controle Status Bar


Este controle permite a criao de uma barra de Status para o
usurio. A barra de Status utilizada para emitir informaes sobre a
tela atual aos usurios.

A guia mais importante para este treinamento, a guia Panels pois


nela que estaremos definindo as mensagens que devem ser mostradas
para os usurios.
Principais propriedades:
Index: ndice da mensagem na barra de status.
Text: texto que deve aparecer para descrever o boto.
Description: descrio da funo do boto.
ToolTipText: texto explicativo sobre o boto que deve
aparecer para o usurio.
Key/Tag: texto para identificao do boto.
Alignment: Define o alinhamento do texto da mensagem
dentro do Painel.

Exemplo da utilizao da Status Bar.

Para inserir um novo painel, utilize:


Boto Insert Panel.

Propriedades do Controle:
Para excluir um painel da ToolBar:
Utilize o boto Remove Panel.

NOTAS:
Para exibir a pgina de propriedades de um controle, clique com o
boto direito do mouse sobre o objeto selecionado e escolha a opo
Properties.

Pgina de Propriedades.

Visual Basic 5.0

60

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

A guia mais importante para este treinamento, a guia General


pois nela que estaremos definindo as guias da tabela.

Controle SSTab

Principais propriedades:

Este controle utilizado para dividir a tela do formulrio em vrias


funes.

Current Tab: ndice da mensagem na barra de status.


Tab Caption: texto que deve aparecer para descrever o boto.
Tab Count: Nmero de guias.
TabPerRow: Nmero de guias por linha.
Orientation: Define a orientao das guias da SSTab, se as

guias devem estar no topo, a esquerda, a direita ou no embaixo.


0 ssTabOrientationTop: Alinhamento das guias no Topo da tabela.
1 ssTabOrientationBottom: Alinhamento das guias embaixo da tabela.
2 ssTabOrientationLeft: Alinhamento das guias a Esquerda da tabela.
3 ssTabOrientationRight: Alinhamento das guias a Direita da tabela.

Exemplo da utilizao do SSTab.


Propriedades do Controle:

Style: estilo da tabela.


Para inserir uma nova guia:
Incremente a propriedade Tab Count.
Para remover uma guia existente:
Decremente a propriedade Tab Count.

NOTAS:
Para exibir a pgina de propriedades de um controle, clique com o
boto direito do mouse sobre o objeto selecionado e escolha a opo
Properties.

Pgina de Propriedades do Controle SSTab.

Visual Basic 5.0

61

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Resoluo do Exerccio:
Exerccio 11: Criando uma Consulta
Criar um consulta que acesse os dados das tabelas de Clientes e
Pedidos existentes no banco de dados nwind.mdb. Para isso, abra o
project do exerccio 10 e utilize o formulrio de Consulta.

Form
Data Control
Data Control
Name = FrmConsulta
Name = data_cli
Name = data_order
Caption = Formulrio para DatabaseName =
DatabaseName =
Consulta
...\nwind.mdb
...\nwind.mdb
RecordsetType = Dynaset
RecordsetType = Dynaset
RecordSource = Customers RecordSource =
TextBox
TextBox
TextBox
DataSource = data_cli
DataSource = data_cli
DataSource = data_cli
DataField = CompanyName DataField = ContactName DataField = ContactTitle
Name = txtCompanyName
Name = txtContactName
Name = txtContactTitle
TextBox
TextBox
TextBox
DataSource = data_cli
DataSource = data_cli
DataSource = data_cli
DataField = Address
DataField = City
DataField = Region
Name = txtcAddress
Name = txtCity
Name = txtRegion
TextBox
TextBox
TextBox
DataSource = data_cli
DataSource = data_cli
DataSource = data_cli
DataField = Country
DataField = PostalCode
DataField = Phone
Name = txtCountry
Name = txtPostalCode
Name = txtPhone
Label
Label
Label
AutoSize = True
AutoSize = True
AutoSize = True
Caption = Cidade:
Caption = CEP:
Caption = Estado:
Label
Label
Label
AutoSize = True
AutoSize = True
AutoSize = True
Caption = Telefone:
Caption = Pas:
Caption = FAX:
Label
Label
DBGrid
AutoSize = True
AutoSize = True
Name: DBGOrders
Caption = Nome do Cliente: Caption = Companhia
DataSource: data_orders
Label
Label
CommandButton
AutoSize = True
AutoSize = True
Name = cmdSair
Caption = Cargo:
Caption = Endereo:
Caption = &Sair
TextBox
DataSource = data_cli
DataField = Fax
Name = txtFax
Private Sub Data_Cli_Reposition()
Data_order.RecordSource = "Select * from Customers where
CustomerID = " & Data_cli.Recordset.Fields("CustomerID")

Data_order.Refresh
End Sub

Visual Basic 5.0

62

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Funo InputBox

NOTAS:

Uma caixa de dilogo que permite a entrada de dados pelo usurio.


Sua sintaxe:
<variavel_string> = InputBox(mensagem, ttulo, valor Default)
Parmetros da funo:
Mensagem: a expresso que descreve o que deve ser digitado.
Ttulo: o ttulo da caixa de dilogo
Valor Default: o valor padro da InputBox, se nada for digitado.
Exemplo de uma caixa de dilogo InputBox:

Visual Basic 5.0

63

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

NOTAS:

Localizando registros com o mtodo SEEK


Para localizar registros em sua tabela aberta pelo Data Control,
voc pode utilizar o mtodo SEEK, o mtodo de procura mais rpido
pois utiliza um ndice da tabela aberta do banco de dados.
Sua sintaxe :
<Data_Control.name>.Recordset.seek <comparao>, <chave>

Esse mtodo, por utilizar um ndice da tabela, acessar o dado


procurado diretamente, no precisando percorrer toda a tabela
procurando pelo valor especificado pelo argumento. Se encontrar o
dado, posicionar o seu Data Control no registro.
Para testar se o registro foi ou no encontrado, utilize o mtodo
NoMatch. Por exemplo:

onde o parmetro <comparao> uma string de comparao e


pode ter os seguintes valores: =, <=, >=, <>, < ou >
e <chave> o valor a ser procurado na tabela.

If data_produto.Recordset.NoMatch then
<instruo>
Ou seja, se o registro no existir, ento, podemos inclu-lo.

Para utilizar este mtodo de procura, precisamos configurar


algumas propriedades para o Data Control:

If NOT data_produto.Recordset.NoMatch then


<instruo>

Tipo de Recordset a ser aberto necessariamente precisa


ser TABLE.
Sua tabela deve ter um ndice cadastrado pois teremos que
definir um ndice como chave da procura.

Quer dizer que o registro existe, ento, voc poder traz-lo para a
sua tela de consulta ou no permitir a entrada de um novo registro,
pois ele j existe.

As propriedades que sero alteradas so:


-

RecordsetType: indica o tipo de recordset a ser aberto.


Index: indica qual o ndice a ser utilizado para a busca.

Por exemplo:
Data_produto.recordset.index = cod_produto
cod_produto o nome do ndice existente na tabela Produtos
Data_produto.recordset.seek =, txtcod_produto.text
Ser procurado na tabela o cdigo do produto que for igual ao
cdigo digitado na caixa de texto txtcod_produto.text.

Visual Basic 5.0

64

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 12: Localizando Registros em um Banco


de Dados
Utilizando o exerccio anterior, crie um boto para localizar
registros na base pelo Nome do Cliente (use o mtodo SEEK).

Resoluo do Exerccio:
Command Button
Name = cmdLocalizar
Caption = &Localizar

Private Sub cmdLocalizar_Click()


Dim ProcNome As String
ProcNome = InputBox$("Digite o nome a ser localizado:", "Localizando Registros ...")

If ProcNome <> "" Then


Data_cli.Recordset.Index = "Nome"
Data_cli.Recordset.Seek "=", ProcNome
If Data_cli.Recordset.NoMatch Then
MsgBox ("Nome no localizado!!!")
Data_cli.Recordset.MoveFirst
End If
End If
End Sub

Visual Basic 5.0

65

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Mtodos para Incluso, Alterao e Excluso em


Banco de dados

NOTAS:

Quando utilizamos o Data Control, os mtodos existentes para


estas operaes, so:
Para Incluso basta usar a seguinte sintaxe:
<data_control.name>.recordset.AddNew
O mtodo AddNew "prepara" a tabela para receber um novo
registro. Se este a tabela tiver uma chave primria, e o voc tentar
incluir um registro que j exista nela, um erro ser causado. Mais
adiante veremos como tratar esses erros no VB. No final da apostila
temos uma lista de erros gerados pelo VB.
Para alterao:
< data_control.name>.recordset.Edit
Com este mtodo, voc prepara o registro atual para edio.
Para efetuar as operaes de Incluso e Alterao use:
<data_control.name>.recordset.Update
Para excluso:
<data_control.name>.Recordset.Delete
Utilize o mtodo Refresh para atualizar os dados tabela aberta que
foram atualizados com as operaes de incluso, alterao e excluso.

Visual Basic 5.0

66

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Localizando registros com o mtodo FIND


Para localizar registros em sua tabela aberta pelo Data Control,
voc pode utilizar o mtodo FindFirst (significa "Encontrar o
Primeiro). Sua sintaxe :
<Data_Control.name>.Recordset.FindFirst campo da tabela = & caixa_de_texto.text

NOTAS:
Atribuindo campos da tabela a Caixa Textos da tela do
Formulrio.
A sintaxe para atribuir os campos da tabela aberta pela Data
Control, a seguinte:

Por exemplo:
Data_produto.recordset.findefirst cod_produto = & text1.text
Esse mtodo percorrer toda a sua tabela procurando pelo valor
especificado pelo argumento ("cod_produto = " & text1.text, onde
cod_produto o nome do campo da tabela e text1.text o nome do
objeto Caixa Texto da tela do seu formulrio) e posicionar o seu
Data Control no registro encontrado.

Data1.recordset("nome_campo_tabela")
Por exemplo:
Text1.text = data1.recordset("cod_produto")
Com esta linha, voc consegue visualizar os dados do campo da
tabela: cod_produto.

Para testar se o registro foi ou no encontrado, utilize o mtodo


NoMatch. Por exemplo:
If data_produto.Recordset.NoMatch then
<instruo>
Ou seja, se o registro no existir, ento, podemos inclu-lo.
If NOT data_produto.Recordset.NoMatch then
<instruo>
Quer dizer que o registro existe, ento, voc poder traz-lo para a
sua tela de consulta ou no permitir a entrada de um novo registro,
pois ele j existe.

Visual Basic 5.0

67

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 13: Incluso de Novos Clientes


Fazer uma aplicao para incluso de novos clientes. Para isso, abra o
project do exerccio 10 e utilize o formulrio de incluso.

Tela do Exerccio.
Private Sub cmdincluir_Click()
data_cli.Recordset.FindFirst "CustomerID = " & txtcod_cli.Text &
If data_cli.Recordset.NoMatch Then
data_cli.Recordset.AddNew
data_cli.Recordset("CustomerID") = txtcod_cli.Text
data_cli.Recordset("CompanyName") = txtCompanyName.Text
data_cli.Recordset("ContactName") = txtContactName.Text
data_cli.Recordset("ContactTitle") = txtContactName.Text
data_cli.Recordset(Contry) = txtCountry.Text
data_cli.Recordset(PostalCode) = txtPostalCode.Text
data_cli.Recordset(Address) = txtAddress.Text
data_cli.Recordset(City) = txtCity.Text
data_cli.Recordset(Region) = txtRegion.Text
data_cli.Recordset(Phone) = txtPhone.Text
data_cli.Recordset(Fax) = txtFax.text
data_cli.Recordset.Update
Else
MsgBox "Cliente j cadastrado!!!"
End If
Limpa_campos
End Sub

Resoluo do Exerccio:
Form
Name = FrmInclusao
Caption = Incluso
Novos Clientes

Data Control
Name = data_cli
de DatabaseName =
...\nwind.mdb
RecordsetType = Dynaset
RecordSource = Customers
TextBox
TextBox
Name = txtCompanyName Name = txtContactName
Text = (BRANCO)
Text = (BRANCO)
TextBox
TextBox
Name = txtcAddress
Name = txtCity
Text = (BRANCO)
Text = (BRANCO)
TextBox
TextBox
Name = txtCountry
Name = txtPostalCode
Text = (BRANCO)
Text = (BRANCO)
TextBox
Label
Name = txtcod_cli
AutoSize = True
Text = (BRANCO)
Caption = CEP:
Label
Label
AutoSize = True
AutoSize = True
Caption = Telefone:
Caption = Pas:
Label
Label
AutoSize = True
AutoSize = True
Caption = Nome do Cliente: Caption = Companhia
Label
Label
AutoSize = True
AutoSize = True
Caption = Cargo:
Caption = Endereo:
CommandButton
CommandButton
Name = cmdSair
Name = cmdIncluir
Caption = &Sair
Caption = &Incluir

TextBox
Name = txtFax
Text = (BRANCO)

TextBox
Name = txtContactTitle
Text = (BRANCO)
TextBox
Name = txtRegion
Text = (BRANCO)
TextBox
Name = txtPhone
Text = (BRANCO)
Label
AutoSize = True
Caption = Estado:
Label
AutoSize = True
Caption = FAX:
Label
AutoSize = True
Caption = Cidade:
Label
AutoSize = True
Caption = Cdigo do Cliente::

Sub Limpa_campos()
txtcod_cli.Text = ""
txtFax.Text = ""
txtCompanyName.Text = ""
txtContactName.Text = ""
txtContactTitle.Text = ""
txtCountry.Text = ""
txtPostalCode.Text = ""
txtAddress.Text = ""
txtCity.Text = ""
txtRegion.Text = ""
txtPhone.Text = ""
End Sub

Visual Basic 5.0

68

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 14 : Alterao e Excluso de Produtos


Fazer uma aplicao para alterao e excluso de produtos em um
almoxarifado. Para isso, abra o project do exerccio 10 e utilize o
formulrio de alterao/excluso.

Tela do exerccio em tempo de Design.


Sub Limpa_campos()
txtcod_cli.Text = ""
txtFax.Text = ""
txtCompanyName.Text = ""
txtContactName.Text = ""
txtContactTitle.Text = ""
txtCountry.Text = ""
txtPostalCode.Text = ""
txtAddress.Text = ""
txtCity.Text = ""
txtRegion.Text = ""
txtPhone.Text = ""
End Sub

Private Sub cmdexcluir_Click()


data_cli.Recordset.Delete
data_cli.Refresh
Limpa_campos
End Sub

Resoluo do Exerccio:
Form
Data Control
Name = FrmAltExcl
Name = data_cli
Caption = Incluso de Novos DatabaseName = ...\nwind.mdb
Clientes
RecordsetType = Dynaset
RecordSource = Customers
TextBox
TextBox
Name = txtCompanyName
Name = txtContactName
Text = (BRANCO)
Text = (BRANCO)
TextBox
TextBox
Name = txtcAddress
Name = txtCity
Text = (BRANCO)
Text = (BRANCO)
TextBox
TextBox
Name = txtCountry
Name = txtPostalCode
Text = (BRANCO)
Text = (BRANCO)
TextBox
Label
Name = txtcod_cli
AutoSize = True
Text = (BRANCO)
Caption = CEP:
Label
Label
AutoSize = True
AutoSize = True
Caption = Telefone:
Caption = Pas:
Label
Label
AutoSize = True
AutoSize = True
Caption = Nome do Cliente: Caption = Companhia
Label
Label
AutoSize = True
AutoSize = True
Caption = Cargo:
Caption = Endereo:
CommandButton
CommandButton
Name = cmdSair
Name = cmdIncluir
Caption = &Sair
Caption = &Incluir

Visual Basic 5.0

TextBox
Name = txtFax
Text = (BRANCO)

TextBox
Name = txtContactTitle
Text = (BRANCO)
TextBox
Name = txtRegion
Text = (BRANCO)
TextBox
Name = txtPhone
Text = (BRANCO)
Label
AutoSize = True
Caption = Estado:
Label
AutoSize = True
Caption = FAX:
Label
AutoSize = True
Caption = Cidade:
Label
AutoSize = True
Caption = Cdigo do Cliente::

69

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Resoluo do Exerccio:
Private Sub cmdalterar_Click()
data_cli.Recordset.Edit
data_cli.Recordset("CostumerID) = txtcod_cli.Text
data_cli.Recordset("Fax") = txtFax.Text
data_cli.Recordset("CompanyName") = txtCompanyName.Text
data_cli.Recordset("ContactName") = txtContactName.Text
data_cli.Recordset("ContactTite") = txtContactTitle.Text
data_cli.Recordset("Country") = txtCountry.Text
data_cli.Recordset("PostalCode") = txtPostalCode.Text
data_cli.Recordset("Address") = txtAddress.Text
data_cli.Recordset("City") = txtCity.Text
data_cli.Recordset("Region") = txtRegion.Text
data_cli.Recordset("Phone) = txtPhone.Text
data_cli.Recordset.Update
Limpa_campos
End Sub
Private Sub txtcod_prod_LostFocus()
data_cli.Recordset.FindFirst "CostumerID = " + txtcod_cli.Text
If Not data_cli.Recordset.NoMatch Then
txtcod_cli.Text = data_cli.Recordset("CostumerID)
txtFax.Text = data_cli.Recordset("Fax")
txtCompanyName.Text = data_cli.Recordset("CompanyName")
txtContactName.Text = data_cli.Recordset("ContactName")
txtContactTitle.Text = data_cli.Recordset("ContactTite")
txtCountry.Text = data_cli.Recordset("Country")
txtPostalCode.Text = data_cli.Recordset("PostalCode")
txtAddress.Text = data_cli.Recordset("Address")
txtCity.Text = data_cli.Recordset("City")
txtRegion.Text = data_cli.Recordset("Region")
txtPhone.Text = data_cli.Recordset("Phone)
txtcod_prod.Enabled = False
Else
MsgBox "Cliente no est cadastrado!!!"
txtcod_cli.Enabled = True
txtcod_cli.SetFocus
End If
End Sub

Visual Basic 5.0

70

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

NOTAS:

Cdigos de Erros
Para evitar que o VB interrompa seu programa quando um erro
ocorrer, adicione a instruo On Error depois da declarao do Sub.
A instruo On Error deve ser seguida pelos comandos:
-

Resume Next
GoTo <label>

Resume Next
Com essa instruo, a execuo do programa volta para a
instruo imediatamente posterior quela em que o erro foi detectado
pelo VB.
GoTo <label>
Quando acontece um erro, o VB desvia o fluxo de execuo
para um label definido no mdulo.
Exemplo:
Sub Form_Click()
On Error GoTo ErrorHandler
...
Exit Sub
ErrorHandler:
Label
MsgBox = Ocorreu o Erro & Err & .
Resume Next
End Sub

Visual Basic 5.0

71

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Variveis e Constantes no VB
Tabela de Cores para a Funo QBCOLOR( )
Preto
Azul
Verde
Ciano
Vermelho
Magenta
Amarelo
Branco

0
1
2
3
4
5
6
7

Cinza
Azul claro
Verde claro
Ciano claro
Vermelho claro
Magenta claro
Amarelo claro
Branco brilhante

8
9
10
11
12
13
14
15

Constantes de Sada da Funo MsgBox( )


Constante
VbDOK
VbCancel
VbAbort
VbRetry
VbIgnore
VbYes
VbNo

Valor
1
2
3
4
5
6
7

Boto Clicado
Boto de OK foi clicado
Boto de Cancelar foi clicado
Boto de Anular foi clicado
Boto de Repetir foi clicado
Boto de Ignorar foi clicado
Boto de Sim foi clicado
Boto de No foi clicado

Constantes para Botes


Constante
VbOKOnly
VbOKCancel
VbAbortRetryIgnore
VbYesNoCancel
VbYesNo
vbRetryCancel

Valor
0
1
2
3
4
5

Botes Mostrados
OK
OK, Cancelar
Anular, Repetir, Ignorar
Sim, No, Cancelar
Sim, No
Repetir, Cancelar

Constantes de cones
Constante
VbCritical
VbQuestion
VbExclamation
vbInformation

Valor
16
32
48
64

cone Mostrado
cone de Stop
cone de ponto de interrogao
cone de ponto de exclamao
cone de Informao

Visual Basic 5.0

72

Centro de Computao
Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Dicas para Consulta


Links interessantes:
http://www.microsoft.com/vbasic
http://www.forumaccess.com/
http://www.bowmansoft.com/vbwm/
http://www.vbonline.com/

http://www.viquevb.com/
http://www.developersmagazine.com.br/

& Livros/Revistas:
Revista Frum Access /Visual Basic/ Office
Revista Developers Revista brasileira para desenvolvedores.

Visual Basic 5.0

73

Você também pode gostar