Você está na página 1de 35

Centro de Computação

Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exercício 4: Calculadora Resolução do Exercício:


Fazer uma calculadora que tenha as seguintes operações: soma, Form Frame
subtração, divisão e multiplicação. Caption =Formulário do Exercício Caption = Operações
Name = Frmexerc Name = Frame2
TextBox TextBox
Name = txtresult Name = txtseg_num
Text = (BRANCO) Text = (BRANCO)
HScrollBar HScrollBar
Name = hScrPrim_valor LargeChange = 10
LargeChange = 10 Max = 1000
Max = 1000 Name = HScrSeg_valor
CommandButton CommandButton
Caption = &Calcular Caption = &Sair
Name = cmdcalcular Name = cmdsair
OptionButton OptionButton
Caption = Subtração Caption = Soma
Name = OptSub Name = OptSoma
OptionButton OptionButton
Caption = Divisão Caption = Multiplicação
Name = OptDiv Name = OptMult
TextBox Label
Tela do Exercício. Name = txtprim_num AutoSize = True
Text = (BRANCO) Caption = Primeiro Valor:
Private Sub cmdcalcular_Click() Name = lblprim_valor
If OptSoma.Value = True Then Label Label
txtresult = Val(txtprim_num) + Val(txtseg_num) AutoSize = True AutoSize = True
ElseIf OptSub.Value = True Then Caption = Resultado da Operação: Caption = Segundo Valor:
txtresult = Val(txtprim_num) - Val(txtseg_num) Name = lblresult Name = lblseg_valor
ElseIf OptMult.Value = True Then
txtresult = Val(txtprim_num) * Val(txtseg_num) Private Sub hScrPrim_valor_Change() Private Sub cmdsair_Click()
ElseIf OptDiv.Value = True Then txtprim_num = hScrPrim_valor.Value End
If Val(txtseg_num) <> 0 Then End Sub End Sub
txtresult = Val(txtprim_num) / Val(txtseg_num) Private Sub HScrSeg_valor_Scroll()
Private Sub hScrPrim_valor_Scroll()
Else txtseg_num = HScrSeg_valor.Value
txtprim_num = hScrPrim_valor.Value
MsgBox "Divisão por Zero!" End Sub
End Sub
End If
Private Sub HScrSeg_valor_Change()
End If
txtseg_num = HScrSeg_valor.Value
End Sub
End Sub

Visual Basic 5.0 39


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Criando Efeitos Especiais em Forms NOTAS:


No VB, existem controles que permite a criação de imagens Teste!
geométricas.
Crie um novo Project (A partir do menu File, escolha a opção New
Project). No formulário, desenhe os controles Line, Shape e modifique
Controle Line é usado para criar uma linha em seu suas propriedades.
formulário (form). Suas propriedades mais importantes são:
BorderWidth, BorderStyle, BorderColor, Visible.

Controle Shape é usado para desenhar uma figura


geométrica em seu formulário (form). É possível selecionar o formato
dessa figura. Os formatos são: retângulo, retângulo arredondado,
quadrado, quadrado arredondado, oval, circular.
Suas principais propriedades são:

FillColor: permite definir a cor do objeto. (Preenchimento)


FillStyle: permite definir o padrão do preenchimento.
Visible: permite que você oculte ou exiba seu objeto.

Visual Basic 5.0 40


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Funções do Mouse NOTAS:


O VB permite que você utilize o controle Image para criar botões Para criarmos esses tipos de botões, estaremos trabalhando com o
de comando no estilo da barra de ferramentas em seus programas. controle Image Box que mostrará a imagem correspondente a ação
Para criar esses botões, pode-se usar os seguintes eventos: que você tomou. Por exemplo, se você pressionou o botão, aparecerá a
imagem do botão pressionado.
MouseDown: este evento detecta o pressionar do mouse.
MouseMove: detecta qualquer movimento com o mouse. É possível alterar os estados dos botões através da procedure de
MouseUp: detecta quando o usuário libera o botão do mouse. evento MouseDown, por exemplo.

Os botões possuem três estados:

Não pressionado - esse é o estado normal do botão. Não está


selecionado.
Pressionado - esse é o estado do botão que está selecionado ou
está ativo.
Desativado - é o estado utilizado quando um botão não está
disponível para o programa.

Mais algumas propriedades da Caixa Texto

FontBold: define se o texto da caixa de texto deve ser negrito ou


não. Valor que recebe é True se for configurar o texto para negrito e
False, caso contrário.
FontItalic: define se o texto da caixa de texto deve ser itálico ou
não. Valor que recebe é True se for configurar o texto para itálico e
False, caso contrário.
FontUnderline: define se o texto da caixa de texto deve ser
sublinhado ou não. Valor que recebe é True se for configurar o texto
para sublinhado e False caso contrário.

Image Box

Tag: utiliza-se esta propriedade para identificar um objeto. No


próximo exercício, esta propriedade será utilizada para identificar o
status do botão.
Visual Basic 5.0 41
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Resolução do Exercício:
Exercício 5: Criando botões Gráficos
Form Label
Faça um programa que permita que o usuário digite seu texto Caption = Formulário AutoSize = 'True
numa caixa de texto e formate-o (Negrito, Itálico e Sublinhado) da para Exercício Caption = Clique nos botões para formatar o
maneira que desejar. Name = frmexerc texto.
Name = Label1
TextBox Image Image
MultiLine = True Name = Image1 Name = Image2
Name = txttexto Picture = ...\bld-up.bmp Picture = ...\itl-up.bmp
Tag = Para cima Tag = Para cima
Visible = False Visible = False
Image Image Image
Name = Image3 Name = Image4 Name = Image5
Picture = ...\ulin-up.bmp Picture = ...\bld-dwn.bmp Picture =...\itl-dwn.bmp
Tag = Para cima Tag = Para baixo Tag = Para baixo
Visible = False Visible = False Visible = False
Image Image Image
Name = Image6 Picture= Picture =
Picture = ...\ulin-dwn.bmp Tag = Para cima Tag = Para cima
Tag = Para baixo Name = Image7 Name = Image8
Visible = False
Image CommandButton
Picture = Caption = &Sair
Tela do Exercício Tag = Para cima Name = cmdsair
Name = Image9
Private Sub Image7_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Image7.Tag = "Para cima" Then Private Sub Image8_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image7.Picture = Image4.Picture If Image8.Tag = "Para cima" Then
txttexto.FontBold = True Private Sub Image9_ MouseDown(Button As Integer, Image8.Picture = Image5.Picture
Image7.Tag = "Para baixo" Shift As Integer, X As Single, Y As Single) txttexto.FontItalic = True
Else If Image9.Tag = "Para cima" Then Image8.Tag = "Para baixo"
Image7.Picture = Image1.Picture Image9.Picture = Image6.Picture
txttexto.FontBold = False
Else
txttexto.FontUnderline = True Image8.Picture = Image2.Picture
Image7.Tag = "Para cima" Image9.Tag = "Para baixo"
End If txttexto.FontItalic = False
Else
End Sub Image9.Picture = Image3.Picture Image8.Tag = "Para cima"
txttexto.FontUnderline = False End If
Image9.Tag = "Para cima" End Sub
End If
End Sub

Visual Basic 5.0 42


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Arrastar-e-Soltar (Drag and Drop) NOTAS:


Em aplicações desenvolvidas em Visual Basic, você pode Se você configurar a propriedade DragMode do objeto para
utilizar muitos recursos para facilitar e “agradar” o usuário. Uma Manual, para iniciar e terminar a ação de arrastar-e-soltar, será
dessas características do VB, é o Drag-and-Drop que permite que o preciso programar o método Drag.
usuário arraste um objeto até outro e solte-o. Os valores aceitos por este método é:

Usando as propriedades, eventos e métodos que o VB possui, Constante Valor Ação


você pode especificar como esse recurso deve se comportar em sua VbCancel 0 Cancela a operação Drag-and-Drop
aplicação. VbBeginDrag 1 Inicia a operação de arrastar.
VbEndGrag 2 Termina a operação para arrastar e
Propriedades DragMode Permite que seu objeto seja solta o objeto.
arrastado automaticamente
ou manualmente
DragIcon Especifica qual o ícone que Evento DragDrop()
deve ser mostrado quando o
objeto é arrastado. Este evento possui 3 argumentos:
Eventos DragDrop Reconhece quando um Source: que identifica o objeto que você esta arrastando. Você
controle é solto em outro pode utilizar esse argumento com métodos e propriedades. Por
objeto. exemplo: source.visible = false.
X, Y: que são coordenadas. X é a coordenada horizontal e Y é
DragOver Reconhece quando um a coordenada vertical.
controle é arrastado em cima
de outro.
Métodos Drag Inicia ou termina a ação de
arrastar manualmente.

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 Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exercício 6: Teste Arrastar-e-Soltar Resolução do Exercício:


Fazer um programa para testar o Arratar-e-Soltar no VB. Esse
Form Image
programa deve permitir que você arraste os objetos para a lata de lixo
Name = FormDrag_Drop Name = Image5
e depois coloque fogo.
Caption = Teste Arrastar-e-Soltar Picture = ..\trash02a.ico
Stretch = True
Image Image
Name = Image6 Name = Image4
Picture = ..\trash02b.ico DragIcon = ..\point11.ico
Stretch = True DragMode = Automatic
Visible = False Picture = ...\point11.ico
Stretch = True
Image Image
Name = Image3 Name= Image2
DragIcon = ..\fire.ico DragIcon = ..\gaspump.ico
Tela do exercício. DragMode = Automatic DragMode = Automatic
Picture = ..\fire.ico Picture = ..\gaspump.ico
Stretch = True Stretch = True
Tag = Fogo

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 Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

NOTAS:
CommonDialog
Um objeto CommonDialog não é visível ao usuário em tempo de
Esse objeto permite exibir cinco caixas de diálogo nos padrões do execução do programa.
Windows.
Apenas uma caixa de diálogo pode ser exibida a partir de um Propriedades correspondentes à CommonDialog Abrir:
objeto Common Dialog.
Para exibir uma determinada caixa de diálogo, deve ser utilizado o Filter: define quais os tipos de arquivos deverão ser exibidos.
método correspondente à caixa desejada. Por exemplo:
Os conteúdos das caixas são controlados através de suas commondialog1.filter = “Bitmaps (*.BMP) | *.BMP |Metafiles (*.WMF) | *.WMF”
propriedades, ou seja, quando uma caixa é preenchida, os resultados Filename: define o nome do arquivo selecionado.
são apresentados por suas propriedades.
Propriedades correspondentes à CommonDialog Color:
Caixas de Diálogo e sua utilização:
Flags: define qual o tipo da caixa Color deverá ser exibida. Os
Abrir: para abrir um arquivo. Flags podem ser:
Método correspondente: ShowOpen &H1&: Exibe a CommonDialog Cor padrão, com as cores
Salvar Como: para salvar um arquivo. personalizadas como opção.
Método correspondente: ShowSave &H2&: Exibe a paleta padrão e a personalizada.
Imprimir: para definir as opções de impressão. &H4&: Exibe a paleta padrão com o botão de Cores
Método correspondente: ShowPrinter Personalizadas desabilitado.
Fonte: para definir uma fonte e um estilo para textos. &H8&: Exibe o botão de ajuda na CommonDialog Cor.
Método correspondente: ShowFont
Cor: para escolher uma nova cor da paleta. Color: esta propriedade é utilizada para configurar a cor dos
Método correspondente: ShowColor objetos do VB que suportam cor. É possível modificar a cor do fundo
de um formulário, as cores das formas no formulário e as cores de
fundo dos objetos.

