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

Você está em: PrincipalArtigos › ASP 3.0 › Capítulo 06 : 08
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
SITES DINÂMICOS COM ASP 3.0 - CURSO COMPLETO
Autor: Júlio Battisti


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


Lição 052 - Capítulo 06 - A propriedade Filter do objeto RecordSet

Podemos configurar a propriedade Filter para exibir apenas um conjunto de registros que satisfaçam uma ou mais condições. Por exemplo, posso ter criado um RecordSet que retorna todos os registros da tabela Pedidos (Orders), do Banco de dados nwind.mdb. Depois posso configurar a propriedade Filter para que somente sejam exibidos os registros cuja País de destino seja o Brasil.

A configuração da propriedade Filter apenas faz com que seja limitada a visibilidade do RecordSet. Podemos redefinir a propriedade Filter, de tal maneira que todos os registros voltem a estar disponíveis.

Na Listagem 6.8 criamos uma página que acessa a tabela Orders, do Banco de dados Nwind.mdb. São recuperados os campos OrderID, OrderDate, ShipCity e ShipCountry. Depois utilizamos a propriedade Filter, para exibir somente os Pedidos cujo para o ano de 1994.

Listagem 6.8 – Exibindo somente os pedidos para o ano de 1994 – filter_pedidos.asp.

1          <%@ Language=VBScript %>

2          <HTML>

3          <HEAD>

4          </HEAD>

5          <TITLE>Utilizando a propriedade Filter.</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 arquivo nwind.mdb

13        'utilizando OLE DB.

             

14        conn.ConnectionString = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA        SOURCE=c:\meus documentos\nwind.mdb"

15        conn.Open

16        'Agora criamos um Objeto RecordSet.

17        'Este Objeto irá acessar o campo ProductName

18        'da tabela Orders.

19        Set Pedidos = Server.CreateObject("ADODB.Recordset")

20        inst_sql="SELECT Orders.OrderID, Orders.OrderDate, Orders.ShipCity,     Orders.ShipCountry, Year([OrderDate]) AS AnoPedido FROM Orders Order By   ShipCountry "

21        Pedidos.Open inst_sql, conn, 3, 3

22        'Neste ponto tenho o objeto Cadastro ligado com a tabela

23        'Produtos do Banco de dados nwind.mdb.

24        %>

25        <P><FONT color=navy size=6><B>Empresa ABC LTDA</B></FONT></P>

26        <P><B><I>Listagem de Produtos para o ano de: <FONT color=red>1994</FONT>

27        </I></B>

28        <HR>

29        </P>

30        <%

31        'Configura a propriedade Filter para exibir

32        'somente os registros em que o ano do campo

33        'OrderDate é igual a 1994.

34        Pedidos.Filter = "AnoPedido=1994"

35        'Agora construo uma tabela para exibir os resultados.

36        %>

37        <%

38        <TABLE>

39        <TR>

40            <TD>Código</TD>

41            <TD>Data</TD>

42            <TD>Cidade</TD>

43            <TD>País</TD>

44            <TD>Ano</TD>

45        </TR>

46        <%

47        Pedidos.MoveFirst

48        Do Until Pedidos.EOF %>

49           <TR>

50                <TD><% =Pedidos.Fields("OrderID")    %></TD>

51                <TD><% =Pedidos.Fields("OrderDate")  %></TD>

52                <TD><% =Pedidos.Fields("ShipCity")   %></TD>

53                <TD><% =Pedidos.Fields("ShipCountry")%></TD>

54                <TD><% =Pedidos.Fields("AnoPedido")  %></TD>

55           </TR>

56        <%

57        Pedidos.MoveNext

58        Loop

59        %>

60        </TABLE>

61        </BODY>

62        </HTML>

Ao carregarmos esta página, obteremos o resultado indicado na Figura 6.22.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.22 Pedidos para o ano de 1994.

Vamos fazer alguns comentários sobre o código.

  • Primeiro gostaria de comentar a construção da instrução SQL:

20        inst_sql="SELECT Orders.OrderID, Orders.OrderDate, Orders.ShipCity,     Orders.ShipCountry, Year([OrderDate]) AS AnoPedido FROM Orders Order By   ShipCountry"

Observe que na instrução SQL, utilizamos a função Year(NomeDoCampo), para criar um campo chamado AnoPedido, o qual contém apenas o ano da data do Pedido. Esta construção mostra o poder e a simplicidade da linguagem SQL, motivo pelo qual foi colocado anteriormente sobre a importância de aprendermos a utilizar com eficiência a linguagem SQL.

  • Agora vamos observar a utilização da propriedade Filter, no seguinte fragmento de código:

34        Pedidos.Filter = "AnoPedido=1994"

Com este comando estamos restringindo os registros de tal forma que somente sejam exibidos os registros cujo campo AnoPedido seja igual a 1994.

Para salientar a flexibilidade desta propriedade, vamos considerar um outro exemplo. Vamos supor que fosse necessário exibir apenas os pedidos para o ano de 1994 e cujo país de destino seja o Brazil (com “z” porque no Banco de dados Nwind está com ”z”). Para obter este resultado, bastaria definir a propriedade Filter da seguinte maneira:

Pedidos.Filter = "AnoPedido=1994 And ShipCountry='Brazil'"

Quando queremos que os registros atendam a dois ou mais critérios, simultaneamente, utilizamos o operador And. Neste caso somente serão exibidos os registros em que o campo AnoPedido for 1994 e o campo ShipCountry for Brazil, conforme indicado na Figura 6.23.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.23 Pedidos para o “Brazil” no ano de 1994.

Vamos refinar um pouco mais. Vamos fazer com que sejam exibidos apenas os registros para o ano de 1994 e para o Brazil ou Germany (Alemanha).

Pedidos.Filter = "(AnoPedido=1994 And ShipCountry='Brazil') OR (AnoPedido=1994 And ShipCountry='Germany')"

Este comando deve ser digitado em uma única linha, além disso os espaços devem ser rigorosamente respeitados. Após o fechar parênteses apenas um espaço, após o OR apenas um espaço e assim por diante. Na Figura 6.24 temos o resultado desta pesquisa, onde são exibidos apenas os pedidos para o Brazil e para a Germany, no ano de 1994.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.24 Pedidos para o “Brazil” e para “Germany” no ano de 1994.

Observe que com a correta utilização da propriedade Filter, podemos obter resultados interessantes. Voltaremos a utilizar esta propriedade em outros exemplos deste livro.

Para eliminar qualquer filtro aplicado e voltar a disponibilizar todos os registros, basta utilizar os seguinte comando:

Pedidos.Filter = “ “

Com isso elimino qualquer filtro que tenha sido aplicado.

Também podemos utilizar o operador Like para fazer uma pesquisa por padrões. Por exemplo, vamos supor que queremos filtrar apenas os registros cujo campo NomeCliente inicie com a letra J. Poderíamos utilizar o seguinte comando:

Pedidos.Filter = “NomeCliente Like ‘J%’ ”

Neste caso o % funciona como um caracter curinga, isto é, a primeira letra do nome deve ser J e o que vem depois não importa. Neste caso seriam retornados registros tais como:

  • José da Silva.
  • Juvenal Pereira.
  • Júlio Battisti.


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • 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-2019 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI