Tarefa Orientada 5 Aplic. Manutenção de Facturas de Clientes



Documentos relacionados
Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

Tarefa Orientada 2 Aplic. Manutenção de Produtos - DataGridView

Tarefa Orientada 4 Aplic. Manutenção de Produtos - ComboBox

Tarefa Orientada 1 Base de Dados Editora

Tarefa Orientada 15 Manipulação de dados

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Tarefa Orientada 13 Agrupamento e sumário de dados

Gabarito - Programação C# com Visual Studio - Intermediário - 05/08/2013 AULA Perguntas e Respostas

Veja abaixo um exemplo de como os dados são mostrados quando usamos o

MANUAL DO EXCEL. Um campo é um espaço que contém determinada informação (ex: Nome do cliente X, Telefone do Sr. Y)

Guia rápido do utilizador

Acronis Servidor de Licença. Manual do Utilizador

Tarefa Orientada 19 Triggers

Pesquisa e organização de informação

Tarefa Orientada 2 Criar uma base de dados

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

Criar um formulário do tipo Diálogo modal ; Alterar a cor de fundo de um formulário; Inserir botões de comando e caixas de texto;

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Tarefa 18: Criar Tabelas Dinâmicas a partir de Listas de Excel

Ficha prática nº 7. SGBD Microsoft Access e SQL Server

Neste tutorial irá criar uma animação simples com base num desenho do Mechanical Desktop.

Aplicações de Escritório Electrónico

Microsoft Access. No Access, existem vários tipos de objectos: Tabelas. Consultas. Formulários Relatórios Macros Módulos

Microsoft Office FrontPage 2003

MICROSOFT POWERPOINT

Deverá ser apresentada uma caixa de combinação para auxiliar o utilizador a escolher o distrito de residência do entrevistado.

7.3. WINDOWS MEDIA PLAYER 12

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

Google Sites. A g r u p a m e n t o C a m p o A b e r t o /

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

Tarefa Orientada 16 Vistas

Sistema Operativo em Ambiente Gráfico

5 - Se o documento estiver completo, com os campos totalmente inseridos e com o aspecto que pretende, poderá guardá-lo.

1.1. Clique no botão Iniciar, seleccione Todos os programas, Microsoft Office e no submenu aberto escolha o programa Microsoft FrontPage.

Tarefa Orientada 6 Edição de Dados

Como Fazer um Vídeo no Windows Movie Maker

WINDOWS. O Windows funciona como um Sistema Operativo, responsável pelo arranque do computador.

Manual do Aluno Plataforma de e-learning Moodle

Folha de Cálculo (Excel)

TUTORIAL 01. Conteúdo. Figura 1. Figura 2

Tarefa Orientada 10 Obter informação a partir de uma tabela

2. Utilitários de sistema para ambiente Windows Ferramentas de gestão de ficheiros

EXCEL TABELAS DINÂMICAS

Manual do PDFCreator Versão 1

Conceitos importantes

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL

SAMUO APP: MANUAL DO ADMINISTRADOR

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1

Bases de Dados. Lab 1: Introdução ao ambiente

Seu manual do usuário EPSON LQ-630

Computação Móvel 2007/2008

Data de Aplicação. Rede Local e Segurança Informática Básica

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

ASP.NET Gerando relatórios com o ReportViewer

CRIAÇÃO DE RELATÓRIOS EM DELPHI

PACWEB Módulo de Pesquisa MANUAL DO UTILIZADOR

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Findo o processo de normalização, obtemos o conjunto de tabelas indicado na tabela 1.28.

Os elementos básicos do Word

Manual de Access 2007

Manual de Administração Intranet BNI

Ambiente de trabalho. Configurações. Acessórios

Transição de POC para SNC

Configuração do Ambiente de Trabalho

Microsoft PowerPoint 2003


MySQL Query Browser. Professor Victor Sotero SGD

Redes de Computadores. Trabalho de Laboratório Nº8

MANUAL DO UTILIZADOR

Aleph Manual de utilização do módulo de circulação e empréstimos

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos


INSTALAÇÃO E OPERAÇÃO DE SISTEMAS INFORMÁTICOS Curso Educação e Formação de Adultos Nível Básico. Access 2003

1. FILTRAR OS DADOS ATRAVÉS DE FORMULÁRIO (FILTER BY FORM)

Faculdade Boa Viagem Sistemas de Informação Gerenciais EXERCÍCIO PASSO-A-PASSO PEDIDOS E CONTROLE DE ESTOQUE. Microsoft Access.

Manual do utilizador. Aplicação de agente

Manual SRCT - v.ps.2 UTILIZADORES. Apoio à gestão das Declarações de Vendas dos Produtos de Saúde. Contacto: taxa.04@infarmed.

Oficina de Construção de Páginas Web

Manual de utilizador CRM

Tarefa Orientada 17 Listas de dados

Sistema Operativo em Ambiente Gráfico

PRIMAVERA EXPRESS: Funcionalidades do Produto

1. Criar uma nova apresentação

Plataforma de Benefícios Públicos Acesso externo

Manipulação de Células, linhas e Colunas

DOCUMENTO DE APOIO À APLICAÇÃO

Manual de Utilização. GESTOR DE METADADOS DOS AÇORES (GeMA) Setembro de Versão 4.0

OneTouch ZOOM Pro Diabetes Management Software. Guia de Instalação. Procedimento de instalação

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS

ZSRest e ZSPos Multiposto

Banco de Dados Microsoft Access: Criar tabelas

1 Ajuda da Internet M vel Clix

Aplicações de Escritório Electrónico

EDUTec Learning. José Paulo Ferreira Lousado

Java Mail Server. Manual do Utilizador

Excel VBA - Parte IV:Inserindo um formulário e seus comandos

Guia e Utilização do Visual Studio 6.0

Banco de Dados BrOffice Base

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Transcrição:

Tarefa Orientada 5 Aplic. Manutenção de Facturas de Clientes Objectivos: Aplicação Manutenção de Facturas de Clientes Utilização de uma fonte de dados. Formulários Master/Detail. Adicionar consultas a um Table Adapter. Alterar consultas de um Table Adapter Eliminar colunas de um controlo DataGridView. Obter o último valor gerado para uma coluna IDENTITY. Alterar um controlo ToolStrip. Aplicação Manutenção de Facturas de Clientes Neste projecto, vamos implementar uma aplicação de base de dados para gerir as facturas dos clientes de uma pequena editora. Quando a aplicação é iniciada é mostrado o formulário frmfacturasclientes. Neste formulário o utilizador pode procurar um cliente pelo seu identificador ou pelo seu nome, através da barra de ferramentas. Se o utilizador introduzir parte do nome, ou o nome completo, e pressionar o botão procurar correspondente (à direita da caixa de texto onde foi introduzido o nome a pesquisar), é mostrado o formulário frmseleccionarcliente. Este formulário mostra, numa grelha, todos os clientes cujo nome estão de acordo com o padrão de pesquisa utilizado no formulário frmfacturasclientes para procurar clientes. Visual Studio 2005 1

Depois, o utilizador pode efectuar um duplo toque sobre um registo da grelha para seleccionar um cliente ou, alternativamente, pode seleccionar o registo e, depois pressionar o botão Seleccionar. Em ambos os casos, o controlo vai ser devolvido ao formulário frmfacturasclientes e a informação relativa ao cliente é também mostrada. Após ter sido seleccionado um cliente, o utilizador pode pressionar o botão Alterar Cliente para mostrar o formulário frmmanutençãoclientes. Este formulário é utilizado quer para alterar os dados de um cliente já existente, quer para introduzir dados de um novo cliente. O título do formulário muda de acordo com a situação. Após o utilizador ter efectuado as alterações ou ter introduzido os dados de um novo cliente, pode pressionar os botões Aceitar ou Cancelar para gravar ou cancelar as respectivas operações e para voltar ao formulário frmfacturasclientes. O utilizador pode também adicionar um novo cliente pressionando o botão Adicionar Cliente. Como resultado, é mostrado o formulário frmmanutençãoclientes, com o título Adicionar Cliente. Depois, o utilizador pode introduzir os dados relativos ao novo cliente e pode pressionar os botões Aceitar ou Cancelar para gravar ou cancelar, respectivamente e para voltar ao formulário frmfacturasclientes. Para eliminar um cliente, o utilizador pode pressionar o botão Eliminar Cliente do formulário frmmanutençãoclientes. É mostrada uma caixa de diálogo para confirmar, ou não, a eliminação. Se a operação for confirmada, é removido o cliente correspondente, assim como as respectivas facturas e itens de factura. O formulário frmmanutençãoclientes também contém uma grelha onde são mostradas as facturas do cliente seleccionado. O utilizador pode esta grelha para rever as facturas, para mostrar os itens de cada factura, ou para eliminar uma factura. Visual Studio 2005 2

