Você está na página 1de 72

ADO

Ling. de Programao Prof.: Renata Rocha

MICROSOFT VISUAL BASIC


1. A APLICAO TRADICIONAL E A APLICAO ORIENTADA A OBJETOS E DIRIGIDA A EVENTOS
Em uma aplicao tradicional ou programada de forma procedural, a aplicao por si s controla que pores do cdigo sero executadas. A execuo comea na primeira linha de cdigo e segue um caminho pr-definido atravs de toda a aplicao, chamando subrotinas conforme for sendo necessrio. Em uma aplicao controlada por eventos ou event-driven, uma ao do usurio ou do sistema ativa um procedimento associado a este evento. Assim a ordem atravs do qual o seu Cdigo de programa executado depende de quais eventos ocorram. Estes eventos dependem das aes tomadas pelo usurio.

2. OBJETOS, MTODOS E EVENTOS


Objetos so coisas definidas por CLASSES e que possuem Propriedades, Mtodos e Eventos. Uma janela, um boto e um banco de dados so objetos. Mas para entender bem o que um objeto ainda preciso definir propriedades, mtodos e eventos. Comecemos pelas Classes. Uma janela muito diferente de um boto, mas os dois so objetos. Isso acontece porque eles so definidos por Classes diferentes. Classes definem um objeto a grosso modo. Definem suas propriedades, seus mtodos e seus eventos. Classes so os moldes dos objetos. Um boto pode ser diferente do outro (maior ou menor, com uma legenda diferente...). Mas como isso possvel se eles pertencem mesma classe? Porque suas propriedades so diferentes. As propriedades definem caractersticas mais especficas dos objetos. Um boto tem, por exemplo, propriedades que determinam sua altura, sua largura e sua legenda. Um mtodo uma ao que age sobre um objeto. Por exemplo, se tivermos uma lista, adicionamos ou removemos itens atravs de mtodos. Ou ainda, se quisssemos mover um certo objeto pela tela, poderamos usar um mtodo. Por fim, o evento. Digamos que em um certo programa, pressionamos um boto e um Beep emitido. Como o programa sabe quando apertamos o boto? Ele sabe porque quando um objeto da classe boto clicado, gerado um evento. E a esse evento que est associado o cdigo (comandos) que produzir o Beep. Ocorrem tambm eventos, por exemplo, ao modificarmos o texto de uma caixa de texto ou ao mover o cursor do mouse sobre uma janela. Para ficar mais claro, um exemplo no muito nobre: digamos que haja uma classe "Galinha". Um objeto Galinha poderia ter a propriedade "Idade", uma propriedade "CorDasPenas" e uma propriedade "Nome". Ela teria um mtodo "PoeOvo" e um mtodo "Cacareja". E ela geraria eventos ao dormir ao acordar e ao ser ameaada.

3. AMBIENTE DE PROGRAMAO DO VISUAL BASIC

Note que a janela Properties tem, logo abaixo da barra de ttulo, uma "caixa de seleo" dizendo "Form1 Form". Esta caixa lista todos os objetos colocados na janela ativa. O texto em negrito "Form1" indica o nome do objeto. O texto ao lado, "Form", indica a classe qual pertence o objeto. Logo abaixo h a lista das propriedades. esquerda ficam os nomes das propriedades e a direita os seus respectivos valores.

4. PRINCIPAIS CONTROLES DO VB
CommandButton (Boto de Comando) um dos Controles mais utilizados em programas do Windows, no apenas em VB. Sua funo principal executar comandos quando clicado. O Evento Click o mais importante para ele. As Propriedades Caption, Name, Enabled so importantes entre outras. A propriedade Enabled indica se o boto responder ao Evento Click ou no. PictureBox (Caixa de Imagem) - Este Controle utilizado para exibir figuras nos Formulrios e tambm responde ao Evento Click. A propriedade Picture a que abre a caixa de dilogo para indicarmos o path do cone ou da figura que queremos exibir.

Label (Etiqueta ou Rtulo) Exibir um texto onde o usurio no possa alterar. Sua propriedade principal a Caption (que o texto que o Controle exibir). Outras Propriedades de formatao do texto: FontName, FontBold, Alignment, etc. TextBox (Caixa de Texto) Exibir um texto onde o usurio possa editar. Sua propriedade principal o Text (que o texto que o Controle contem). As Propriedades de formatao do texto so idnticas ao Label. CheckBox (Caixa de Verificao) til quando necessitamos informar ao sistema que determinadas informaes so verdadeiras ou falsas. Em um mesmo Formulrio vrios CheckBoxs podem assumir o valor verdadeiro ao mesmo tempo. Algumas Propriedades: Visible, Enabled e Caption. OptionButton (Boto de Opo ou boto de rdio) Com este Controle somente uma das opes pode assumir o valor verdadeiro em um mesmo conjunto. Para Ter mais de um conjunto verdadeiro temos que utilizar o Controle Frame. ListBox (Caixa de Listagem) Exibir e selecionar uma lista de itens. As Propriedades ListCount e ListIndex so utilizadas para identificar os itens da lista. Os Mtodos AddItem e RemoveItem so utilizados para adicionar e remover itens. ComboBox (Caixa de Combinao) Combinao de uma TextBox com uma ListBox. Pode-se editar um texto na parte superior ou selecionar um item da lista. Propriedades idnticas as da ListBox. ScrollBar (Barra de Rolagem) Vertical e Horizontal - Estes controles assumem valos mximos ou mnimos de acordo com as propriedades Max e Min, respectivamente. Estes controles podem receber um deslocamento pequeno (propriedade SmallChange), que ocorre quando se clica nas setas e um deslocamento grande (propriedade LangeChange), que ocorre quando se clica na barra. O controle recebe o valor da posio atual. Timer (Temporizador) til para se controlar intervalos de tempo. Evento mais importante o Timer e a propriedade mais importante o Interval (que determina em milisegundos o intervalo de tempo d controle). Shape (Formas Geomtricas) Adiciona figuras geomtricas aos Formulrios. Com a Propriedade Shape escolhemos o tipo de figura (forma). Outras Propriedades BorderColor, BorderStyle e BackColor. Line (Linha) Adicionar linhas geomtricas a formulrios. Propriedades BorderColor, BorderWidth, BorderStyle, X1, X2, Y1 e Y2.

Image (Imagem) Exibe cones ou figuras e tambm responde ao Evento Click. Diferentemente do Controle Picture este controle tem a Propriedade Stretch que ajusta o tamanho da imagem para preencher a moldura. Adodc (ADO Data Control) Conecta-se a um Banco de Dados para extrair e manipular informaes deste BD. DataList Automaticamente preenche uma lista com campos de um ADO Data Control.

DataCombo similar ao DataList, mas permite editar o campo selecionado.

DataGrid Exibe e manipula uma srie de linhas e colunas representando Registros e Campos de um objeto Recordset. OLE Incorpora objetos de outros aplicativos em um formulrio.

5. PROPRIEDADES GERAIS
As principais propriedades dos objetos do Visual BASIC, que esto presentes em praticamente todos os objetos, so as seguintes: Caption - Nos botes, form, e frames, altera o ttulo a ser exibido. Enabled - Presente em todos os objetos, permite que os objetos sejam acessados, caso ela esteja definida como True. Esta propriedade habilita ou desabilita o objeto. Visible - Torna o objeto invisvel caso esta propriedade esteja definida como False. Font - Presente em objetos como textbox, label, botes command e botes check e option. Permite que seja alterada a fonte de um objeto. Name - Altera o nome do objeto, para fins de referncia durante a programao. Forecolor, Backcolor - define a cor da fonte e do fundo de um textbox, um label, ou outro objeto.

6. PROPRIEDADES DO FORMULRIO
Height - altura do formulrio Weight - largura do formulrio Maxbutton - ativa ou desativa a presena do boto Maximizar Minbutton - ativa ou desativa presena do boto Minimizar Left - altera a distncia do formulrio a partir da extrema esquerda do vdeo Top - altera a distncia do formulrio a partir do topo do vdeo

7. EVENTOS MAIS COMUNS


O Visual BASIC apresenta alguns eventos que so usados freqentemente, e se apresentam na maior parte dos objetos. Abaixo segue uma relao dos principais e suas respectivas funes. Click: um evento que executa determinadas aes especificadas pelo programador quando algum clica sobre o objeto. Dblclick: Executa determinadas aes especificadas pelo programador quando algum clica duas vezes sobre algum objeto. Load: executa aes sempre que um formulrio for carregado na memria. Gotfocus: quando um objeto, um boto por exemplo, apenas ganha o foco. Lostfocus: quando o foco passa para um outro objeto. Quando um objeto perde o foco. Keypress: quando pressionada alguma tecla, geralmente em caixas de texto, so acionados determinados comandos. Mousemove: sempre que se move o ponteiro do mouse, algo ser ativado.

8. VARIVEIS
Variveis so reas de memria utilizadas para armazenar dados temporariamente. Digamos que voc queira fazer uma Calculadora. Os nmeros sero armazenados em variveis. Uma varivel identificada por um nome. Este nome deve obedecer s seguintes regras: - No pode haver repetio de nomes. - O nome deve comear com uma letra. - O nome no pode conter espaos, pontos, vrgulas e outros caracteres do tipo !, $, %. - Deve ter, no mximo, 255 caracteres.

Tipos de variveis:
Data type Byte Boolean Integer Long (long integer) Single (single-precision floating-point) Double (double-precision floating-point) Storage size 1 byte 2 bytes 2 bytes 4 bytes 4 bytes Range 0 to 255 True or False -32,768 to 32,767 -2,147,483,648 to 2,147,483,647 -3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive values -1.79769313486232E308 to 4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values -922,337,203,685,477.5808 to 922,337,203,685,477.5807 +/-79,228,162,514,264,337,593,543,950,335 c/ no decimal point; +/7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest non-zero number is +/0.0000000000000000000000000001 January 1, 100 to December 31, 9999 Any Object reference 0 to approximately 2 billion

8 bytes

Currency (scaled integer) Decimal

8 bytes 14bytes

Date Object String (variable-length)

String (fixed-length) Variant (with numbers) Variant (with characters)

8 bytes 4 bytes 10 bytes + string length Length of string 16 bytes 22 bytes + string length

1 to approximately 65,400 Any numeric value up to the range of a Double Same range as for variable-length String

Declarao de variveis:
Dim x as String Dim matriz(9, 9) As Integer Obs.: Quando voc no declara uma varivel, ela considerada do tipo Variant. Note que este tipo ocupa pelo menos 16 bytes de memria, bem mais que os outros. Mas, ser que faz muita diferena gastar 2, 4, 8 ou 16 bytes da memria? Hoje os computadores tm muita memria. Tudo bem, em programas pequenos isto no ser uma diferena crucial, mas em um programa maior, com centenas de variveis, isto pode fazer a diferena. Alm disto, devemos lembrar que o Windows pode trabalhar com vrios programas abertos ao mesmo tempo; e se seu programa for "gordo" poder atrapalhar a

performance dos outros. Alm disto, quanto menos memria ocupa um certo tipo de dado, mais rapidamente ele processado. Por isso, procure sempre usar o "menor" tipo de dado possvel. Mas lembre-se: se voc ultrapassar o limite da varivel acontecer um erro. (Exemplo: tente criar uma varivel do tipo Byte e atribua a ela um valor maior que 255).

Converso de tipos de variveis


Funo Cbool Cbyte Ccur Cdate CDbl Cint CLng CSng CStr Cvar CVErr Descrio Converte seu argumento para Boolean Converte seu argumento para Byte Converte seu argumento para Currency Converte seu argumento para Date Converte seu argumento para Double Converte seu argumento para Integer Converte seu argumento para Long Converte seu argumento para Single Converte seu argumento para String Converte seu argumento para Variant Converte seu argumento para Error

9. INSTRUES DE FLUXO DE CONTROLE E INSTRUES LOOP


If ... Then ... End If

If ... Then ... Else ... End If

Select Case End Select

Select Case Case Else End Select

Do ... Loop

(Do While Do Until)

For ... Next

(Step)

While ... Wend

10. A INSTRUO EXIT


A instruo Exit permite que voc saia prematuramente de um bloco de instrues em uma estrutura de controle de um loop. Exemplo: x = 0 Do While x < 10 If Vetor(x) < 0 Then Exit Do Vetor(x) = Sqr(Vetor(x)) x = x + 1 Loop

11. UTILIZANDO MAIS DE UM FORMULRIO


A adio de novos formulrios na sua aplicao feita atravs do menu Project, comando Add Form.

12. CONECTANDO FORMULRIOS


Comando Load form Form.Show [Modal] Ao Carrega o formulrio, mas o deixa invisvel. Mostra o formulrio se ele estiver invisvel. Se ele no estiver carregado, ento ele primeiro carrega o formulrio e depois o mostra. Modal define se o formulrio que fez a carga fica parado at a desativao do novo formulrio (1), ou se continua a sua execuo sem se importar com o prximo formulrio (0). Exemplos: Form1.Show (0) Form1.Show (1) O formulrio descarregado da memria e a sua execuo encerrada.

Unload form

13. FORMULRIOS MDI


Para criar um formulrio MDI, clique sobre o menu Project e escolha a opo Add MDI Form. Um projeto do VB s pode possuir um formulrio MDI. Para que os outros formulrios sejam abertos dentro do MDI, a propriedade MDIChild de cada um deles deve ser definida como True.

14. FORMULRIOS SPLASH


O formulrio Splash aquela tela que aparece logo ao iniciar a aplicao e desaparece em seguida, como se fosse uma tela de abertura/apresentao. Para criar um formulrio Splash, clique sobre o menu Project > Add Form e escolha a opo Splash Screen.

Em seguida, defina uma aparncia agradvel ao Splash, adicionando novos objetos (Label, TextBox, Image) e/ou excluindo os objetos j inseridos automaticamente. Para fazer com que o Splash seja apresentado apenas durante alguns segundos, devemos adicionar ainda um objeto Timer. A propriedade Interval do objeto Timer deve ser definida de acordo com o tempo que o Splash ser apresentado. Este tempo definido em milisegundos. Por exemplo, para mostrar o Splash durante 4 segundos, defina a propriedade Interval como 4000. Alm disso, devemos adicionar um pequeno cdigo de programao associado ao evento Timer do objeto Timer. Private Sub Timer1_Timer() MDIForm1.Show Unload Me End Sub No cdigo acima, ao trmino dos 4 segundos, mostrado o MDIForm, que provavelmente o formulrio principal da aplicao, e em seguida o Splash descarregado. Para que o Splash seja o primeiro formulrio a ser apresentado, clique sobre o menu Project > Project1 Properties (em Project1 estar o nome do seu projeto). Em seguida, na guia General, escolha o formulrio Splash na lista Startup Object.

15. CRIAO DE MENUS


Para a criao de um Menu devemos ir ao menu Tools Menu Editor. 1) Comeamos digitando o Ttulo (em Caption) do menu mais esquerda. Caso desejemos acessar esse menu via Alt e a letra grifada devemos inserir o & antes da letra que ser grifada. 2) Depois digitamos o nome (em Name) do menu para referncia no cdigo. 3) Os outros itens no so obrigatrios. 4) Clicar em Next para entrar um novo menu ou item de menu. Caso seja um item de menu devemos clicar na seta para a direita quando aparecero trs pontinhos esquerda do ttulo do item que ficar abaixo do nome do menu.

16. CRIANDO UMA BARRA DE FERRAMENTAS


Para adicionar uma barra de ferramentas ao seu programa, primeiro preciso adicionar um componente Toolbox. Clique sobre o menu Project > Components e escolha a opo Microsoft Windows Common Controls 5.0. Surgiro alguns componentes na Toolbox, dentre eles o Toolbar e o ImageList, que utilizaremos na criao da barra de ferramentas. Siga os passos: - Desenhe no seu formulrio um objeto Toolbar e um objeto ImageList. - No objeto ImageList, sero armazenadas as imagens utilizadas na Toolbar. Clique sobre o ImageList com o boto direito e escolha Properties. - Na janela que se abre, escolha a guia Images.

Clique no boto Insert Picture para adicionar as imagens, repetindo o processo para cada imagem a ser adicionada. Repare que cada imagem adicionada possui um ndice (Index). Clique em OK aps ter adicionado todas as imagens. Para adicionar botes Toolbar, clique sobre ela com o boto direito e escolha Properties. Na janela que se abre, escolha a guia Buttons.

Clique em Insert Button para adicionar botes. Para cada boto adicionado defina as propriedades Image (nmero da imagem no ImageList) e ToolTipText (texto informativo mostrado quando se move o mouse sobre o boto).

Aps inserir e configurar todos os botes, clique em OK.

Em linha de cdigo, para selecionar qual boto foi clicado, use um cdigo semelhante ao exemplo seguinte: Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button) Select Case Button.Index Case 1: Form1.Show Case 2: Form2.Show Case 3: Form3.Show Case 4: Form4.Show Case 5: Form5.Show End Select End Sub No exemplo acima, cada boto clicado abre um formulrio.

17. ESCOPO (OS NVEIS DE UM PROGRAMA)


Private Sub txtNome_Change() Dim Nome As String Nome = txtNome.Text End Sub

A varivel Nome recebe a propriedade Text da txtNome

Quando declaramos uma varivel com um Dim, dentro de um subprocedimento (como no exemplo acima), a varivel s existe dentro daquele subprocedimento. Ela no est disponvel para outras "Subs". Alm disto, quando a Sub que a continha acaba de ser executada, o valor da varivel se perde, mesmo para futuras "chamadas" da mesma Sub. Uma varivel declarada na seo Declarations (General) de um Form est disponvel para todas as suas Subs. Porm, se usarmos dois formulrios, a varivel declarada em um deles no estar disponvel para o outro. A soluo declarar a varivel em um nvel "mais abrangente": o mdulo. Para criar um mdulo, acesse o menu Project > Add Module. Ento, declare a varivel da seguinte maneira:
Public Nome as String

Note que declaramos usando "Public", que informa ao VB que esta varivel ser "pblica", ou seja, disponvel para todas as Subs de todos os Forms deste programa.

18. A LINGUAGEM SQL


A linguagem SQL(Structured Query Language) uma linguagem de alto nvel para manipulao de dados dentro do modelo relacional. Seu objetivo fornecer uma interface de alto nvel ao usurio. uma linguagem no procedural, e,no cabe ao usurio definir como o gerenciador de banco de dados executar uma tarefa, mas somente o ele que deve fazer. Uma instruo SQL consiste em trs partes:

As declaraes de parmetros A instruo manipulativa As declaraes de opes

Vejamos na tabela abaixo um resumo das clusulas manipulativas e suas finalidades: Instruo SELECT Funo Obtm um grupo de registros e insere os registros em um dynaset ou em uma tabela. Define os valores dos campos de uma tabela em uma atualizao.

UPDATE DELETE Remove registros de uma tabela. FROM INSERT INTO Acrescenta um grupo de registros a uma tabela.

Vejamos alguns exemplos da instruo SELECT: 1) Seleciona os campos "Primeiro nome" e "Sobrenome" de todos os registros da tabela Empregados. SELECT [Primeiro nome], [Sobrenome] FROM Empregados 2) Seleciona todos os campos da tabela Empregados. Note o uso parmetro (*) indicando todos os campos da tabela indicada. SELECT Empregados.* FROM Empregados 3) Conta o nmero de registros que tm uma entrada no campo "Cdigo postal" e coloca o ttulo Contagem no topo da coluna. SELECT Count([Cdigo postal]) AS Contagem FROM Clientes 4) Seleciona os campos "Primeiro nome" e "Sobrenome" de cada registro cujo sobrenome seja Pereira. SELECT [Primeiro nome], [Sobrenome] FROM Empregados WHERE [Sobrenome] = 'Pereira' 5) Seleciona os campos "Primeiro nome" e "Sobrenome" para Empregados cujos sobrenomes comeam pela letra S. SELECT [Primeiro nome], [Sobrenome] FROM Empregados WHERE [Sobrenome] Like 'S*'

Observaes:
FROM Indica as tabelas utilizadas como fonte de dados. WHERE Especifica as condies que os registros devem satisfazer para compor o subconjunto de dados.

19. BANCOS DE DADOS FIREBIRD


19.1. Obtendo o Firebird
A ltima verso do Firebird pode ser baixada gratuitamente no site oficial, atravs de seu browser preferido acesse o endereo http://www.firebirdsql.com/. Em seguida, selecione a opo download.

Ao contrrio de muitos sistemas de gerenciamento de bancos de dados que executam apenas na plataforma Windows, o Firebird compatvel com Linux, Mac, Unix, dentre outros. Por isso tenha o cuidado de selecionar o programa na categoria win32 que apropriada para quem trabalha com o Windows.

Selecione em seguida de que servidor ser feito o download do programa:

Dica: as distribuies do Firebird terminadas com a string -RCn no so verses finais, por isso, prefira usar a ltima release do produto que muito mais estvel, e no, uma verso beta que ainda no foi testada totalmente.

19.2. Instalando o Firebird


a) Abra a pasta onde foi salvo o arquivo baixado do Firebird, em seguida, d um duplo clique sobre o cone do programa.

b) Ser apresentada uma caixa de dialogo com a mensagem This will install Firebird Database Server 1.0. Do you wish to continue?. Clique no boto Sim para iniciar a instalao.

c) Antes de clicar no boto Next > para continuar a instalao, feche todos os aplicativos abertos. d) Ser apresentada a License Agreement, selecione o boto de opo I accept the agreement para indicar ao programa que voc concorda com a licena, em seguida, clique no boto Next > para continuar a instalao. e) Na caixa de dilogo Information sero apresentadas informaes complementares sobre a instalao do Firebird. Clique no boto Next > para continuar. f) No caixa de dilogo Select Destination Directory ser possvel informar o local onde o Firebird ser instalado. recomendvel no modificar a localizao padro que \Arquivos de programas\Firebird. Clique no boto Next > para continuar.

g) O prximo passo informar os componentes a serem instalados, selecione a opo Full installation of Server and development tools, em seguida, clique no boto Next > para continuar. h) Na caixa de dilogo Select Start Menu Folder dever ser informado o nome da pasta do menu iniciar onde os cones do programa sero criados. Deixe o nome padro da pasta que Firebird. D um clique no boto Next > para continuar. i) Na caixa de dilogo Select Additional Tasks no altere nenhuma das opes, simplesmente, d um clique no no boto Next > para continuar.

Dica: as distribuies do Firebird quando instaladas no Windows 95 e 98 so executadas como um aplicativo. A partir do Windows 2000 como um servio. j) Na caixa de dilogo Ready to install clique no boto Install para iniciar a copia dos arquivos para o disco rgido de seu computador. k) Se for apresentada outra caixa de dilogo, clique no boto Next ou Ok para continuar a instalao.

19.3. Registrando um novo Servidor no Firebird


a) Aps executar o IB Console, d um clique com o boto direito do mouse sobre o objeto InterBase Server, em seguida selecione a opo Register ... do menu de atalho.

b) Selecione a opo Remote Server, em seguida, preenche todos parmetros necessrios ao registro e conexo de um novo servidor no IB Console.

Nome do Servidor: nmero IP da mquina local (e.g. 127.0.0.1), ou ento, o nmero IP de uma mquina remota da rede (e.g. 192.168.0.1). Protocolo da Rede: TCP/IP. Apelido do Servidor: normalmente o nome da instituio, departamento ou setor onde o computador que possui o banco de dados esta armazenado (e.g. Laboratorio3). Descrio: informao complementar Nome do Usurio: SYSDBA Senha: masterkey

No se esquea de deixar selecionada a caixa de checagem Save Alias Information.

c) Aps preencher todos os parmetros obrigatrios, d um clique com o boto esquerdo do mouse no boto OK.

19.4. Fechando a conexo de um Servidor no Firebird


a) Estando no IB Console, d um clique com o boto direito do mouse sobre o objeto DSI, em seguida selecione a opo Logout do menu de atalho.

b) O IB Console apresentar uma caixa de dialogo com a pergunta: voc tem certeza que voc quer fechar a conexo do servidor selecionado?. D um clique no boto Sim.

19.5. Abrindo a conexo de um Servidor no Firebird


a) Estando no IB Console, d um clique com o boto direito do mouse sobre o objeto DSI, em seguida selecione a opo Login... do menu de atalho.

b) Ser solicitada a informao de Login no servidor. Informe para os campos Nome do Usurio e Senha, respectivamente, sysdba e masterkey. Em seguida, d um clique no boto Login.

19.6. Criando um novo Banco de Dados


a) Estando no IB Console, d um clique com o boto direito do mouse sobre o objeto Database, em seguida selecione a opo Create Database... do menu de atalho.

b) Durante o processo de criao de um novo Banco de Dados obrigatrio o preenchimento dos seguintes campos: Filename(s), Size (Pages) e Alias. interessante preencher o campo Size (Pages) com o valor padro 4096 e deixar selecionada a caixa de checagem Register Database. Aps preench-los d um clique no boto OK.

O cone do objeto de dados correspondente ao banco de dados Hotel ser includo dentro do objeto Databases do Servidor DSI.

19.7. Verificando onde foi gravado o novo Banco de Dados


a) D um clique com o boto direito do mouse sobre o cone do servidor DSI, em seguida, selecione a opo Properties.... b) Na caixa de dilogo Server Properties selecione a guia General e verifique o contedo do campo Attached Databases.

19.8. Trabalhando com Tabelas Como criar uma tabela e definir o campo que a chave primria
a) Selecione o nome do Banco de Dados onde ser criada a tabela clicando com o boto esquerdo do mouse. Em seguida, selecione o comando Interactive SQL... existente no menu Tools.

b) Digite no Interactive SQL o comando Create Table com as informaes sobre o nome da tabela; o nome, o tipo de dados e se o contedo pode ser nulo para cada campo; e o nome do campo escolhido para ser chave primria.

c) Ao terminar de digitar o comando no Interactive SQL execute-o pressionando Ctrl+E ou ento clicando sobre o cone da barra de ferramentas mostrada na ferramenta abaixo:

d) Se o comando digitado no possuir nenhum erro de sintaxe e for executado corretamente, a tela do Interactive SQL ser apagada e no ser apresentada uma mensagem de erro. Para rever o comando digitado use o cone da barra de ferramentas mostrado na figura abaixo:

Como conferir se a tabela Hospede e sua chave primria foi criada


a) Com o boto esquerdo do mouse clique na opo Windows do menu do Interactive SQL, selecione na caixa de listagem da caixa de dilogo do Active Windows o IB Console, em seguida, clique no boto de comando Switch To....

b) Ao retornar a janela do IB Console, selecione com o mouse o objeto Table existente dentro do objeto Hotel do Databases do servidor DSI. Se a tabela Hospede tiver sido realmente criada ela ser apresentada no lado direito da janela do IB Console.

Como criar uma tabela que possui dependncia de identificao


Suponha que voc viajou para uma cidade onde pretende passar parte de suas frias, chegando l decidiu se hospedar em um Hotel. Como se trata de um novo cliente o atendente somente conseguir registrar sua hospedagem aps cadastr-lo como novo hospede. Dizemos neste caso que a tabela Hospedagens possui dependncia de identificao da tabela Hospedes, ou seja, somente ser possvel cadastrar hospedagens para hospedes anteriormente cadastrados. O procedimento para criao da tabela Hospedagens ser acrescido da criao de um relacionamento com a tabela Hospedes. a) Digite os comandos create table e alter table conforme mostrado na figura abaixo. Observe que o campo hContador que identifica o hospede aparece com o mesmo nome nas tabelas Hospedes e Hospedagens.

20. CONEXO DO BANCO DE DADOS FIREBIRD COM O VISUAL BASIC 20.1. Instalao do Driver ODBC
No VB, para abrir um banco de dados Firebird, necessrio antes instalar um driver ODBC. Para instal-lo, basta seguir os passos do assistente. Nesta apostila, est sendo usado o IBPhoenix Firebird ODBC Driver.

20.2. Incluindo a Referncia ao ADO


No Visual Basic, para incluir a referncia ao ADO, clique no menu Project > References. Na lista relacionada marque a opo: Microsoft ActiveX Data Objects 2.x Library.

20.3. Criando a String de Conexo


A string de conexo um texto com informaes necessrias conexo. Para cri-la, inclua em seu projeto o componente Data Environment executando uma das seguintes seqncias: Menu Project Add Data Environment, ou ento, Menu Project More Active X Designers Data Environment. Ser mostrada a janela do Data Environment. D um clique com o boto direito do mouse sobre o item Connection1, em seguida, selecione a opo Properties... do menu de atalho.

Na prxima caixa de dilogo dever ser selecionado o provedor de acesso para o banco de dados que a conexo abrir. Selecione a opo Microsoft OLE DB Provider for ODBC Drivers.

Clique em Next.

Na tela seguinte, selecione a opo Use connection string e clique no boto Build.

Selecione a guia Machine Data Source e clique em New.

Na prxima tela, clique em Avanar.

Selecione a opo Firebird/Interbase(r) driver e clique em Avanar, depois em Concluir.

Na tela que se segue, deveremos dar um nome fonte de dados criada (DSN). Tambm ser preciso indicar o arquivo do banco de dados (Database), a conta para acesso ao banco (Database Account) e a senha (Password). No exemplo abaixo,

nomeamos a fonte de dados como Banco, o arquivo do banco de dados se chama Teste.gdb e est localizado na rea de Trabalho, a conta para acesso SYSDBA e a senha masterkey. Veja a figura:

Aps efetuar todas as configuraes nesta tela, clique em Test connection. Dever aparecer a seguinte mensagem:

Clique em OK e depois OK novamente. Na tela anterior, dever aparecer a string de conexo, conforme mostrado abaixo:

Selecione a string de conexo e copie-a utilizando CTRL+C. A string de conexo tambm pode ser copiada mais tarde. Para encontr-la, clique com o boto direito sobre Connection1 e selecione Properties. Em seguida, escolha a guia Connection.

21. DEFININDO AS VARIVEIS DO PROGRAMA


As variveis que representaro o banco de dados e a tabela devero ser declaradas dentro da seo General/Declarations do formulrio atual. importante ainda declarar uma varivel onde ser armazenada a string de conexo usada para abrir o banco de dados.

22. COMANDOS PARA ABERTURA DO BANCO DE DADOS


Como a string de conexo ser utilizada em diversos eventos do formulrio, interessante que ela seja armazenada em uma varivel para facilitar a sua reutilizao, poupando digitao desnecessria.

23. DESENHANDO A INTERFACE DO PROGRAMA


Antes de programar os demais eventos do formulrio necessrio desenhar a interface do programa. Para este exemplo, levaremos em considerao que o formulrio FrmCli possui o layout mostrado abaixo:

24. PROGRAMANDO OS EVENTOS 24.1. Consulta da Tabela


Sempre que o usurio digitar o cdigo de um cliente que j est cadastrado no banco de dados, o programa dever mostrar os dados deste cliente. Abaixo a lgica usada para realizar este procedimento.
Private Sub txtCodigo_LostFocus() If Not IsNumeric(txtCodigo.Text) Then Exit Sub Dim ComandoSQL As String

ComandoSQL = "SELECT * FROM CLIENTES " & _ "WHERE Codigo=" & txtCodigo.Text & ";" TbCli.Open ComandoSQL, StringConexao, adOpenStatic If TbCli.EOF Then Limpar_Campos Else txtNome.Text = TbCli!nome txtTelefone.Text = TbCli!telefone End If TbCli.Close End Sub

24.2. Excluso de Registro


Antes de excluir o registro interessante solicitar do usurio a confirmao da operao. O exemplo do cdigo est mostrado abaixo:
Private Sub btnExcluir_Click() If Not IsNumeric(txtCodigo.Text) Then Exit Sub Dim ComandoSQL As String If MsgBox("Tem certeza?", vbYesNo, "Excluir") = vbYes Then ComandoSQL = "DELETE FROM CLIENTES " & _ "WHERE Codigo=" & txtCodigo.Text & ";" Con.Execute ComandoSQL Limpar_Campos txtCodigo.SetFocus End If End Sub

24.3. Salvamento de Registro


Private Sub btnSalvar_Click() Dim ComandoSQL As String Dim Comando As New ADODB.Command ComandoSQL = "select * from CLIENTES " & _ "where codigo = " & txtCodigo.Text & ";" TbCli.Open ComandoSQL, StringConexao, adOpenStatic If TbCli.EOF Then ComandoSQL = "INSERT INTO CLIENTES (codigo, nome, telefone) " & _ "VALUES (?, ?, ?)" TbCli.Close Comando.ActiveConnection = StringConexao Comando.CommandText = ComandoSQL Comando.Parameters(0) = txtCodigo.Text Comando.Parameters(1) = txtNome.Text Comando.Parameters(2) = txtTelefone.Text Else ComandoSQL = "UPDATE CLIENTES SET nome=?, telefone=? " & _ "WHERE codigo=" & txtCodigo.Text & ";" TbCli.Close Comando.ActiveConnection = StringConexao Comando.CommandText = ComandoSQL Comando.Parameters(0) = txtNome.Text

Comando.Parameters(1) = txtTelefone.Text End If Comando.Execute End Sub

25. MTODOS DE MOVIMENTAO


Os mtodos de movimentao permitem a passagem de um registro para outro no interior dos recordsets, e alteram a posio do ponteiro do registro ao passar de um registro ativo para outro registro. Voc pode usar os mtodos de movimentao sobre quaisquer recordsets. Vejamos a seguir os mtodos de movimentao: MoveFirst - Movimenta o ponteiro do registro ativo para o primeiro registro do recordset aberto. MoveNext - Movimenta o ponteiro do registro ativo para o registro seguinte. Se no houver registro seguinte, voc est no ltimo registro, o flag de final de arquivo EOF ser ativado. MovePrevious - Desloca o ponteiro do registro ativo para o registro anterior no recordset aberto. Se no houver registro anterior, voc est no primeiro registro, o flag de incio de arquivo BOF ser ativado. MoveLast - Movimenta o ponteiro do registro ativo para o ltimo registro do recordset aberto.

26. VALIDAO DE CAMPOS


Validao do contedo de um textbox durante a digitao No cdigo abaixo, temos a validao para um campo data. Nesta caixa de texto s ser possvel digitar nmeros, Backspace e a barra (/). Note que 47 corresponde ao cdigo ASCII da barra.

