NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
« Lição anterior | Δ Página principal | ¤ Capítulos | Próxima lição » |
SQL Server 2005 - CURSO COMPLETO Autor: Júlio Battisti | |||
---|---|---|---|
Lição 200 - Capítulo 11 - PARA LOCALIZAR UM REGISTRO | |||
Para que possamos localizar um registro, ou um conjunto de registros com base em um ou mais critérios, basta construirmos uma instrução SQL que retorna os dados desejados. Por exemplo, se quisermos pesquisar um determinado produto na tabela Products, do Banco de Dados Northwind. Criamos um formulário HTML onde o usuário pode digitar o código do produto. O valor digitado é passado para uma página ASP, utilizando a opção Action, da tag FORM. A página ASP recebe o valor digitado, utilizando Request.Form(“NomeDoCampoNoFormulário”). Com o valor recebido, a página ASP monta uma instrução SQL, utilizando o código digitado como filtro. Os resultados são exibidos em uma tabela criada com código HTML. Vamos a um exemplo bastante simples. O nosso exemplo será composto de duas páginas ASP. A primeira página será chamada ListaPaises.asp. Esta página obtém uma lista de todos os países para os quais existe pedidos na tabela Orders do Banco de Dados Northwind da instância SERVIDOR\SQL2005. Selecionamos um dos países da lista e clicamos em um botão Pesquisar. Ao clicarmos no botão Pesquisar, será chamada uma segunda página ASP – PaisesObtidos.asp. Esta segunda página exibe uma listagem com os campos OrderID, OrderDate, ShipCity e ShipCountry para todos os pedidos do país selecionado na página ListaPaises.asp. No Exemplo 11.6, temos a listagem que cria a página ListaPaises.asp. Exemplo 11.6 – Página ASP que cria a listagem de países – ListaPaises.asp. 1 <%@ Language=VBScript %> 2 <HTML> 3 <HEAD> 4 </HEAD> 5 <TITLE>Selecione o País de destino.</TITLE> 6 <BODY> 7 <% 8 ‘O primeiro passo é criar a conexão com o Banco de Dados. 9 ‘Para isto crio um objeto do tipo Connection. 10 ‘Cria um objeto do tipo ADODB.Connection 11 Set conn=Server.CreateObject(“ADODB.Connection”) 12 ‘Agora abro uma conexão com o Banco de Dados Northwind 13 ‘utilizando OLE DB. 14 conn.ConnectionString = “PROVIDER=SQLOLEDB; Data Source=SERVIDOR\SQL2005;Initial Catalog=Northwind; User ID=sa;Password=abc123” 15 conn.Open 16 ‘Agora criamos um objeto RecordSet. 17 ‘Este objeto irá acessar o campo ShipCountry 18 ‘da tabela Produtos 19 Set Paises = Server.CreateObject(“ADODB.Recordset”) 20 Paises.Open “Select ShipCountry from Orders Group By ShipCountry Order By ShipCountry”, conn, 3, 3 21 ‘Neste ponto tenho o objeto Paises com uma listagem 22 ‘em ordem ascendente, dos países para os quais existem 23 ‘pedidos efetuados. 24 %> 25 <P><B>Selecione o país a ser pesquisado.</B></P> 26 <P><B><I>Depois clique no botão Pesquisar.</I></B></P> 27 <FORM action=PaisesObtidos.asp method=post id=form1 name=form1> 28 <SELECT id=listapaises name=listapaises> 29 <% 30 ‘Agora construo a lista de opções a partir dos 31 ‘dados obtidos da tabela Orders. 32 ‘Para cada país obtido, crio uma nova opção 33 ‘na lista. 34 Do While Not Paises.EOF 35 Response.Write “<OPTION value=” & Chr(34) & Paises.Fields(“ShipCountry”) & Chr(34) & “>” & Paises.Fields(“ShipCountry”)& “</OPTION>” 36 Paises.MoveNext 37 Loop 38 %> 39 </SELECT> 40 <BR> 41 <HR> 42 <INPUT type=“submit” value=Pesquisar id=Pesquisar name=Pesquisar> 43 </FORM> 44 </BODY> Ao carregarmos a página ListaPaises.asp, obtemos o resultado indicado na Figura 11.42.
Agora precisamos construir a página PaisesObtidos.asp. Esta página receberá o valor selecionado na lista, e utilizará este valor como critério de pesquisa. O nome da lista na página ListaPaises.asp é listapaises. O que define o nome de um campo em um formulário é a opção id, como indicado no fragmento de código a seguir: 28 <SELECT id=listapaises name=listapaises> A página PaisesObtidos.asp também exibirá os resultados obtidos. Na Listagem 11.7, temos o código que cria a página PaisesObtidos.asp. Exemplo 11.7 – Utilizando o país selecionado como critério de pesquisa – PaisesObtidos.asp. 1 <%@ Language=VBScript %> 2 <HTML> 3 <HEAD> 4 </HEAD> 5 <TITLE>Resultados da pesquisa para <%=Request.Form(“listapaises”) %>.</TITLE> 6 <BODY> 7 <% 8 ‘O primeiro passo é criar a conexão com o Banco de Dados. 9 ‘Para isto crio um objeto do tipo Connection. 10 ‘Cria um objeto do tipo ADODB.Connection 11 Set conn=Server.CreateObject(“ADODB.Connection”) 12 conn.ConnectionString = “PROVIDER=SQLOLEDB; Data Source=SERVIDOR\SQL2005;Initial Catalog=Northwind; User ID=sa;Password=abc123” 13 conn.Open 14 ‘Agora criamos um objeto RecordSet. 15 ‘Este objeto irá utilizar o país selecionado como critério de pesquisa 18 ‘na tabela Orders. Feito isso teremos os pedidos para o país selecionado na lista. 19 Set Pedidos = Server.CreateObject(“ADODB.Recordset”) 20 Pedidos.Open “Select OrderID, OrderDate, ShipCity, ShipCountry from Orders WHERE ShipCountry=’” & Request.Form(“listapaises”) & “‘“ , conn, 3, 3 21 ‘Vamos exibir novamente a lista de países para que o usuário 22 ‘possa selecionar outro país e fazer outra pesquisa. 23 ‘Agora criamos um objeto RecordSet. 24 ‘Este objeto irá acessar o campo ShipCountry 25 ‘da tabela Orders. 26 Set Paises = Server.CreateObject(“ADODB.Recordset”) 27 Paises.Open “Select ShipCountry from Orders Group By ShipCountry Order By ShipCountry”, conn, 3, 3 28 ‘Neste ponto tenho o objeto Paises com uma listagem 29 ‘em ordem ascendente, dos países para os quais existem 30 ‘pedidos efetuados. 31 %> 32 <B>Selecione outro país para fazer uma nova pesquisa.</B><BR> 33 <B><I>Depois clique no botão Pesquisar.</I></B><BR> 34 <FORM action=PaisesObtidos.asp method=post id=form1 name=form1> 35 <SELECT id=listapaises name=listapaises> 36 <% 37 ‘Agora construo a lista de opções a partir dos 38 ‘dados obtidos da tabela Orders. 39 ‘Para cada país obtido, crio uma nova opção 40 ‘na lista. 41 Do While Not Paises.EOF 42 - Response.Write “<OPTION value=” & Chr(34) & Paises.Fields(“ShipCountry”) & Chr(34) 43 - If Paises.Fields(“ShipCountry”)= Request.Form(“listapaises”) Then 44 - Response.Write “SELECTED” 45 - End If 46 - Response.Write “>” & Paises.Fields(“ShipCountry”)& “</OPTION>” 47 - Paises.MoveNext 48 - Loop 49 %> 50 </SELECT> 51 52 <HR> 53 <INPUT type=“submit” value=Pesquisar id=Pesquisar name=Pesquisar> 54 </FORM> 55 <% 56 ‘Exibo os resultados obtidos. 57 %> 58 <B>Relação de pedidos para: <% =Request.Form(“listapaises”) %>.</B> 59 <HR> 60 <% ‘Agora exibo os resultados utilizando uma tabela. %> 61 <TABLE border=1> 62 - <TR> 63 - <TD><B>Código</B></TD> 64 - <TD><B>Data</B></TD> 65 - <TD><B>Cidade</B></TD> 66 - <TD><B>País</B></TD> 67 </TR> 68 <% 69 - Do While Not Pedidos.EOF 70 %> 71 - <TR> 72 - <TD><% =Pedidos.Fields(“OrderID”) %></TD> 73 - <TD><% =Pedidos.Fields(“OrderDate”) %></TD> 74 - <TD><% =Pedidos.Fields(“ShipCity”) %></TD> 75 - <TD><I><% =Pedidos.Fields(“ShipCountry”) %></I></TD> 76 - </TR> 77 <% Pedidos.MoveNext 78 Loop 79 %> 80 </TABLE> 81 <BR> 82 <HR> 83 </BODY>Utilizando o Nosso Exemplo Agora vamos utilizar o nosso exemplo para comprovar o correto funcionamento do mesmo. Ao carregar a página ListaPaises.asp, obtemos o resultado indicado na Figura 11.42, indicada anteriormente. Vamos supor que o usuário selecionou “Norway”, na lista de países. Ao clicar no botão Pesquisar, serão exibidos apenas os Pedidos o país selecionado, conforme indicado na Figura 11.43.
Observe que novamente é exibida a lista de países e o país selecionado anteriormente aparece selecionado na lista. Para pesquisar os pedidos para outro país é só selecionar o país desejado na lista, e clicar no botão Pesquisar. Veja que com isso construímos um formulário de pesquisa bastante interativo. O usuário seleciona o país desejado, e manda pesquisar. Cada vez que o usuário seleciona um país diferente na lista e clica no botão Pesquisar; o novo valor selecionado é utilizado como critério de filtragem e somente os registros que atendem ao critério serão retornados. |
|||
« Lição anterior | Δ Página principal | ¤ Capítulos | Próxima lição » |
Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela
Aplica-se ao Access 2019, 2016, 2013 e 2010!
Para todos os detalhes, acesse:
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2024 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI