Shopping Hospedagem Fórum Contato
     
   O portal do desenvolvedor ASP Florianópolis-SC, Quinta-feira - 26 de Abril de 2018  
Busca

Menu do site
Efetuar Login
Usuário:

Senha:

 Esqueceu a senha?
Login automático

 Cadastre-se
Capturando dados de duas tabelas em um único RecordSet
Avaliações: 24   -   Minha nota: Média Geral: 5  
 
Vamos supor que tenhamos duas tabelas diferentes em um banco de dados, uma com dados dos clientes e outra com dados dos fornecedores. Ambas as tabelas possuem um campo chamado email, e queremos capturar os emails tanto dos clientes como fornecedores em um único RecordSet.

Para isto, vamos utilizar a instrução UNION

A instrução SQL para capturar estes emails seria aseguinte.

1
strQ = "SELECT email FROM clientes UNION SELECT email FROM fornecedores"

Poderiamos ainda nesta intrução limitar os registros de ambas as tabelas com a clausula WHERE

 
1
2
strQ = "SELECT email FROM clientes WHERE email<>''"
strQ = strQ & " UNION SELECT email FROM fornecedores WHERE email<>'' "

Segue abaixo o código completo para exibir todos os email das duas tabelas na tela:
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "Data Source=C:/base_de_dados.mdb;Provider=Microsoft.Jet.OLEDB.4.0;"

strQ = "SELECT email FROM clientes UNION SELECT email FROM fornecedores"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation = 2
objRS.CursorType = 1
objRS.LockType = 2
objRS.Open strQ, objCon,,, &H0001

If Not objRS.EOF Then
  While Not objRS.EOF
    Response.Write objRS("email") & "<br>"
    objRS.MoveNext
  Wend
End

objRS.Close
Set objRS = Nothing

objCon.Close
Set objCon = Nothing

 

Espero que este exemplo lhe seja útil.

 

Fabiano Dias
fabiano@superasp.com.br

www.superasp.com.br
O portal do desenvolvedor ASP




SuperASP do Brasil Ltda

03.066.522/0001-84
Av. Rio Branco 433 - Centro - Florianopolis - SC
Contato

© 2001/2008 - Superasp do Brasil Ltda. Todos os direitos reservados