Para visualizar os itens de uma factura, o utilizador pode pressionar duplamente sobre o registo correspondente na grelha ou, alternativamente, pode seleccionar o registo e, depois pressionar o botão Ver Itens Factura. Em ambos os casos, vai ser mostrado o formulário frmitensfactura e a informação relativa à factura é também mostrada. Para eliminar uma factura, o utilizador pode seleccionar, na grelha, o registo relativo à factura e, depois pode pressionar o botão Eliminar Factura. Depois é solicitada a confirmação de remoção. Caso seja confirmada, a factura é eliminada, bem como todos os seus itens. O utilizador pode também adicionar uma factura para o cliente seleccionado. Para tal, deve pressionar o botão Adicionar Factura. Como resultado, é mostrado o formulário frmadicionarfactura. Neste formulário, o utilizador selecciona um produto na caixa de combinação correspondente, introduz a quantidade na caixa de texto correspondente, e pressiona o botão Adicionar. Como resultado, é acrescentado um item (registo) à grelha deste formulário e são calculados, e mostrados, os totais para a factura. O utilizador também pode eliminar um item desta grelha. Para tal, deve pressionar o botão Eliminar que se encontra à sua direita. Após ter adicionado todos os itens a uma factura, o utilizador pode pressionar o botão Guardar Factura, de modo a que a factura e os seus itens sejam armazenados na base de dados e seja, novamente, mostrado o formulário frmfacturasclientes. O utilizador pode também pressionar o botão Cancelar para voltar ao formulário frmfacturasclientes sem gravar os dados relativos à factura e respectivos itens. Visual Studio 2005 3

Neste projecto, vamos continuar a utilizar o DataSource Configuration Wizard para criar uma fonte de dados. 1 Execute os passos 1 a 5 da tarefa orientada 1, sobre Visual Basic 2005, para criar um novo projecto para uma aplicação Windows. 2 Criação de uma fonte de dados, a partir de uma base de dados no Sql Server, recorrendo ao assistente de configuração. 2.1 Siga os passos 2.1 a 2.12 da tarefa orientada 2 para criar uma fonte de dados. 2.2 Agora escolha os objectos da base de dados para a fonte de dados que vão ser incluídos no DataSet. Expanda o nó associado à caixa de verificação Tables e seleccione as tabelas ClientesED, FacturasED, ItensFacturasED, OpçõesEncomenda, Produtos e Províncias. Visual Studio 2005 4

2.3 Neste passo, pode ainda especificar o nome para o DataSet que vai ser criado. De modo predefinido, este nome é constituído pelo nome da base de dados seguido da palavra DataSet 2.4 Pressione o botão Finish. Terminados os passos do assistente, a nova fonte de dados é mostrada na janela DataSources. Na janela Solution Explorer, é também incluído um ficheiro com o nome que foi atribuído ao DataSet e com a extensão xsd. Este ficheiro contém o esquema para a classe DataSet gerada pelo wizard, isto é, define a estrutura do DataSet. Data Sources Solution Explorer Visual Studio 2005 5

Formulário frmfacturasclientes Neste formulário o utilizador pode procurar um cliente pelo seu identificador ou pelo seu nome, através da barra de ferramentas e pode, entre outras coisas, visualizar as suas facturas. 3 Desenho do formulário frmfacturasclientes. 3.1 Defina as propriedades Name, Text, AutoScaleMode, StartPosition e File Name com os valores frmfacturasclientes, Manutenção de facturas de clientes, Font, CenterScreen e frmfacturasclientes, respectivamente. Depois de ter criado um uma fonte de dados, vamos criar controlos ligados para aceder aos dados. 3.2 Seleccione, na janela Data Sources, a opção Details da caixa de listagem associada à tabela ClientesED. 3.3 Arraste a tabela ClientesED para o formulário. Como resultado, vão ser criados objectos Label e TextBox ligados a cada uma das colunas da tabela. Visual Studio 2005 6

Como resultado do passo anterior, além dos objectos TextBox e Label, criados para cada coluna da tabela, foram também criados os objectos EditoraDataSet, clientesedtableadapter, clientesedsbindingsource e clientesedbindingnavigator. Adicionalmente, o Visual Studio liga as caixas de texto e a caixa de combinação às respectivas colunas da tabela. Adicionalmente, o Visual Studio também gera código, que iremos analisar mais à frente. 3.4 Elimine a barra de navegação criada pelo wizard. 3.5 Para todas as caixas de texto recentemente criadas, defina as propriedades BackColor, ReadOnly e TabStop com os valores Control, True e False, respectivamente. 3.6 Adicione três botões ao formulário. Defina as suas propriedades Name, com os valores btnadicionarcliente, btnalterarcliente e btneliminarcliente e Text, com os valores Adicionar Cliente, Alterar Cliente, Eliminar Cliente, de acordo com a figura seguinte (ver pg. 9). Visual Studio 2005 7

3.7 Para criar uma consulta com parâmetros, seleccione uma qualquer caixa de texto do formulário que esteja ligada ao data source. Aceda ao seu menu smart tag e escolha a opção Add query. Vai surgir a caixa de diálogo Search Criteria Builder. 3.8 Atribua o nome FillByIDCliente à nova consulta que está a criar. Visual Studio 2005 8

3.9 Na secção Query Text, introduza o código SQL necessário para que fique de acordo com a figura acima ilustrada. Esta consulta vai ser utilizada para obter os clientes que vão ser mostrados neste formulário e no formulário frmmanutençãoclientes. 3.10 Pressione o botão OK. Como resultado, o Visual Studio vai acrescentar, ao formulário, uma barra de ferramentas com uma caixa de texto e um botão para que o utilizador possa introduzir um valor para o parâmetro e depois possa executar a consulta. Note que, adicionalmente, o Visual Studio também gerou código, que iremos analisar mais à frente. Vamos ainda adicionar mais duas consultas ao Table Adapter ClientesEDTableAdapter. 3.11 Seleccione, no DataSet Designer, o Table Adapter ClientesEDTableAdapter com o botão direito do rato. Depois, seleccione o comando Add Query. Visual Studio 2005 9

Utilize o Table Adapter Query Configuration Wizard para criar a consulta. 3.12 No primeiro passo do wizard, seleccione a opção Use SQL statements. 3.13 Pressione o botão Next. Visual Studio 2005 10

3.14 No segundo passo do wizard, seleccione a opção SELECT which returns rows. 3.15 Pressione o botão Next. 3.16 No terceiro passo do wizard, introduza o código SQL necessário para que fique de acordo com a figura abaixo ilustrada. Esta consulta vai ser utilizada para obter os clientes que vão ser mostrados no formulário frmseleccionarcliente. Note que é usado o operador LIKE na cláusula WHERE, de modo a que seja possível utilizar meta caracteres para representar padrões alfanuméricos. Por exemplo, se o utilizador especificar, na barra de ferramentas para introdução de parâmetros, a cadeia de caracteres Ped% para o parâmetro @Nome, irão ser devolvidos os registos dos clientes cujo nome se inicia com as letras Ped. Visual Studio 2005 11

3.17 Pressione o botão Next. 3.18 No quarto passo do wizard, mantenha activada a caixa de verificação Fill a DataTable, atribua o valor FillByNome na caixa de texto Method name e desactive a caixa de combinação Return a DataTable. 3.19 Pressione o botão Finish. Visual Studio 2005 12

Note que, ao criar uma consulta com parâmetros deste modo, não vai ser acrescentada ao formulário uma nova barra de ferramentas para introdução de parâmetros. Vamos agora alterar o aspecto da barra de ferramentas criada no passo 3.10, de modo a que tenha a seguinte apresentação. 3.20 Aceda ao menu smart tag da barra de ferramentas criada no passo 3.10 e seleccione o comando Edit Items. Como resultado, vai ser mostrada a caixa de diálogo Items Collection Editor. 3.21 Na secção Members, Seleccione o botão com o nome FillByIDClienteToolStripButton e, na janela de propriedades do lado Visual Studio 2005 13

direito da caixa de diálogo, defina as propriedades Text e DisplayStyle com os valores Procurar e Text, respectivamente. 3.22 Para adicionar um separador à barra de ferramentas, escolha a opção Separator, na caixa de combinação Select item and add to list below. Depois, pressione o botão Add localizado à direita da caixa de combinação. 3.23 De modo análogo ao anterior, adicione uma legenda (label) à barra de ferramentas. Visual Studio 2005 14

3.24 Na secção Members, Seleccione a legenda acabada de criar e, na janela de propriedades do lado direito da caixa de diálogo, defina as propriedades Name, Text e DisplayStyle com os valores NomeToolStripLabel, Nome e Text, respectivamente. 3.25 Adicione uma caixa de texto (TextBox) à barra de ferramentas e defina a sua propriedade Name com o valor NomeToolStripTextBox. 3.26 Adicione um botão (Button) à barra de ferramentas e defina as suas propriedades Name, Text e DisplayStyle com os valores FillByNomeToolStripButton, Procurar e Text, respectivamente. 3.27 Pressione o botão OK a caixa de diálogo Items Collection Editor. A barra de ferramentas do formulário passa a ter o seguinte aspecto. Para adicionar um controlo DataGridView que mostre os dados de uma tabela relacionada com a tabela principal de um formulário, basta arrastar, da janela Data Source, a tabela subordinada para o formulário. Como resultado, o Visual Studio, além de adicionar a grelha ao formulário, também gera os objectos BindingSource e TableAdapter. Adicionalmente, o Visual Studio também gera código, que analisaremos mais à frente, e define as propriedades (DataSource e DataMember) do objecto BindingSource, de modo a que sejam visualizados os dados da tabela relacionada. 3.28 Na janela Data Sources, expanda a caixa de verificação relativa à tabela ClientesED e arraste a tabela subordinada FacturasED para a parte inferior do formulário frmfacturasclientes. Visual Studio 2005 15

