CONSULTA

SRANDRE 03/08/2009 16:31:05
#318721
boa tarde pessoal !

Gente to com probleminha estou comparando duas tabelas, na tabela1 seleciono um periodo de registros e depois verifico se os mesmos constam na tabela2 se nao constar eu quero que os mesmos sejam mostrado no list.


Só que nao ta funfado.


Citação:



dia = [Ô]28[Ô]
mes = [Ô]07[Ô]

proc = ano + [Ô]-[Ô] + Format(mes, [Ô]00[Ô]) + [Ô]-[Ô] + dia

Set rs = New ADODB.Recordset

sql = [Ô]select ctrc_ctrc , stat_ctrc from ctrc where emis_ctrc > [ô] [Ô] & proc & [Ô] [ô] And stat_ctrc <> 6 [Ô]

rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenStatic, adLockReadOnly






Do While Not rs.EOF


sql = [Ô]select ctrc_hist, situ_hist from ctrc_hist where ctrc_hist = [Ô] & rs([Ô]ctrc_ctrc[Ô]) & [Ô] and situ_hist = 1 [Ô]


conn.Execute sql


If rs.EOF = True Then



List1.AddItem rs([Ô]ctrc_ctrc[Ô])

Else


rs.MoveNext

End If



Loop



lbl.Caption = [Ô]ACabou[Ô]

rs.Close


End Function

TECLA 03/08/2009 17:11:04
#318730
Posta a estrutura (CAMPOS x TIPO DE DADOS) das duas tabelas.
ALVAROVB2009 03/08/2009 17:34:06
#318738
e tb qual q mensagem de erro q esta dando e se mostra aonde q esta a linha de erro
SRANDRE 04/08/2009 09:30:53
#318797
nao da erro so nao esta me retornando nada.




ctrc_ctrc = integer
ctrc_hist = integer
SRANDRE 05/08/2009 17:07:30
#319031
alguem pode me ajudar ?
SILVIO.GARCIA 05/08/2009 17:13:30
#319035
qual banco vc esta usando???

ia = [Ô]28[Ô]
mes = [Ô]07[Ô]

proc = ano + [Ô]-[Ô] + Format(mes, [Ô]00[Ô]) + [Ô]-[Ô] + dia

Set rs = New ADODB.Recordset

sql = [Ô]select * from ctrc where emis_ctrc > [ô] [Ô] & proc & [Ô] [ô] And stat_ctrc <> 6 [Ô]

rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenStatic, adLockReadOnly

if rs.recordcout>1= then [ô][ô] Tem registros
[ô]
[ô]
endif
[ô]
[ô]
outra coisa, muda a abertura pra fazer um teste: ....,adOpenDynamic ,adLockBatchOptimistic.

o static é para relatório, talvez seu cursor não consegue andar..


posta o resultado.

t+











somente assim, retorna alguma coisa???
SRANDRE 05/08/2009 19:05:46
#319045
silvio,

meu banco mysql


nas alteraçoes acima ele vai mostrar list todos os registros eu so quero ele mostre os registro que ele nao enconrar.

RCMRO 05/08/2009 20:43:14
#319053
SRANDRE,

Tenta mudar toda a sua funcao para o codigo abaixo. Deve funcionar.

Abraços

---------------------------
dia = [Ô]28[Ô]
mes = [Ô]07[Ô]

proc = ano + [Ô]-[Ô] + Format(mes, [Ô]00[Ô]) + [Ô]-[Ô] + dia

Set rs = New ADODB.Recordset

sql = [Ô]SELECT a.ctrc_ctrc , a.stat_ctrc FROM ctrc a LEFTJOIN ctrc_hist b ON b.ctrc_hist = a.ctrc_ctrc AND b.situ_hist = 1 [Ô] & _
[Ô]WHERE a .emis_ctrc > [ô] [Ô] & proc & [Ô] [ô] AND a.stat_ctrc <> 6 AND b.ctrc_hist IS NULL[Ô]

rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenStatic, adLockReadOnly

List1.Clear
Do While Not rs.EOF
List1.AddItem rs([Ô]ctrc_ctrc[Ô])
rs.MoveNext
Loop

lbl.Caption = [Ô]ACabou[Ô]
rs.Close

Tópico encerrado , respostas não são mais permitidas