Private Sub txtdata_KeyPress(KeyAscii As Integer) If Not ((KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Or KeyAscii = 47) Then KeyAscii = 0 End If End Sub
No prximo cdigo, temos a validao para um campo moeda. Nesta caixa de texto s ser possvel digitar nmeros, Backspace e a vrgula (,). Note que 44 corresponde ao cdigo ASCII da vrgula.

Private Sub txtvalor_KeyPress(KeyAscii As Integer) If Not ((KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Or KeyAscii = 44) Then KeyAscii = 0 End If End Sub

Abaixo segue a tabela de cdigos ASCII: ASCII 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Caractere ** ** ** ** ASCII 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Caractere [space] ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? ASCII 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 Caractere @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ASCII 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 Caractere ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~

Caracteres no suportados pelo Windows. ** Valores 8, 9, 10, e 13 representam backspace, tab, linefeed (alimentador de linha), e enter, respectivamente.

Validao de datas e valores numricos aps a digitao

If Not IsDate(txtdata.Text) Then MsgBox ("Data invlida!") txtdata.SetFocus Exit Sub End If

If Not IsNumeric(txtvalor.Text) Then MsgBox ("Valor invlido!") txtvalor.SetFocus Exit Sub End If

27. DataList
A caixa de listagem vinculada aos dados Data List tem funo idntica caixa de listagem ListBox, a qual seja, apresentar ao usurio uma lista de opes. A principal diferena consiste no fato de a caixa de listagem vinculada aos dados buscar as informaes em um Recordset, enquanto que a Caixa de Listagem, obtm as informaes atravs de uma srie de instrues AddItem. Vejamos como utilizar o controle DataList no roteiro a seguir: 1- Clique no menu Project > Components e escolha a opo Microsoft Data List Controls 6.0 (OLEDB). Selecione tambm a opo Microsoft ADO Data Control 6.0 (OLEDB). 2- Em um formulrio, insira o controle Adodc (ADO Data Control) e configure as propriedades: Name Nome do controle (o nome padro Adodc1). ConnectionString String de conexo. Dados necessrios para efetuar a conexo com o banco de dados (j citada anteriormente). Copie a string de conexo do Data Environment. RecordSource Clique no boto ao lado da propriedade (...) e aparecer a seguinte tela:

Deve-se escolher o tipo de comando (no caso, adCmdTable corresponde a Tabela), e o nome da tabela ou consulta (no caso, Empregado). 3- A seguir, insira o controle DataList e atente para as seguintes propriedades: RowSource nome do controle de dados que contm as informaes usadas para preencher a lista (no caso, Adodc1) ListField o nome do campo da origem dos dados a ser exibido na lista

28. DataCombo
Para configurar um DataCombo, proceda da mesma maneira como foi configurado o DataList: 1- Clique no menu Project > Components e escolha a opo Microsoft DataList Controls 6.0 (OLEDB). 2- Em um formulrio, insira o controle Adodc (ADO Data Control) e configure as propriedades: Name Nome do controle (o nome padro Adodc1). ConnectionString String de conexo. Dados necessrios para efetuar a conexo com o banco de dados (j citada anteriormente). Copie a string de conexo do Data Environment. RecordSource Clique no boto ao lado da propriedade (...) e aparecer a seguinte tela:

Deve-se escolher o tipo de comando (no caso, adCmdTable corresponde a Tabela), e o nome da tabela ou consulta (no caso, Empregado).

3- A seguir, insira o controle DataCombo e atente para as seguintes propriedades: RowSource nome do controle de dados que contm as informaes usadas para preencher a lista (no caso, Adodc1). ListField o nome do campo da origem dos dados a ser exibido na lista

29. DataGrid
A grade vinculada aos dados DataGrid oferece um meio para visualizar vrios registros ao mesmo tempo. O seu primo pobre no VB seria o controle Grid. Enquanto o Grid precisa ser configurado quase que totalmente via cdigo, para usar o DataGrid basta arrastar o cone do controle para o seu formulrio e definir a propriedade DataSource para identificar o controle de dados que contm os dados que voc quer exibir, e pronto, a grade exibe todos os campos dos registros do recordset. Exemplo de Utilizao e Configurao Suponha que temos a seguinte tabela com os seguintes dados: Empregado Nome Joo Maria Jos Mauro Pedro Telefone 3221-1234 3222-5678 3212-1234 3213-1234 3214-1234

Criaremos uma consulta de pessoas por nome, utilizando o DataGrid e sentenas SQL. Vejamos passo a passo como utilizar o DataGrid com o controle de dados vinculados Adodc (ADO Data Control). 1- Clique no menu Project > Components e escolha a opo Microsoft DataGrid Control 6.0 (OLEDB). 2- Selecione o objeto Adodc na Toolbox do Visual Basic e acrescente-o ao seu formulrio. 3- Defina a seguir as propriedades: Name Nome do controle (o nome padro Adodc1). Visible (False) para que o objeto Adodc no aparea durante a execuo do programa ConnectionString String de conexo. Dados necessrios para efetuar a conexo com o banco de dados (j citada anteriormente). Copie a string de conexo do Data Environment. RecordSource Clique no boto ao lado da propriedade (...) e aparecer a seguinte tela:

Deve-se escolher o tipo de comando (no caso, adCmdTable corresponde a Tabela), e o nome da tabela ou consulta (no caso, Empregado). 4- Selecione o cone do DataGrid na ToolBox e arraste-o at o seu form. 5- Defina a propriedade DataSource, vinculado-a ao controle de dados configurado anteriormente (Adodc1). 6- Para proibir a edio, incluso e excluso de registros na grade voc deve definir como False as propriedades AllowAddNew, AllowUpdate e AllowDelete. Isto pode ser feito atravs da folha de propriedades do DataGrid.

7- Na folha de propriedades do DataGrid, na guia Columns, devemos associar cada coluna do DataGrid com um campo da tabela que ser usada para preench-lo.

8- Desenhe, no mesmo formulrio, um TextBox e um CommandButton.

Para completar o nosso exemplo, falta o cdigo para a execuo da pesquisa. No evento Click do Command1, acrescente o cdigo abaixo:
Private Sub Command1_Click() If Text1.Text = "" Then Adodc1.CommandType = adCmdTable Adodc1.RecordSource = "Empregado" Else Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select enome, etelefone from Empregado where Upper(enome) like '" & UCase(Text1.Text) & "%'" End If Adodc1.Refresh DataGrid1.Refresh End Sub

O resultado da execuo mostrado nas telas abaixo:

30. MASKED EDIT


Para utilizar um controle MaskedEdit, devemos, inicialmente, clicar no menu Project > Components e escolher a opo Microsoft Masked Edit Control 6.0. Isto far com que ele seja includo na Toolbox do VB. Para configurar o MaskedEdit, clique sobre ele com o boto direito e escolha Properties. Surge a tela seguinte:

Nesta tela, basta definir a mscara (Mask) e/ou o formato do campo (Format). Alguns exemplos de formatos: Moeda R$#,##0.00;(R$#,##0.00) Data dd/mm/yyyy Alguns exemplos de mscaras: Data ##/##/#### CEP ##\.###\-### CPF ###\.###\.###\-## Telefone \(##\)####\-#### Note que a barra invertida (\) sempre aparece antes de um caractere especial. Obs.1: Para limpar o contedo de um MaskedEdit, preciso atribuir a ele o formato da mscara. Exemplos: MaskEdBox1.Text MaskEdBox2.Text MaskEdBox3.Text MaskEdBox4.Text = = = = "__.___-___" "(__)____-____" "___.___.___-__" "__/__/____"

Obs.2: Para atribuir uma data a um MaskedEdit, preciso antes format-la usando a funo Format. Exemplo: MaskEdBox4.Text = Format(Date, "dd/mm/yyyy")

31. CRIAO DE GRFICOS UTILIZANDO O CONTROLE MSCHART


Para construir grficos em sua aplicao voc deve usar o controle grfico do VB, o MSChart. O MSChart permite apresentar seus dados em forma de grfico como uma planilha do Excel (linhas e colunas); grficos tridimensionais, grficos de torta, barra, pizza, etc. Antes de iniciar voc deve adicionar o controle Microsoft Chart Control ao seu projeto da seguinte maneira: clique no menu Project > Components e escolha a opo Microsoft Chart Control 6.0 (OLEDB). As figuras abaixo mostram a barra de ferramentas e a configurao inicial do MSChart:

Agora, basta definir a fonte de dados que alimentar o grfico, geralmente uma tabela, e fazer a configurao do Controle MSChart. Para abrir um dilogo de propriedades do controle MSChart, clique com o boto direito do mouse sobre o mesmo, selecione a opo Properties e a janela para configurao surge como mostrada na figura abaixo:

Cada aba permite configurar diversas propriedades utilizadas na confeco de um grfico. Utilizao e Configurao Vejamos agora as propriedades do MSChart e como configur-lo.

A configurao inicial do controle grfico apresenta uma srie de quatro barras em cinco colunas com legendas R1 a R5. Esta seqncia de dados definida pela propriedade RowCount. A quantidade de colunas definida pela propriedade ColumnCount. Na figura acima alteramos RowCount para 2 e ColumnCount tambm para 2 e ainda definimos a propriedade RowLabel para cada coluna e a propriedade ShowLegend para True. A propriedade ChartType permite obter os seguintes tipos de grficos: Barra - Valores 0 e 1 Linha - Valores 2 e 3 reas - Valores 4, 5 , 6 e 7 Combinao - Valores 8 e 9 Torta - Valor 14 XY - Valor 16

Aba Chart Chart Type - Permite escolher o tipo de grfico usado Chart Options Show Legend Show Markers Stack Series Series em rows Aba Axis e Axis Grid Existem diversas propriedades que permitem configurar os eixos de um grfico como: Espessura e cor de linhas Definio da escala - Valor Mximo e Mnimo Diviso da Escala - Valor Maior e Menor Aba Series e Series Color Permitem configurar diversas propriedades relacionadas s sries do grfico e cor interior e da borda de cada srie. Aba BackDrop Configura os elementos de fundo e da borda do grfico. O elemento a ser configurado selecionado na lista Property Name. Aba Text Atravs da lista Property Name podemos selecionar o ttulo, o rodap, ttulos dos eixos X, Y ou de um segmento eixo Y e definir um nome para cada item, inclusive definindo o alinhamento e a orientao do texto atravs do grupo Alignment e Orientation. Aba Fonts Permite definir a fonte, estilo, tamanho e efeitos de cor. Alm destas propriedades temos as seguintes: Row RowCount RowLabel Data Column ColumnCount ColumnLabel BorderStyle - especifica a linha corrente - determina o nmero de seqncia de dados - define o rtulo de dados da linha corrente - Permite a leitura e a atribuio dos valores de dados ao grfico - define a coluna ativa - define o nmero de colunas ativas - define a legenda para a coluna ativa - define a borda do grfico

- Mostra a legenda no grfico - Marcas sobre cada coluna do grfico - Empilhar as colunas - Inverte apresentao, colunas em linhas

ChartData

- permite atribuir valores s seqncias de dados a partir de uma matriz (array) de duas dimenses.

Exemplo de Utilizao Suponha que temos uma tabela que armazene as notas de um grupo de alunos. Os dados na tabela so: Nome Joo Paulo Maria Lucas Laura Nota 5,0 7,5 8,0 2,0 10,0

Criaremos um grfico de colunas que representa a nota de cada aluno. Siga os passos: 1- Adicione um controle MSChart ao formulrio. 2- Configure as seguintes propriedades do MSChart: RowCount = 5 ColumnCount = 1

3- Adicione o seguinte cdigo:


Dim Dim Dim Dim Con As New ADODB.Connection TbAlunos As New ADODB.Recordset StringConexao As String x As Integer

Private Sub Form_Load() StringConexao = DSN=teste;Driver=OdbcJdbc;Dbname=C:\prog\Escola.gdb; CHARSET=NONE;UID=SYSDBA;PWD=DKEBFJENHFCOBHGHLAIMNAAFICE LEAEGDNMFNOGALAMHBBGCHFADNKCBPPGMANOGIEKENIOPHDIPBIECPL LLCBIKEJKMJLPLIB" Con.Open StringConexao Dim ComandoSQL As String ComandoSQL = "SELECT * FROM alunos order by acodigo" TbAlunos.Open ComandoSQL, StringConexao, adOpenStatic TbAlunos.MoveFirst For x = 1 To 5 MSChart1.Row = x MSChart1.RowLabel = TbAlunos!anome MSChart1.Data = TbAlunos!anota TbAlunos.MoveNext Next x End Sub

O resultado ser o seguinte:

32. DATA REPORT


Abra o projeto em questo. Em seguida, selecione o menu Project. Selecione o comando Add Data Report para adicionar este componente ao projeto. Ainda no menu Project, selecione o comando Add Data Environment. Se por acaso um dos comandos acima no estiver disponvel, use o comando More ActiveX Designers... para adicionar o componente desejado.

Configurando o Ambiente de Dados (DataEnvironment) Antes de trabalharmos com o Data Report ou qualquer outro componente que acesse registros de uma base dados, necessrio abrir o banco de dados e as respectivas tabelas ou consultas existentes neste banco de dados. D um duplo clique no objeto DataEnvironment1 para abrir a janela do DataEnvironment.

Para alterar as propriedades do DataEnvironment, ser usado a janela do Project Explorer em conjunto com a janela Properties Windows. Como o objeto DataEnvironment1 ser usado em diversas partes do projeto, para facilitar sua utilizao, mudaremos a propriedade (Name) de DataEnvironment1 para deComercial. Para alterar a propriedade Name, d um clique no objeto DataEnvironment1, em seguida, utilizando a janela de propriedades modifique a propriedade name.

Definindo o Banco de Dados (atravs de conexo)

D um clique com o boto do mouse sobre o componente Connection1, em seguida, selecione Properties na barra de Ferramentas. Na tela que se segue, devemos configurar a string de conexo. Isto j foi feito no item 20.3 Criando a string de conexo. Caso necessrio, veja novamente o item 20.3.

Definindo uma referncia para uma Tabela Antes de prosseguirmos, interessante mudar a propriedade Name do componente Connection1 para conComercial. Para tal, use a janela de propriedades do Visual Basic.

No DataEnvironment, cada tabela ou consulta denominada de Command. Para incluir um command, d um clique com o boto direito sobre o objeto connection (que no exemplo se chama conComercial), em seguida selecione a opo Add Command.

Aps adicionar o Command, o passo seguinte ser alterar suas propriedades. Para tal, d um clique com o boto direito sobre o Command1, em seguida selecione a opo Properties.

Na guia General da janela de propriedades, dever ser informado o nome do command, a conexo que contm o banco de dados que possui a tabela ou consulta desejada e a fonte de dados (os mais usados so Consultas e Tabelas). O campo Command Name deve ser preenchido de forma coerente com a tabela ou consulta selecionada.

No exemplo abaixo, foi informado como Command Name comProdutos, porque este command ser uma referncia para a tabela Produtos (evite usar nomes pouco significativos). Aps fazer isso, d um clique no boto OK.

Se correr tudo bem, ser acrescentado um novo objeto command chamado comProdutos subordinado a conexo conComercial.

Definindo uma referncia para vrias Tabelas Para usarmos vrias tabelas em uma consulta, a forma mais prtica e simples atravs de uma sentena SQL. Para tal, usaremos o Access para criarmos uma consulta, em seguida, usaremos a sentena SQL gerada por ele dentro do Visual Basic. Aps executar o Microsoft Access, abra o Banco de Dados que contem as tabelas que sero usadas no Command. Como iremos criar uma consulta, selecione a guia correspondente a esta opo no Access (observe que a figura abaixo relativa a verso 97 deste aplicativo e no a 2000).

Aps selecionar a guia Consultas, d um clique no boto Novo, para criar uma nova consulta. Ser mostra a janela do assistente, selecione a opo Assistente de Consulta Simples. Em seguida, d um clique no boto OK.

Utilize a caixa de combinao Tabelas/ Consultas:, para selecionar o nome da tabela que possui os campos que sero usados na consulta.

Aps selecionar o nome da tabela, o prximo passo selecionar na caixa de listagem Campos disponveis, o nome do campo que ser usado na consulta. D um clique no boto > para adicionar o campo cNome a caixa de listagem Campos

selecionados. O boto >> usado para adicionar todos os campos da tabela selecionada. Os botes < e << so usados para remover algum campo adicionado erroneamente ou no mais necessrio.

Aps selecionados os campos desejados da tabela de Clientes, selecione na caixa de combinao Tabelas/ Consultas:, o nome da prxima tabela. Feito isto, selecione o nome dos campos e assim sucessivamente at que todos os campos desejados estejam selecionados.

D um clique no boto Concluir para finalizar a criao de sua consulta. Ao fazer isto, a consulta ser automaticamente salva e executada. A execuo nada mais que a apresentao do resultado.

A apresentao do resultado da consulta, um sinal da que a mesma est correta. Porm, como o que interessa a sentena SQL correspondente, vamos mudar o modo de exibio para Modo SQL.

O comando SQL correspondente ser apresentado conforme abaixo. Basta agora copiarmos para a rea de transferncia, em seguida, colar no Visual Basic.

O prximo passo ser adicionar um novo Command no DataEnvironment, para tal, d um clique com o boto direito do mouse sobre a conexo conComercial, em seguida, selecione a opo Add Command.

Aps adicionar o novo Command, o prximo ser a alterao de algumas propriedades. D um clique com o boto direito do mouse sobre o command criado.

Observe que como estamos usando uma sentena SQL, a fonte dos dados (Source of Data) dever ser a opo SQL Statemend. Coloque o comando SQL criado no access conforme mostrado na figura anterior. Para finalizar d um clique no boto OK. Aps feito isto, o command dever possuir as caractersticas mostradas abaixo:

Utilizando Sub Commands comum a elaborao de relatrios ou consultas, onde dois ou mais commands esto relacionados entre s. Isso bastante til quando se deseja agrupar os dados em funo de um determinado registro. S possvel usar um sub command quando ambos os commands tem um campo em comum. No exemplo abaixo, possvel relacionar comEntradas com comItens_Entradas, atravs do campo eID.

Ambas as sentenas SQL foram criadas no Access usando os passos descritos anteriormente. Para relacionar um command com o outro, ou deixar um command subordinado ao outro, necessrio alterar as propriedades do command filho. Ou seja, aquele que tem dependncia de existncia.

Selecione a guia Relation em seguida marque a opo Relate to Parent Command Object. Indique na caixa de combinao Parent Command o command pai. Finalmente selecione os campos comuns aos commands em seguida d um clique no boto Add. Feito isso d um clique no boto OK.

Os comands comEntradas e comItens_Entrada devero ficar com a aparncia mostrada abaixo:

Criando um relatrio a partir de um Command Simples

Primeiro Passo: d um clique com o boto direito do mouse sobre a janela do Project Explorer. No menu de atalho, selecione o comando Add, em seguida, a opo Data Report.

Segundo Passo: altere as propriedades do objeto Data Report (no caso da figura, DataReport1) de forma que ele fique ligado ao Command do item 7.3.2. Para cada DataReport (relatrio), dever ser definido um nico Command. (Name): rptProdutos Caption: Relatrio de Produtos DataSource: deComercial DataMember: comProdutos

Terceiro Passo: d um duplo clique no cone do objeto rptProdutos (antigo DataReport1) para que seja mostrado o formulrio correspondente. Quarto Passo: d um clique com o boto direito do mouse sobre o formulrio aberto no passo anterior, em seguida selecione o comando Retrieve Structure.

Todos os objetos desenhados no relatrio sero apagados aps a execuo deste comando. Por questes de segurana, solicitada a confirmao do usurio. D um clique no boto Sim. As sees do relatrio sero definidas de acordo com o respectivo Command.

Alterando as caractersticas do Relatrio Como no se pode usar os componentes da caixa de ferramentas padro para desenhar um relatrio, o DataReport possui seus prprios componentes. Observe que os componentes da caixa de ferramentas General ficam indisponveis se o DataReport estiver selecionado, da mesma forma que os componentes da caixa de ferramentas DataReport ficam indisponveis se o Form estiver selecionado. O RptLabel, RptTextBox, RptImage, RptLine e RptShape so os equivalentes ao existentes na caixa general, aplicando-se neles todos os conceitos vistos anteriormente. O RptFunction um caso que ser tratado a parte.

Na seo Page Header dever ser definido o cabealho da pgina, ou seja, o texto que ser impresso no topo de todas as pginas do relatrio. Na figura abaixo, um exemplo de um cabealho simples desenhado com o RptLabel.

Para a seo Detail (comProdutos_Detail), devero ser arrastados todos os campos do Command comProdutos que desejamos que sejam impressos no relatrio.

Em Page Header dever ser definido o cabealho da pgina, ou seja, o texto que dever ser impresso no topo de todas as pginas. Usando o objeto RptLabel, desenhe 3.

Somente ser permitido arrastar os campos do Command especificado na propriedade DataMember. Sendo assim, como foi especificado o command comProdutos, somente podemos arrastar os campos existentes nele.

Para cada campo arrastado da janela do DataEnvironment at a seo Detail so colados um RptLabel e um RptTextBox. Se voc ainda no tiver rotulado o campo em questo, arraste o RptLabel para a seo Page Header em seguida modifique suas propriedades. Observe que ao ser colado um campo na seo Detail, os objetos RptLabel e RptTextBox vem selecionados, desmarque o objeto RptTextBox antes de mover o objeto RptLabel.

Alignment: 1-RptJustifyRight Caption: Cdigo DataFormat: General Font: Negrito

importante observar que campos numricos devem ser alinhados sempre direita (right), enquanto campos alfanumericos devem ser alinhados a esquerda (left). A propriedade DataFormat usada para formatar a apresentao dos dados no relatrio. Aps alterar as propriedades do campo pCdigo, repita o procedimento para os campos pDescrio e pEstoque_Atual.

importante observar as seguintes caracterstica do DataReport: - Os objetos RptLabel, RptTextBox e todos os demais, ao serem movimentados atravs do mouse, observam o posicionamento do Grid (caixa retangular existente em segundo plano). - Para colocar um objeto em um determinada posio do relatrio, faa-o atravs da alterao das propriedades Left (posio horizontal) e Top (posio vertical). - Use as propriedades Height e Width para modificar respectivamente a altura e o comprimento de um determinado componente. - Em hiptese alguma modifique o comprimento e a altura do relatrio. Se aps alterar o comprimento ou a altura, o relatrio ficar maior que as dimenses do formulrio selecionado, ocorrer um erro durante a impresso. Se o fizer, faa-o aos poucos e teste a impresso (no vdeo a medida que for fazendo). - No DataReport existem diversas sees. Antes de alterar quaisquer propriedades, verifique antes na janela de propriedades se est atualmente selecionado o objeto desejado.

Incluindo nmero de pgina, data e hora ao relatrio Para incluir o nmero da pgina atual, total de pginas, data atual e hora. D um clique com o boto direito do mouse sobre a seo Page Header do relatrio, em seguida, selecione a opo Insert Control.

Fazendo a chamada do Relatrio A maneira mais simples de chamar um relatrio criado no Data Report, atravs do mtodo Show. A chamada deve ser digitada dentro de um boto de comando, conforme mostrado no exemplo abaixo. Private Sub cmdImprimir_Click() rptProdutos.Show End Sub

Filtrando os dados mostrados no relatrio O mtodo Filter uma tima alternativa para filtrar os dados apresentados em um determinado relatrio criado no DataReport. Ele dever ser usado antes do mtodo show, conforme exemplos abaixo: deComercial.rscomProdutos.Filter = "pCodigo=1" rptProdutos.Show ou deComercial.rscomProdutos.Filter = "pCodigo=" & rptProdutos.Show TxtCodigo_Produto

deComercial.rscomProdutos.Filter = "pDescricao= Polvilho Azedo 1 " rptProdutos.Show ou


deComercial.rscomProdutos.Filter = "pDescricao= " & rptProdutos.Show TxtDescricao & ""

Se por acaso o campo usado no filtro for uma data, esta dever delimitada por duas tralhas (e.g. vData_Emissao=#2001-08-31#).

Criando um relatrio a partir de um Sub Command As mudanas em relao a um relatrio que usa um nico Command so poucas. Entretanto, vamos detalhar as diferenas para que seja mais fcil compreende-la. 1 Mudana: deve ser indicado como DataMember o nome do command pai, a partir dele, o Data Report recupera os demais dados existentes no command filho. (Name): rptEntradas_Periodo Caption: Relatrio de Entradas DataSource: deComercial DataMember: comEntradas 2 Mudana: o uso do comando Retrieve Structure, deixa de ser opcional e passa a ser obrigatrio. Observe que pelo fato do Command possuir um Sub Command, a partir de agora o relatrio tem agora as sees Group Header e Group Footer. Para visualizalas, aumente a altura do formulrio.

33. PACKAGE & DEPLOYMENT WIZARD


Veja como gerar os discos de distribuio e o programa de instalao para a sua aplicao usando o PACKAGE & DEPLOYMENT WIZARD. A questo da distribuio

Voc acabou de desenvolver uma aplicao em Visual Basic, testou, depurou e, finalmente, est pronto para distribu-la aos usurios finais. Geralmente tais usurios no possuem o Visual Basic instalado em suas mquinas (voc deve sempre considerar essa situao como a padro). Voc ter ento que distribuir com sua aplicao uma srie de arquivos DLL, e, se sua aplicao usar controles personalizados, ter tambm que distribuir os arquivos de controle VBX/OCX que utiliza. Para isto, ou voc cria um programa de instalao com o Wizard, que determina os arquivos que voc precisa distribuir, ou tenta determinar por si mesmo quais os arquivos precisam ser distribudos. O Package & Deployment Wizard fornecido com o Visual Basic e voc poder us-lo para criar um programa que instalar sua aplicao na mquina do usurio. As tarefas bsicas que o Package & Deployment Wizard faz so: Construir o arquivo executvel (EXE) do seu projeto. Criar um programa de instalao para a sua aplicao. Determinar os arquivos necessrios para a aplicao. Compactar os arquivos do programa, copi-los e dividi-los em discos para distribuio (Disquete, CD-ROM, Disco Rgido e Redes). Criar um grupo de programas e um cone no sistema do usurio.

Gerando o assistente de Instalao e os discos para distribuio Vamos descrever passo a passo o processo de criao do programa de instalao e da gerao dos discos de distribuio para um projeto: agenda.vbp. Vamos supor que a distribuio ser feita em discos de 3 1/2 (1.44) e iremos usar o Package & Deployment Wizard. Ento vamos l: 1 - Inicie o Package & Deployment Wizard, clicando em Iniciar > Programas > Microsoft Visual Studio 6.0 > Microsoft Visual Studio 6.0 Tools > Package & Deployment Wizard. Surgir a tela abaixo:

2- Nesta tela, clicamos no boto Browse para selecionar o projeto. Em seguida, clicamos em Package. 3- Caso o seu projeto ainda no tenha sido compilado, aparecer uma janela solicitando a compilao. Nela, devemos clicar em Compile. Em seguida, aparecer a seguinte tela:

4- Nesta tela, basta selecionar Standard Setup Package e clicar em Next. Surge a tela seguinte:

5- Aqui selecionamos a pasta onde os arquivos de instalao sero gravados. Ento clicamos em Next e:

6- Clicamos no boto Add para adicionar arquivos que sero distribudos junto com a aplicao, como por exemplo, um arquivo de banco de dados. Clicando em Next:

7- Escolhemos se a instalao ser distribuda em um nico arquivo (HD, rede, CD) ou em vrios arquivos (disquete), podendo especificar o tamanho. Clicando em Next:

8- Especificamos um nome para o programa de instalao. Next:

9- Definimos o local onde os cones aparecero no Menu Iniciar. 10- A partir da, basta clicar em Next at finalizar o assistente clicando em Finish.

Você também pode gostar