Como resultado do passo anterior, além do objecto DataGridView, foram também criados os objectos FacturasEDTableAdapter e FacturasEDsBindingSource. Visual Studio 2005 16

3.29 Adicione três botões ao formulário. Defina as suas propriedades Name, com os valores btnitensfactura, btneliminarfactura e btnadicionarfactura e Text, com os valores Ver Itens da Factura, Eliminar Factura, Adicionar Factura, de acordo com a figura anterior. 3.30 De modo a tornar a grelha apenas disponível para visualização de dados, aceda ao menu smart tag do comando FacturasEDDataGridView e desactive as caixas de verificação Enable Adding, Enable Editing e Enable Deleting. Desactive ainda a caixa de verificação Enable Column Reordering. Vamos ainda adicionar mais uma consulta ao Table Adapter ClientesEDTableAdapter para obter o valor do último identificador de cliente (IDCliente) atribuído pelo SQL SERVER. Note que o atributo IDCliente é uma coluna IDENTITY. 3.31 Seleccione, no DataSet Designer, o Table Adapter ClientesEDTableAdapter com o botão direito do rato. Depois, seleccione o comando Add Query. Visual Studio 2005 17

Utilize o Table Adapter Query Configuration Wizard para criar a consulta. 3.32 No primeiro passo do wizard, seleccione a opção Use SQL statements. 3.33 Pressione o botão Next. Visual Studio 2005 18

3.34 No segundo passo do wizard, seleccione a opção SELECT which returns a single value. 3.35 Pressione o botão Next. 3.36 No terceiro passo do wizard, introduza o código SQL necessário para que fique de acordo com a figura abaixo ilustrada. Esta consulta vai ser utilizada para obter o valor do último identificador de cliente (IDCliente) atribuído pelo SQL SERVER. Para tal, é utilizada a função IDENT_CURRENT( Nome_Tabela ). Esta função devolve o último valor gerado para a coluna IDENTITY da tabela especificada no seu argumento. Visual Studio 2005 19

3.37 Pressione o botão Next. 3.38 No quarto passo do wizard atribua o valor ObterÚltimoValorIDENTITY ao nome do método que está a criar. Visual Studio 2005 20

3.39 Pressione o botão Next. 3.40 Pressione o botão Finish. Sempre que desejar alterar uma consulta previamente criada, seleccione-a com o botão direito, no respectivo TableAdapter, e escolha o comando Configure. Visual Studio 2005 21

Formulário frmseleccionarcliente Este formulário mostra, numa grelha, todos os clientes cujo nome estão de acordo com o padrão de pesquisa utilizado no formulário frmfacturasclientes para procurar clientes. 4 Desenho do formulário frmseleccionarcliente. 4.1 Adicione um novo formulário ao projecto. Para tal, seleccione a opção Add Windows Form do menu Project. Aparece a caixa de diálogo Add New Item. 4.2 Na secção Templates da caixa de diálogo Add New Item, seleccione a opção Windows Form. Depois introduza o nome para o formulário e pressione o botão Add. Como pode observar na figura anterior, sugerese que utilize o prefixo frm para o nome de cada formulário criado, de modo a que fique claro que o ficheiro gerado contém um formulário. Introduza o nome frmseleccionarcliente. Visual Studio 2005 22

4.3 Defina as propriedades Text, StartPosition, MaximizeBox, AutoScaleMode e ControlBox do formulário com os valores Seleccionar cliente, CenterScreen, False, Font e False, respectivamente. Vamos agora criar um controlo DataGridView ligado à tabela ClientesED para aceder aos clientes que verificam a condição de pesquisa introduzida no formulário frmfacturasclientes. 4.4 Seleccione, na janela Data Sources, a opção DataGridView da caixa de listagem associada à tabela ClientesED. 4.5 Arraste a tabela ClientesED para o formulário. Como resultado, vai ser criado um objecto DataGridView. Como resultado do passo anterior, além do objecto DataGridView, foram também criados os objectos EditoraDataSet, clientesedtableadapter, clientesedsbindingsource e clientesedbindingnavigator. Adicionalmente, o Visual Studio liga as caixas de texto e a caixa de combinação às respectivas colunas da tabela. 4.6 Elimine a barra de navegação criada pelo wizard. Visual Studio 2005 23

Adicionalmente, o Visual Studio também gera código, que iremos analisar mais à frente. 4.7 Adicione dois botões ao formulário. Defina as suas propriedades Name, com os valores btnseleccionar e btncancelar e Text, com os valores Seleccionar e Cancelar, de acordo com a figura anterior. 4.8 De modo a tornar a grelha apenas disponível para visualização de dados, aceda ao menu smart tag do comando FacturasEDDataGridView e desactive as caixas de verificação Enable Adding, Enable Editing e Enable Deleting. Desactive ainda a caixa de verificação Enable Column Reordering. Visual Studio 2005 24

Formulário frmmanutençãoclientes Este formulário é utilizado quer para alterar os dados de um cliente já existente, quer para introduzir dados de um novo cliente. 5 Desenho do formulário frmmanutençãoclientes. 5.1 Adicione um novo formulário ao projecto. Para tal, seleccione a opção Add Windows Form do menu Project. Como resultado, aparece a caixa de diálogo Add New Item. 5.2 Na secção Templates da caixa de diálogo Add New Item, seleccione a opção Windows Form. Depois introduza o nome para o formulário e pressione o botão Add. Introduza o nome frmmanutençãoclientes. 5.3 Defina as propriedades Text, StartPosition, AutoScaleMode e ControlBox com os valores Manutenção de Clientes, CenterScreen, Font e False. Vamos agora criar controlos TextBox e ComboBox, a partir de uma fonte de dados, recorrendo à janela Data Sources. 5.4 Seleccione, na janela Data Sources, a opção Details da caixa de listagem associada à tabela ClientesED. Deste modo, ao arrastar a tabela ClientesED para o formulário irão ser criados objectos Label e TextBox ligados a cada uma das colunas da tabela. Visual Studio 2005 25

5.5 Seleccione, na janela Data Sources, a opção ComboBox da caixa de listagem associada à coluna Província da tabela ClientesED. Deste modo, ao arrastar a tabela ClientesED para o formulário irá ser criado um controlo ComboBox ligado à coluna Província da tabela ClientesED e irão ser criados objectos Label e TextBox ligados a cada uma das restantes colunas da tabela. 5.6 Arraste a tabela ClientesED da janela Data Sources para o formulário do projecto. Visual Studio 2005 26

Como resultado do passo anterior, além dos objectos Label e TextBox, criados para cada coluna da tabela, foram também criados os objectos EditoraDataSet, clientesedtableadapter, clientesedsbindingsource, clientesedbindingnavigator e ComboBox. Adicionalmente, o Visual Studio liga as caixas de texto e a caixa de combinação às respectivas colunas da tabela. Adicionalmente, o Visual Studio gera também código, que iremos analisar mais à frente. 5.7 Elimine a barra de navegação criada pelo wizard. 5.8 Elimine a legenda IDCliente (IDClienteLabel) e a caixa de texto correspondente (IDClienteTextBox) criadas pelo assistente, pois o atributo IDCliente é uma coluna IDENTITY e, consequentemente, o utilizador não deve aceder aos seus valores. De seguida, vamos ligar o controlo Combobox à tabela Províncias, de modo a que seja possível, ao utilizador, atribuir a província para um cliente, a partir das províncias existentes na tabela Províncias. 5.9 Aceda ao menu smart tag do controlo ProvínciaComboBox. Active a caixa de verificação Use data bound items. Como resultado, vão ser mostradas as propriedades de ligação. Visual Studio 2005 27

5.10 Para especificar o valor da propriedade Data Source, seleccione a tabela Províncias, de acordo com a figura seguinte. 5.11 Para especificar o valor da propriedade Display Member, seleccione o campo Província do controlo ProvínciasBindingSource, de acordo com a figura seguinte. 5.12 Para especificar o valor da propriedade Value Member, seleccione o campo Código do controlo ProvínciasBindingSource, de acordo com a figura seguinte. Visual Studio 2005 28

5.13 Para especificar o valor da propriedade Selected Value, seleccione o campo Província do controlo ClientesEDBindingSource, de acordo com a figura seguinte. 5.14 De modo resumido, os valores para as propriedades Data Source, Display Member, Value Member e Selected Value, devem estar de acordo com a imagem seguinte. Visual Studio 2005 29

5.15 Seleccione a opção DropDownList para a propriedade DropDownStyle do controlo ProvínciaComboBox, de modo a impedir que o utilizador introduza dados nesta caixa de combinação. 5.16 Altere, na secção DataBindings do controlo ProvínciaComboBox, o valor da propriedade Text para none, de modo a que o valor armazenado nesta propriedade seja ligado ao data source. 5.17 Adicione dois botões ao formulário. Defina as suas propriedades Name, com os valores btnaceitar e btncancelar e Text, com os valores Aceitar e Cancelar, de acordo com a figura seguinte. 5.18 Defina a propriedade AcceptButton do formulário com o valor btnaceitar. 5.19 Defina a propriedade Tag dos controlos NomeTextBox, EndereçoTextBox, LocalidadeTextBox, ProvínciaComboBox e CódigoPostalTextBox com os valores Nome, Endereço, Localidade, Província e Código Postal, respectivamente. Visual Studio 2005 30