Visual Basic 5.0 45


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
A guia Images é a parte principal para a criação da lista de
imagens, pois é nela que se encontram as propriedades para inserção
Controle ImageList
da imagem na lista.
O controle ImageList é utilizado para armazenar uma lista de
Propriedades:
imagens para serem utilizadas nas barras de ferramentas, animações e
aplicativos. Cada ImageList é responsável pela criação de apenas uma
Current Image:
lista de imagens.
Index: índica da imagem inserida no vetor da lista das
Sua capacidade é limitada pela mémoria de seu micro.
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 número de imagens inseridas na lista

Para inserir um imagem à Lista:


Utilize o botão Insert Picture, escolha a imagem e clique no
botão Open.

Para remover uma imagem da lista:


Selecione a imagem desejada e clique o botão Remove
Picture.

NOTAS:
Página de Propriedades.

Para exibir a Página de Propriedades do ImageList, selecione o


objeto no formulário, clique-o com o botão direito do mouse e escolha
a opção propriedades.

Visual Basic 5.0 46


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Key/Tag: texto para identificação do botão.
Controle Toolbar Value: define se deve estar pressionado ou não pressionado.
Style: estilo no qual o botão deve ser mostrado.
Este controle é utilizado para criar barras de ferramentas padrão ToolTipText: texto explicativo sobre o botão que deve
do Windows 95. aparecer para o usuário.
Image: se a ToolBar estiver associada à uma ImageList, voce
pode utilizar uma imagem da lista de imagem através seu index.

Para inserir um novo botão, utilize:


Botão Insert Button.

Para excluir um botão da ToolBar:


Utilize o botão Remove Button.

NOTAS:

Página de Propriedades.

Para exibir a Página de Propriedades do ToolBar, selecione o


objeto no formulário, clique-o com o botão direito do mouse e escolha
a opção Propriedades.

Na guia Buttons, principais propriedades:

Index: índice do botão na barra de ferramentas.


Caption: texto que deve aparecer para descrever o botão.
Description: descrição da função do botão.

Visual Basic 5.0 47


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exercício 7: Utilizando as Common Dialog Resolução do Exercício:


Fazer uma aplicação que permita a abertura de imagens e a Form Imagem Box
configuração do ambiente de trabalho pelo usuário (cores do Name = Form1 Name = Image1
Formulário). Deve tambem limpar a tela da Imagem quando o usuário Caption = Abrindo Figuras
desejar. ToolBar Image List
Name = Toolbar1 Name = ImageList1
CommonDialog
Name = CommonDialog1

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"
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
Tela do exercício em tempo de Design. 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 Computação
Gerência 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 Eventos mais utilizados:
arquivos, ou seja, são controles que permitem fazer a pesquisa em
diretórios e drives e a seleção de arquivos. Para DirListBox
Os controles são: Change() – modifica o diretório selecionado. Ocorre quando o
usuário dá um duplo clique em um novo diretório ou quando você
muda a propriedade Path através de código de programação.
Controle DriveList: permite a pesquisa dos drives
válidos em seu sistema. Para DriveList
Change() – Modifica o drive selecionado. Ocorre quando o
usuário seleciona um novo diretório ou quando você muda a
Controle DirListBox: permite a pesquisa em pastas
propriedade Drive através de programação.
(diretórios) existentes no drive selecionado.
Para FileListBox
Controle FileListBox: permite a seleção de um Click: Ocorre quando o usuário pressiona o botão do mouse
arquivo específico em uma pasta (diretório). em um objeto. Pode também ocorrer quando o valor de um controle
(objeto) é mudado.
Trabalhando com as Propriedades:
Outras propriedades do FileListBox
Existem propriedades que não podem ser configuradas em tempo
Archive: define se os arquivos do tipo Archive devem ser listados pelo
de design do programa, ou seja, não é possível configurá-las controle.
utilizando a janela Properties (Janela de Propriedades). Elas só podem Hidden: define se os arquivos do tipo Hidden devem ser listados pelo controle.
ser configuradas em tempo do execução: 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.
Drive: recebe a letra do drive selecionado (utilizado pelo
controle DriveListBox). Estas propriedades recebem apenas valores True/False. As
Path: recebe o nome do diretório selecionado (utilizado pelos propriedades Archive e Normal, por default, tem o valor True.
controles DirectoryListBox e FileListBox). ]
FileName: quando um nome de arquivo é selecionado, o VB o Utilize a propriedade Pattern da FileListBox para definir quais os
coloca nesta propriedade (utilizado pelo controle FileListBox). tipos de arquivos que poderá ser selecionados.
Para especificar mais de um arquivo, utilize a seguinte sintaxe:
*.bmp;*.wmf;*.ico (sem espaçamento entre os ponto-e-vírgula).

Visual Basic 5.0 49


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exercício 8: Programa para Resolução do Exercício:


Procura de Arquivos
Form Command
Fazer um programa que permita a abertura de imagens Caption = Procura de Arquivos Caption = &Sair
.WMF, .ICO, .BMP, .JPG, .GIF. Utilize, para isso, os objetos Name = frmprocura Name = cmdsair
DriveList, DirListBox e FileListBox. DriveList Command
Name = drive1 Caption = Mostrar Figura
Enabled = False
Name = cmdfigura
FileListBox DirListBox
Name = arquivos Name = diretorios
Pattern = *.bmp;*.wmf;*.ico
Image Box
Name = imagem
Stretch = True

Private Sub drive1_Change()


diretorios.Path = drive1.drive
End Sub

Private Sub diretorios_Change()


arquivos.Path = diretorios.Path
End Sub

Tela do Exercício. 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 Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Formulários MDI (Multiple Document Interface) NOTAS:


A Interface para Multiplos Documentos é uma característica muito Para criar uma aplicação MDI:
marcante na programação em ambiente Windows. Esses tipos de 1. Crie um novo Project
Formulários criam uma relação hierárquia entre um formulário (que é 2. A partir do Menu Project, escolha a opção Add MDI
o Formulário MDI-pai) e os outros (que são os formulários CHILD). Form.
Esses programas são como o Word, que permite que vários
documentos sejam abertos simultaneamente. Assim, você criou um formulário-pai. Para criar formulários-
filhos, você precisa:
Características do Formulários MDI 1. A partir do menu Project, escolha a opção Add Form.

Um Formulário Child é sempre exibido na área interna do Nas propriedades do Formulário-filho, configura a propriedade
formulário MDI-pai. Não é possível mostrá-lo fora desta área. MDI Child para True.
Quando esse formulário é minimizado, seu ícone aparecerá no
Formulário MDI-pai e não como um botão na barra de tarefas. Para exibir todos os formulários Child do seu Project num
Quando o Formulário MDI-pai é minimizado, todas as janelas Formulário MDI-pai, configure a propriedade AutoShow (do
existentes nele são minimizadas e são exibidas como um botão na formulário MDI-pai) para True.
barra de tarefas.
As barras de menus dos formulários Child são exibidos na barra de Em formulários do tipo MDI, não é possível “desenhar” controles
menus do formulário MDI-pai. que não possuam a propriedade Align. Para “desenhar” objetos que
não possuam esta propriedade, desenhe um controle Picture no
formulário e depois, dentro dele, desenhe os demais controles.
Exemplo:

Visual Basic 5.0 51


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exercício 9: Crie um programa MDI Resolução do Exercício:


Crie um novo Project. Neste Project, crie um formulário-pai e MDIForm
três formulários-filhos. Caption = Controle de Estoque
WindowState = Maximized
Name = MDIControl_est

Form
Caption = Formulário para Inclusão
MDIChild = True
Name = FrmInclusão

Form
Caption = Formulário para Alteração/Exclusão
MDIChild = True
Name = FrmAlt_Excl

Form
Caption = Formulário para Consulta
MDIChild = True
Name = FrmConsulta

Tela do Exercício

Visual Basic 5.0 52


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Trabalhando com Menus NOTAS:


O VB possui uma ferramenta para a construção de menus: o Cada item do seu Menu é um objeto. Os itens são inseridos de
“Menu Editor” . Utilize-o para criar menus customizados em sua forma hierárquica.
aplicação.
Caption: Caixa de texto no qual você deve inserir o nome do
Para construir um menu menu que aparecerá na barra de menu.
Para criar uma barra para separadorar no menu, digite apenas
Selecione um formulário e a partir do menu “Tools”, escolha a um hífen.
opção “Menu Editor”. Para permitir o acesso ao menu pelo teclado, antes da letra, digite
um &. Quando você estiver executando a aplicação, a letra estará
sublinhada e o usuário pode acessar o menu pressionando ALT + a
letra sublinhada.
Se você precisar de um & ( e comercial) em seu menu, digite
duas vezes o símbolo no Caption.

Name: Caixa de texto na qual você deve inserir um nome para o


objeto. Esse nome só será usado em programação, para se referir ao
item do menu. Não aparecein no menu.

Index: Nesta caixa de texto você define um valor numérico que


determina a posição do controle com o vetor. Esta posição não é
relativa a posição da tela.

Shortcut: neste item você define uma tecla de atalho para o seu
Quando os Menus são criados, vão menu.
aparecendo nesta caixa na ordem
hierárquica em que foram criados. HelpContextID: Nesta caixa de texto você define um valor
numérico para o Context ID que é usado para encontrar o tópico
apropriado no arquivo de Help identificado pela propriedade HelpFile.

Janela do Menu Editor NegotiatePosition: neste item, você pode determinar se e como o
menu aparecerá em determinado formulário.

Visual Basic 5.0 53


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Para construir um menu (continuação)
NOTAS:
Checked: define se deve ou não aparecer um check inicialmente
do lado esquerdo do item do menu. Para trabalhar com formulários em menus, é preciso utilizar
alguns métodos para visualização:
Enabled: define se este menu deve ou não estar abilitado.
O método Show é utilizado para visualizar um Form.
Visible: define se o item do menu deve estar visível ou não. <nome do formulário>.Show

Com método Hide, o Form permanece carregado na memória, mas


Use estes botões para mudar de nível em um menu do não é visualizado pelo usuário.
mais alto até o mais baixo. Você pode criar até 4 níveis de submenus <nome do Formulário>.Hide
no VB.
Os comandos Load e Unload trazem e tiram um Form da memória
Use estes botões para mudar de posição de um item de respectivamente.
menu no mesmo nível (para cima ou para baixo na lista de menu). Load <nome do Formulário>
Unload <nome do Formulário>
Os seguintes botões são 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 Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exercício 10: Construa um Menu NOTAS:


Para este exercício, abra o Project do exercício anterior Para mostrar os formulários de Inclusão, Alteração/Exclusão e
(exercício 9). E construa um menu como a figura abaixo mostra: Consulta a partir dos menus, utilize os métodos apresentados na
página anterior (54).

Tela do Exercício

Visual Basic 5.0 55


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Acessando um Banco de Dados através do NOTAS:


DATA CONTROL. Mais algumas propriedades da Caixa Texto

O que é o Data Control? Depois de configurar as propriedades DataBaseName e


O Data Control permite a ligação do Form com um banco de RecordSource, é preciso vincular os dados trazidos pelo Data Control
dados. Através desse objeto, você pode criar uma aplicação que com algum dos objetos oferecidos pelo Visual Basic para a
mostre e atualize seus dados sem precisar programar. visualização.
Com o Data Control, é possível trabalhar com recordsets vazios, Neste curso, estaremos utilizando a Caixa Texto para visualizar e
adicionar, editar e excluir registros. Em aplicações mais sofisticadas, trabalhar com os dados do Banco de Dados. Para isso, precisaremos
você precisa tratar algumas condições de erros que o Data Control não modificar 2 propriedades:
trata.
DataSource: Indica para a Caixa Texto qual Data Control possui
Como funciona o Data Control? o campo que você precisa visualizar.
Uma vez que a aplicação for executada, o Data Control usa as DataField: Indicar qual campo do Data Control especificado pela
suas propriedades para abrir um banco de dados selecionado, para propriedade DataSource deve ser mostrado na Caixa Texto.
criar um banco de dados e para criar um recordset.
Obs.: Para visualizar as propriedades da Caixa Texto, selecione-a
e pressione a tecla de função F4.

O Data Control possui setas que permitem que você role pelos
registros da tabela aberta durante a execução do programa e uma
legenda para descrever o conteúdo 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 Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

O que é um Recordset? NOTAS:


É um conjunto de linhas e colunas que contém todos dados da
tabela. BOF (Begin of File)
O Data Control que abre um banco de dados carrega esse Ana Campos
Recordset. José Silva
João Castro
Métodos do Recordset Sueli Piva
Rute Salim
MoveFirst: este método move do registro atual para o primeiro
EOF (End of File)
registro da sua tabela.
MoveNext: este método move do registro atual para o próximo
registro. Métodos para controlar o início e o fim do arquivo
MovePrevious: este método move do registro atual para o registro
anterior. BOF: controla o início do arquivo.
MoveLast: move do registro atual para o último registro da tabela. EOF: controla o final do arquivo.

Sintaxe: data1.Recordset.Movefirst. Sintaxe: data1.recordset.BOF (para controlar o início do arquivo).


data1.recordset.EOF (para controlar o fim do arquivo).
Para especificar um tipo de Recordset, configure a propriedade
RecordsetType para: Por exemplo:

Private Sub cmdProximo_Click()


Recordset Type Value
‘este botão tem a função de ‘navegar para o próximo registro
Table 0
‘do Data Control.
Dynaset 1
If data1.recordset.EOF then
Snapshop 2 MsgBox “Final de Arquivo!!”
Else
Data1.recordset.movenext
‘MoveNext é o método utilizado para mover a posição do
‘Data Control para o próximo registro.
End If
End Sub

Visual Basic 5.0 57


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Acessando um Banco de Dados através do NOTAS:


DATA CONTROL (continuação)
Propriedades para a manipulação de Final de arquivo (EOF -
end of file) e início de arquivo (BOF - begin of file):

O objeto Data Control também gerencia o que acontece quando


encontra um Recordset vazio (sem registros). As propriedades que
devemos trabalhar para controlar as ações que o Data Control deve
tomar são:
BOFAction: indica qual a ação que o Data Control deve tomar
quando a propriedade BOF for igual a TRUE, ou seja, quando for
começo de arquivo. Valores possíveis:
0. Move First: o Data Control moverá o ponteiro para o
primeiro registro do arquivo.
1. BOF: o Data Control continua na posição de começo de
arquivo.

EOFAction: indica qual a ação que o Data Control deve tomar


quando a propriedade EOF for igual a TRUE, ou seja, quando for fim
de arquivo. Valores possíveis:
0. Move Last: o Data Control moverá o ponteiro para o
último registro do arquivo.
1. EOF: o Data Control continua na posição de fim de
arquivo.
2. AddNew: indica que o Data Control deve ir para um novo
registro.

Visual Basic 5.0 58


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Objetos Associados (Data Bound) ao Data Control NOTAS:


Os objetos associados – Data Bound – são utéis pois facilitam o
preenchimento dos objetos da tela com o conteúdo do banco de dados.
2. Data Bound List: semelhante ao ListBox (Caixa de
Existem 3 tipos de controles deste tipo:
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
1. Data Bound Combo box: é semelhante a Caixa de
Bound List.
Combinação, com a diferença 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 Combinação funcione como o esperado, é 3. Data Bound Grid: permite a manipulação de uma série
preciso configurar algumas propriedades que estão listadas a seguir: de linhas e colunas representando um registro e campos do Recordset
do Data Control.
DataSource Name: especifica qual o Data Control será atualizado
quando um seleção for realizada. O DBGrid é semelhante ao Controle Grid, a diferença é que com o
DataField Name: define qual o campo que será atualizado no DBGrid, não é preciso programar as linhas e colunas da tabela, é
Recordsetof especificado pelo DataSourcce. preciso apenas associar um Data Control ao objeto que
RowSource Name: define qual o Data Control usado como origem automaticamente, o Grid será preenchido
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 seleção for feita.
BoundText Text: valor do campo da coluna associada. Quando
uma seleção é feita, o valor é passado para atualizar o Recordset
especificado pelo DataSource e DataField.

Visual Basic 5.0 59


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Controle Status Bar A guia mais importante para este treinamento, é a guia Panels pois
é nela que estaremos definindo as mensagens que devem ser mostradas
Este controle permite a criação de uma barra de Status para o para os usuários.
usuário. A barra de Status é utilizada para emitir informações sobre a
tela atual aos usuários. Principais propriedades:

Index: índice da mensagem na barra de status.


Text: texto que deve aparecer para descrever o botão.
Description: descrição da função do botão.
ToolTipText: texto explicativo sobre o botão que deve
aparecer para o usuário.
Key/Tag: texto para identificação do botão.
Alignment: Define o alinhamento do texto da mensagem
dentro do Painel.

Exemplo da utilização da Status Bar. Para inserir um novo painel, utilize:


Botão Insert Panel.
Propriedades do Controle:
Para excluir um painel da ToolBar:
Utilize o botão Remove Panel.

NOTAS:
Para exibir a página de propriedades de um controle, clique com o
botão direito do mouse sobre o objeto selecionado e escolha a opção
Properties.

Página de Propriedades.

Visual Basic 5.0 60


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
A guia mais importante para este treinamento, é a guia General
Controle SSTab pois é nela que estaremos definindo as guias da tabela.

Este controle é utilizado para dividir a tela do formulário em várias Principais propriedades:
funções.
Current Tab: índice da mensagem na barra de status.
Tab Caption: texto que deve aparecer para descrever o botão.
Tab Count: Número de guias.
TabPerRow: Número de guias por linha.
Orientation: Define a orientação 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.
Exemplo da utilização do SSTab. 1 – ssTabOrientationBottom: Alinhamento das guias embaixo da tabela.
2 – ssTabOrientationLeft: Alinhamento das guias a Esquerda da tabela.
Propriedades do Controle: 3 – ssTabOrientationRight: Alinhamento das guias a Direita da tabela.

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 página de propriedades de um controle, clique com o
botão direito do mouse sobre o objeto selecionado e escolha a opção
Properties.

Página de Propriedades do Controle SSTab.


Visual Basic 5.0 61
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Resolução do Exercício:
Exercício 11: Criando uma Consulta
Form Data Control Data Control
Criar um consulta que acesse os dados das tabelas de Clientes e Name = FrmConsulta Name = data_cli Name = data_order
Pedidos existentes no banco de dados nwind.mdb. Para isso, abra o Caption = Formulário para DatabaseName = DatabaseName =
project do exercício 10 e utilize o formulário de Consulta. 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 = País: 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 = Endereço: 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 Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Função InputBox NOTAS:


Uma caixa de diálogo que permite a entrada de dados pelo usuário.

Sua sintaxe:

<variavel_string> = InputBox(mensagem, título, valor Default)

Parâmetros da função:

Mensagem: é a expressão que descreve o que deve ser digitado.


Título: é o título da caixa de diálogo
Valor Default: é o valor padrão da InputBox, se nada for digitado.

Exemplo de uma caixa de diálogo InputBox:

Visual Basic 5.0 63


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Localizando registros com o método SEEK NOTAS:

Para localizar registros em sua tabela aberta pelo Data Control, Esse método, por utilizar um índice da tabela, acessará o dado
você pode utilizar o método SEEK, é o método de procura mais rápido procurado diretamente, não precisando percorrer toda a tabela
pois utiliza um índice da tabela aberta do banco de dados. procurando pelo valor especificado pelo argumento. Se encontrar o
dado, posicionará o seu Data Control no registro.
Sua sintaxe é:
Para testar se o registro foi ou não encontrado, utilize o método
<Data_Control.name>.Recordset.seek <comparação>, <chave> NoMatch. Por exemplo:

onde o parâmetro <comparação> é uma string de comparação e If data_produto.Recordset.NoMatch then


pode ter os seguintes valores: “=”, “<=”, “>=”, “<>”, “<” ou “>” <instrução>
e <chave> é o valor a ser procurado na tabela. Ou seja, se o registro não existir, então, podemos incluí-lo.

Para utilizar este método de procura, precisamos configurar If NOT data_produto.Recordset.NoMatch then
algumas propriedades para o Data Control: <instrução>

- Tipo de Recordset a ser aberto necessariamente precisa Quer dizer que o registro existe, então, você poderá trazê-lo para a
ser TABLE. sua tela de consulta ou não permitir a entrada de um novo registro,
- Sua tabela deve ter um índice cadastrado pois teremos que pois ele já existe.
definir um índice como chave da procura.

As propriedades que serão alteradas são:

- 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 código do produto que for igual ao
código digitado na caixa de texto txtcod_produto.text.

Visual Basic 5.0 64


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exercício 12: Localizando Registros em um Banco Resolução do Exercício:


de Dados
Command Button
Name = cmdLocalizar
Utilizando o exercício anterior, crie um botão para localizar
Caption = &Localizar
registros na base pelo Nome do Cliente (use o método SEEK).

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 não localizado!!!")
Data_cli.Recordset.MoveFirst
End If
End If
End Sub

Visual Basic 5.0 65


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Métodos para Inclusão, Alteração e Exclusão em NOTAS:


Banco de dados
Quando utilizamos o Data Control, os métodos existentes para
estas operações, são:

Para Inclusão basta usar a seguinte sintaxe:


<data_control.name>.recordset.AddNew

O método AddNew "prepara" a tabela para receber um novo


registro. Se este a tabela tiver uma chave primária, 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 alteração:
< data_control.name>.recordset.Edit

Com este método, você prepara o registro atual para edição.

Para efetuar as operações de Inclusão e Alteração use:


<data_control.name>.recordset.Update

Para exclusão:
<data_control.name>.Recordset.Delete

Utilize o método Refresh para atualizar os dados tabela aberta que


foram atualizados com as operações de inclusão, alteração e exclusão.

Visual Basic 5.0 66


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Localizando registros com o método FIND NOTAS:

Para localizar registros em sua tabela aberta pelo Data Control, Atribuindo campos da tabela a Caixa Textos da tela do
você pode utilizar o método FindFirst (significa "Encontrar o Formulário.
Primeiro”). Sua sintaxe é:
A sintaxe para atribuir os campos da tabela aberta pela Data
<Data_Control.name>.Recordset.FindFirst “campo da tabela = ” & caixa_de_texto.text Control, é a seguinte:
Por exemplo: Data1.recordset("nome_campo_tabela")
Data_produto.recordset.findefirst “cod_produto = “ & text1.text Por exemplo:
Text1.text = data1.recordset("cod_produto")
Esse método percorrerá toda a sua tabela procurando pelo valor
especificado pelo argumento ("cod_produto = " & text1.text, onde Com esta linha, você consegue visualizar os dados do campo da
cod_produto é o nome do campo da tabela e text1.text é o nome do tabela: cod_produto.
objeto Caixa Texto da tela do seu formulário) e posicionará o seu
Data Control no registro encontrado.

Para testar se o registro foi ou não encontrado, utilize o método


NoMatch. Por exemplo:

If data_produto.Recordset.NoMatch then
<instrução>
Ou seja, se o registro não existir, então, podemos incluí-lo.

If NOT data_produto.Recordset.NoMatch then


<instrução>
Quer dizer que o registro existe, então, você poderá trazê-lo para a
sua tela de consulta ou não permitir a entrada de um novo registro,
pois ele já existe.

Visual Basic 5.0 67


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exercício 13: Inclusão de Novos Clientes Resolução do Exercício:


Form Data Control TextBox
Name = FrmInclusao Name = data_cli Name = txtFax
Fazer uma aplicação para inclusão de novos clientes. Para isso, abra o Caption = Inclusão de DatabaseName = Text = (BRANCO)
project do exercício 10 e utilize o formulário de inclusão. Novos Clientes ...\nwind.mdb
RecordsetType = Dynaset
RecordSource = Customers
TextBox TextBox TextBox
Name = txtCompanyName Name = txtContactName Name = txtContactTitle
Text = (BRANCO) Text = (BRANCO) Text = (BRANCO)
TextBox TextBox TextBox
Name = txtcAddress Name = txtCity Name = txtRegion
Text = (BRANCO) Text = (BRANCO) Text = (BRANCO)
TextBox TextBox TextBox
Name = txtCountry Name = txtPostalCode Name = txtPhone
Text = (BRANCO) Text = (BRANCO) Text = (BRANCO)
TextBox Label Label
Name = txtcod_cli AutoSize = True AutoSize = True
Text = (BRANCO) Caption = CEP: Caption = Estado:
Label Label Label
AutoSize = True AutoSize = True AutoSize = True
Caption = Telefone: Caption = País: Caption = FAX:
Label Label Label
AutoSize = True AutoSize = True AutoSize = True
Caption = Nome do Cliente: Caption = Companhia Caption = Cidade:
Tela do Exercício. Label Label Label
Private Sub cmdincluir_Click() AutoSize = True AutoSize = True AutoSize = True
data_cli.Recordset.FindFirst "CustomerID = ‘" & txtcod_cli.Text & “’” Caption = Cargo: Caption = Endereço: Caption = Código do Cliente::
If data_cli.Recordset.NoMatch Then CommandButton CommandButton
data_cli.Recordset.AddNew
Name = cmdSair Name = cmdIncluir
data_cli.Recordset("CustomerID") = txtcod_cli.Text
data_cli.Recordset("CompanyName") = txtCompanyName.Text Caption = &Sair Caption = &Incluir
data_cli.Recordset("ContactName") = txtContactName.Text
data_cli.Recordset("ContactTitle") = txtContactName.Text Sub Limpa_campos()
data_cli.Recordset(“Contry”) = txtCountry.Text txtcod_cli.Text = ""
data_cli.Recordset(“PostalCode”) = txtPostalCode.Text txtFax.Text = ""
data_cli.Recordset(“Address”) = txtAddress.Text txtCompanyName.Text = ""
data_cli.Recordset(“City”) = txtCity.Text txtContactName.Text = ""
data_cli.Recordset(“Region”) = txtRegion.Text
data_cli.Recordset(“Phone”) = txtPhone.Text
txtContactTitle.Text = ""
data_cli.Recordset(“Fax”) = txtFax.text txtCountry.Text = ""
data_cli.Recordset.Update txtPostalCode.Text = ""
Else txtAddress.Text = ""
MsgBox "Cliente já cadastrado!!!" txtCity.Text = ""
End If
txtRegion.Text = ""
Limpa_campos
End Sub txtPhone.Text = ""
End Sub

Visual Basic 5.0 68


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exercício 14 : Alteração e Exclusão de Produtos Resolução do Exercício:


Fazer uma aplicação para alteração e exclusão de produtos em um Form Data Control TextBox
almoxarifado. Para isso, abra o project do exercício 10 e utilize o Name = FrmAltExcl Name = data_cli Name = txtFax
formulário de alteração/exclusão. Caption = Inclusão de Novos DatabaseName = ...\nwind.mdb Text = (BRANCO)
Clientes RecordsetType = Dynaset
RecordSource = Customers
TextBox TextBox TextBox
Name = txtCompanyName Name = txtContactName Name = txtContactTitle
Text = (BRANCO) Text = (BRANCO) Text = (BRANCO)
TextBox TextBox TextBox
Name = txtcAddress Name = txtCity Name = txtRegion
Text = (BRANCO) Text = (BRANCO) Text = (BRANCO)
TextBox TextBox TextBox
Name = txtCountry Name = txtPostalCode Name = txtPhone
Text = (BRANCO) Text = (BRANCO) Text = (BRANCO)
TextBox Label Label
Name = txtcod_cli AutoSize = True AutoSize = True
Text = (BRANCO) Caption = CEP: Caption = Estado:
Label Label Label
AutoSize = True AutoSize = True AutoSize = True
Caption = Telefone: Caption = País: Caption = FAX:
Label Label Label
AutoSize = True AutoSize = True AutoSize = True
Caption = Nome do Cliente: Caption = Companhia Caption = Cidade:
Label Label Label
Tela do exercício em tempo de Design. AutoSize = True AutoSize = True AutoSize = True
Caption = Cargo: Caption = Endereço: Caption = Código do Cliente::
Sub Limpa_campos() CommandButton CommandButton
Private Sub cmdexcluir_Click() Name = cmdSair Name = cmdIncluir
txtcod_cli.Text = ""
txtFax.Text = "" data_cli.Recordset.Delete Caption = &Sair Caption = &Incluir
txtCompanyName.Text = "" data_cli.Refresh
txtContactName.Text = ""
txtContactTitle.Text = "" Limpa_campos
txtCountry.Text = "" End Sub
txtPostalCode.Text = ""
txtAddress.Text = ""
txtCity.Text = ""
txtRegion.Text = ""
txtPhone.Text = ""
End Sub

Visual Basic 5.0 69


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Resolução do Exercício:
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 não está cadastrado!!!"
txtcod_cli.Enabled = True
txtcod_cli.SetFocus
End If
End Sub

Visual Basic 5.0 70


Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Códigos de Erros NOTAS:

Para evitar que o VB interrompa seu programa quando um erro


ocorrer, adicione a instrução On Error depois da declaração do Sub.

A instrução On Error deve ser seguida pelos comandos:

- Resume Next
- GoTo <label>

Resume Next

Com essa instrução, a execução do programa volta para a


instrução imediatamente posterior àquela em que o erro foi detectado
pelo VB.

GoTo <label>

Quando acontece um erro, o VB desvia o fluxo de execução


para um label definido no módulo.
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 Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Variáveis e Constantes no VB Constantes de Saída da Função MsgBox( )

Tabela de Cores para a Função QBCOLOR( ) Constante Valor Botão Clicado


VbDOK 1 Botão de OK foi clicado
Preto 0 Cinza 8 VbCancel 2 Botão de Cancelar foi clicado
Azul 1 Azul claro 9 VbAbort 3 Botão de Anular foi clicado
Verde 2 Verde claro 10 VbRetry 4 Botão de Repetir foi clicado
Ciano 3 Ciano claro 11 VbIgnore 5 Botão de Ignorar foi clicado
Vermelho 4 Vermelho claro 12 VbYes 6 Botão de Sim foi clicado
Magenta 5 Magenta claro 13 VbNo 7 Botão de Não foi clicado
Amarelo 6 Amarelo claro 14
Branco 7 Branco brilhante 15

Constantes para Botões

Constante Valor Botões Mostrados


VbOKOnly 0 OK
VbOKCancel 1 OK, Cancelar
VbAbortRetryIgnore 2 Anular, Repetir, Ignorar
VbYesNoCancel 3 Sim, Não, Cancelar
VbYesNo 4 Sim, Não
vbRetryCancel 5 Repetir, Cancelar

Constantes de Ícones

Constante Valor Ïcone Mostrado


VbCritical 16 Ícone de Stop
VbQuestion 32 Ícone de ponto de interrogação
VbExclamation 48 Ícone de ponto de exclamação
vbInformation 64 Ícone de Informação

Visual Basic 5.0 72


Centro de Computação
Gerência 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 Fórum Access /Visual Basic/ Office
Revista Developers – Revista brasileira para desenvolvedores.

Visual Basic 5.0 73

Você também pode gostar