COMO MONTO ESSE SELECT

WHELLNET 26/07/2005 21:46:04
#96133
1a. - Montagem do Select
é o seguinte, tenho uma tabela cliente (tbl_clie) e uma tabela lojas (tbl_loja). Pois bem, vou criar um formulário para que o cliente cadastre os saldos iniciais contidos na tabela de cliente. Esse formulário que quero que mostre somente os os clientes que ainda não tiveram movimentação da tabela lojas. Como eu monto o Select?

--------------------------------------------------------------

2a. - Duvida (Não tem nada a ver com a primeira)
é o seguinte no ADO a maneira mais rapida de se consultar dados é utilizando:
Rs.Open "Select * from tbl_clie", Conexao, AdOpenStatic, AdLockReadOnly

Se eu utilizo os comandos sql para inserir, alterar, deletar dados ou nunca vou precisar abrir como:
Rs.Open "Select * from tbl_clie, Conexao, AdOpenKeySet, AdLockPessimistic

Estou certo ou estou falando besteira?

Em tempo, uso ADO e Firebird.

Obrigado!
WEBER 26/07/2005 22:00:34
#96136
Set ts1.ActiveConnection = con
ts1.LockType = adLockOptimistic
ts1.CursorLocation = adUseClient
ts1.Open "SELECT * FROM tbl_clie"
WHELLNET 26/07/2005 22:17:05
#96138
[S61]
USUARIO.EXCLUIDOS 27/07/2005 08:12:19
#96154
whellnet,
na duvida 2, se você abrir assim:
Rs.Open "Select * from tbl_clie", Conexao, AdOpenStatic, AdLockReadOnly
o ideal é você jogar os dados em uma list ou grid e fechar o recordset, e depois utilizar o metodo execute da sua conexao para salvar, incluir, excluir os dados(utilize rs.close e set rs = nothing para fechar o recordset)

conexao.execute("Update")
conexao.execute("Insert Into")
conexao.execute("delete")

assim você não precisa manter o recordset aberto.
se você for utilizar os metdos update, addnew ou delete do recordset, então você terá que deixa - lo aberto e o modo de abertura devera ser
rs.Open "Select * from tbl_clie, Conexao, AdOpenDynamic, AdLockOptmistic
só que isto não é recomendavel

na primeira questão você deve utilizar um select com inner join das tabelas e com um where
"SELECT tabela1.campo1, tabela1.campo2, tabela2.campo1, tabela2.campo2 FROM tabela1 INNER JOIN tabela2 ON Tabela1.campo1 = Tabela2.campo1 WHERE tabela2.campo2 = """
WHELLNET 27/07/2005 08:14:45
#96157
Vou dar uma estudada aqui, pois esse lance de inner join nunca vi, mas obrigado por enquanto
;-)
USUARIO.EXCLUIDOS 27/07/2005 09:42:12
#96166
Resposta escolhida
Sobre inner join uma excelente explicação:

http://www.postgresql.org.br/tutorial2/tutorial-join.html

Agora sobre selecionar os registros em outra tabela:

While Not RsCLie.EOf
rsloja.Open "SELECT CODI FROM TBL_LOJA WHERE CLIE=" & rsclie!Codi, Conexao
'Aqui vc verifica
If rsloja.recordcount = 0 then cmb_codi.additem rsclie!codi
rsloja.close
rsclie.movenext
wend
Tópico encerrado , respostas não são mais permitidas