Formulário frmitensfactura Este formulário permite visualizar os itens de uma factura seleccionada na grelha do formulário frmfacturasclientes. 6 Desenho do formulário frmitensfactura. 6.1 Adicione um novo formulário ao projecto. Para tal, seleccione a opção Add Windows Form do menu Project. Como resultado, aparece a caixa de diálogo Add New Item. 6.2 Na secção Templates da caixa de diálogo Add New Item, seleccione a opção Windows Form. Depois introduza o nome para o formulário e pressione o botão Add. Introduza o nome frmitensfactura. 6.3 Defina as propriedades Text, StartPosition e AutoScaleMode, com os valores Ver Itens Factura, WindowsDefaultLocation e Font. Vamos agora editar o comando SQL gerado, de modo predefinido, pelo assistente para o Table Adapter ItensFacturasED, de modo a que incluía uma operação de junção interna entre as tabelas Produtos e ItensFacturasED. 6.4 Seleccione, no DataSet Designer, a consulta Fill do Table Adapter ItensFacturasED. 6.5 Na janela de propriedades, toque na elipse à direita da propriedade CommandText. Visual Studio 2005 31

Como resultado, é mostrada a caixa de diálogo Query Builder, apresentada a seguir. 6.6 Toque com o lado direito do rato no painel superior do construtor de consultas e seleccione o comando Add Table. Visual Studio 2005 32

6.7 Como resultado, é mostrada a caixa de diálogo Add Table. Seleccione a tabela Produtos e pressione o botão Add. Depois, pressione o botão Close. 6.8 Ainda no painel superior do construtor de consultas, construa a consulta de acordo com a imagem seguinte. Visual Studio 2005 33

6.9 Depois de testar a execução da consulta, através do botão Execute Query, pressione o botão OK. Como resultado, vai surgir uma caixa de diálogo a questionar se deseja regenerar os comandos de UPDATE como base no novo comando SELECT. Por outras palavras, se pretende modificar as instruções INSERT, UPDATE e DELETE, de modo a que estejam de acordo com o novo comando SELECT. Visual Studio 2005 34

6.10 Pressione o botão Não, dado que o Visual Studio não pode gerar instruções de INSERT, UPDATE e DELETE que contenham campos de mais do que uma tabela. Assim, as instruções de INSERT, UPDATE e DELETE vão permanecer inalteradas, de modo a incluírem os atributos da tabela principal. 6.11 Arraste o atributo Factura da tabela ItensFacturasED da janela Data Sources para o formulário do projecto. Como resultado do passo anterior, além dos objectos Label e TextBox, criados para a coluna Factura, são também criados os objectos EditoraDataSet, ItensFacturasEDTableAdapter, ItensFacturasEDBindingSource e ItensFacturasEDBindingNavigator. Adicionalmente, o Visual Studio gera também código, que iremos analisar mais à frente. 6.12 Arraste a tabela ItensFacturasED da janela Data Sources para o formulário do projecto. 6.13 Aceda ao menu smart tag da grelha e seleccione o comando Edit Columns. Como resultado, surge a caixa de diálogo Edit Columns. Visual Studio 2005 35

6.14 Na secção Selected Columns, seleccione a coluna Factura e pressione o botão Remove, de modo a remover esta coluna da grelha. 6.15 Seleccione a coluna Designação e toque no botão para a colocar em segundo lugar da lista, a seguir à coluna Produto. 6.16 Elimine a barra de navegação criada pelo wizard. Neste momento, o formulário deve apresentar o seguinte aspecto. Visual Studio 2005 36

6.17 De modo a tornar a grelha apenas disponível para visualização de dados, aceda ao menu smart tag do comando ItensFacturasEDDataGridView e desactive as caixas de verificação Enable Adding, Enable Editing e Enable Deleting. Desactive ainda a caixa de verificação Enable Column Reordering. Vamos ainda adicionar mais uma consulta ao Table Adapter ItensFacturasEDTableAdapter para obter os itens de uma factura. Esta consulta utiliza o identificador da factura seleccionada na grelha do formulário frmfacturasclientes. 6.18 Seleccione, no DataSet Designer, o Table Adapter ItensFacturasEDTableAdapter com o botão direito do rato. Depois, seleccione o comando Add Query. Visual Studio 2005 37

Utilize o Table Adapter Query Configuration Wizard para criar a consulta. 6.19 No primeiro passo do wizard, seleccione a opção Use SQL statements. 6.20 Pressione o botão Next. 6.21 No segundo passo do wizard, seleccione a opção SELECT which returns rows. Visual Studio 2005 38

6.22 Pressione o botão Next. 6.23 No terceiro passo do wizard, pressione o botão Query Builder para construir a consulta graficamente, de acordo com a figura seguinte. Esta consulta vai ser utilizada para obter os itens das facturas que vão ser mostrados neste formulário. Note que, além da operação de junção interna, é também utilizado um parâmetro. Visual Studio 2005 39

6.24 Na caixa de diálogo Query Builder, pressione o botão OK. 6.25 No terceiro passo do wizard, pressione o botão Next. 6.26 No quarto passo do wizard, mantenha activada a caixa de verificação Fill a DataTable, atribua o valor FillByFactura na caixa de texto Method name e desactive a caixa de combinação Return a DataTable, de acordo com a figura seguinte. Visual Studio 2005 40

Pressione o botão Finish. Visual Studio 2005 41

Formulário frmadicionarfactura Este formulário permite adicionar uma factura, com um ou mais itens, para o cliente seleccionado no formulário frmfacturasclientes. 7 Desenho do formulário frmadicionarfactura. 7.1 Adicione um novo formulário ao projecto. Para tal, seleccione a opção Add Windows Form do menu Project. Como resultado, aparece a caixa de diálogo Add New Item. 7.2 Na secção Templates da caixa de diálogo Add New Item, seleccione a opção Windows Form. Depois introduza o nome para o formulário e pressione o botão Add. Introduza o nome frmadicionarfactura. 7.3 Defina as propriedades Text, StartPosition e AutoScaleMode, com os valores Adicionar Factura, CenterScreen e Font. 7.4 Na janela Data Sources, expanda a caixa de verificação correspondente à tabela ClientesED. Depois, arraste os atributos IDCliente e Nome para o formulário frmadicionarfactura. Como resultado do passo anterior, além dos objectos Label e TextBox, criados para cada coluna, são também criados os objectos EditoraDataSet, ClientesEDTableAdapter, ClientesEDBindingSource e ClientesEDBindingNavigator. Adicionalmente, o Visual Studio gera também código, que iremos analisar mais à frente. 7.5 Para as caixas de texto recentemente criadas, defina as suas propriedades BackColor, ReadOnly e TabStop com os valores Control, True e False, respectivamente. 7.6 Elimine a barra de navegação criada pelo wizard. Visual Studio 2005 42

7.7 Na janela Data Sources, expanda a caixa de verificação correspondente à tabela FacturasED. Depois, arraste o atributo DataFactura para o formulário frmadicionarfactura. Deste modo, irá ser criado um controlo DateTimePicker ligado à coluna DataFactura da tabela FacturasED e irão ser gerados os objectos FacturasEDTableAdapter e FacturasEDBindingSource. 7.8 Defina a propriedade Format do controlo DateTimePicker, recentemente criado, com o valor Short. 7.9 Seleccione, na janela Data Sources, a opção Details da caixa de listagem associada à tabela Produtos. Visual Studio 2005 43

7.10 Seleccione, na janela Data Sources, a opção ComboBox da caixa de listagem associada à coluna Código da tabela Produtos. 7.11 Arraste o atributo Código da tabela Produtos da janela Data Sources para o formulário frmadicionarfactura. Como resultado, são criados os controlos Label, ComboBox, ProdutosTableAdapter e ProdutosBindingSource. 7.12 Aceda ao menu smart tag do controlo CódigoComboBox. Active a caixa de verificação Use data bound items. Como resultado, vão ser mostradas as propriedades de ligação. Visual Studio 2005 44

7.13 Atribuía os valores para as propriedades Data Source, Display Member, Value Member e Selected Value, de acordo com a imagem seguinte. 7.14 Seleccione a opção DropDownList para a propriedade DropDownStyle do controlo CódigoComboBox, de modo a impedir que o utilizador introduza dados nesta caixa de combinação. 7.15 Altere, na secção DataBindings do controlo CódigoComboBox, o valor da propriedade Text para none. 7.16 Defina as propriedades Name e Text do controlo CódigoLabel recentemente criado pelo assistente, com os valores ProdutoLabel e Produto:, respectivamente. 7.17 Adicione um controlo Label e defina as suas propriedades Name e Text com os valores e QuantidadeLabel e Quantidade, respectivamente. 7.18 Adicione um controlo TextBox e defina as suas propriedades Name, Tag e Text com os valores QuantidadeTextBox, Quantidade e 1, respectivamente. 7.19 Adicione um botão ao formulário. Defina as suas propriedades Name e Text com os valores btnadicionaritem e Adicionar Item, respectivamente. 7.20 Arraste a tabela ItensFacturasED da janela Data Sources para o formulário do projecto. Visual Studio 2005 45