PROBLEMA COM FOR NEXT

USUARIO.EXCLUIDOS 10/08/2007 15:57:02
#230406
amigo meu for esta certo o problema agora e esta no meu filtro
assim

Where dofofertasub.idreg =" & txitem
USUARIO.EXCLUIDOS 10/08/2007 16:03:56
#230408

iSso é uma sql certo? pode postá-la toda

bom...ja resolvemos a chamada da função..então

OK...qual é o tipo de dados do campo idReg?

USUARIO.EXCLUIDOS 10/08/2007 16:08:04
#230409
então... vc teria que quebrar a sua string...

Tipo assim:

Dim arItem as Variant
Dim strWhere as string
arItem = Split(txitem,";")

strWhere = "WHERE (dofofertasub.idreg = " & arItem(0) & ")"
For i = 1 to UBound(arItem)
strWhere = strWhere & " OR (dofofertasub.idreg = " & arItem(i) & ")"
Next



Aí na hora de abrir o recordset, vc faz algo tipo assim:

rs.Open "Select * from Sua_Tabela " & strWhere

USUARIO.EXCLUIDOS 10/08/2007 16:18:00
#230411
awar amigo esta meu sql, onde o idreg e o edificador do movimento i e numero


sql = " SELECT fofertasub.*, CdVeículos.Placa"
sql = sql & " FROM fofertasub INNER JOIN CdVeículos ON fofertasub.idveiculo = CdVeículos.IDVeículo INNER JOIN dofoferta ON fofertasub.idmov = dofoferta.idmov"
sql = sql & " Where dofofertasub.idreg = " & Noitem

USUARIO.EXCLUIDOS 10/08/2007 16:24:35
#230412
Tentou aplicar o meu Exemplo????

Se não, segue o mesmo adaptado ao seu código.


Dim arItem as Variant
Dim strWhere as string
arItem = Split(txitem,";")

strWhere = "WHERE (dofofertasub.idreg = " & arItem(0) & ")"
For i = 1 to UBound(arItem)
strWhere = strWhere & " OR (dofofertasub.idreg = " & arItem(i) & ")"
Next

sql = " SELECT fofertasub.*, CdVeículos.Placa"
sql = sql & " FROM fofertasub INNER JOIN CdVeículos ON fofertasub.idveiculo = CdVeículos.IDVeículo INNER JOIN dofoferta ON fofertasub.idmov = dofoferta.idmov "
sql = sql & strWhere

USUARIO.EXCLUIDOS 10/08/2007 16:45:32
#230419
Amigo MARCELOHF

Ficou na mesmo Só consigo ver Um Só movimento e quando eu marco mais de treis Checked acontece o erro type mismatch
USUARIO.EXCLUIDOS 10/08/2007 16:49:56
#230420
Amigo, mas onde dá o erro?
USUARIO.EXCLUIDOS 10/08/2007 16:54:18
#230421
o erro esta na hora que eu chamo o Relatorio

assim

Call relDocumentoflorestal(CDbl(txItem))
USUARIO.EXCLUIDOS 10/08/2007 17:26:18
#230428
Resposta escolhida
Cara, acho que entendi seu problema, vc quer selecionar vários itens e listá-los no relatório, certo?

Então acho que o que você quer é usar o comando IN, pois quando vc tem vários itens, vc usa o IN e os serpara por vírgula (o for fica da forma como está) e pra criar o script sql:

sql = " SELECT fofertasub.*, CdVeículos.Placa"
sql = sql & " FROM fofertasub INNER JOIN CdVeículos ON fofertasub.idveiculo = CdVeículos.IDVeículo INNER JOIN dofoferta ON fofertasub.idmov = dofoferta.idmov"
sql = sql & " Where dofofertasub.idreg IN (" & Noitem & ")"


Imagino que a variável Noitem seja o parâmetro da função relatorioflorestal, sendo assim o parâmetro Noitem deve ser declarado como string, ficando:

Sub relatorioflorestal(ByVal Noitem As String)





[txt-size=1]PS: Foi pedido algumas vezes para você postar a função relatorioflorestal e você não o fez, por isso eu tive que pegar a minha bola de cristal pra responder o que disse acima, por favor, vamos colaborar com quem está querendo te ajudar, ok?[/txt-size]

Qualquer dúvida poste (e se tiver dúvida novamente e vc não postar a funçao, ou ao menos sua declaração, irei fechar o tópico e você ficará sem resposta mesmo)...flw
LCSD 10/08/2007 17:28:40
#230429
E vamos novamente....

POSTE POR GENTILEZA o que esta sua função faz.
DESDE a DECLARAÇÃO dela até o END SUB.

O PROBLEMA está nesta função meu caro... POSTE-A que fica muit omais fácil identificar este problema de TYPE MYSMATCH e inclusive, o PQ não está pegando mais de 1 registro na sua cláusula SQL.
Página 2 de 3 [21 registro(s)]
Tópico encerrado , respostas não são mais permitidas