PROBLEMAS COM FOR NEXT E ADO

FUTURA 16/04/2007 11:20:30
#212070
na rotina abaixo que pega o index dos campos text, sempre rodou nornal em dao

no meu RS, tenho 119 campos (rs!t0,rs!t1,rs!t2, etc), e também tenho 119 campos text na tela, na verdade é um só com 119 index (text(0),text(1),text(2),etc)


o que faço é percorre todos os texts com o for, e ir igualando ao seu respectivo campo no RS.

For i = 0 To 119
Rs("t" & i) = Text(i).Text
Next i
Rs.Update

porém no update esta dando erro, e percebi que o I chega a 120, qdo deveria parar no 119, lembrnaod que em dao, sempre funcionaou assim, como devo proceder ?
STRANDOW 16/04/2007 14:24:37
#212103
poe uma verificaçao...
tipo

For i = 0 To 119
if i <=119 then
Rs("t" & i) = Text(i).Text
end if
Next i

Rs.Update


espero que ajude
USUARIO.EXCLUIDOS 16/04/2007 15:50:09
#212129
Faz o seguinte:

For i = 0 To Text.UBound
Rs("t" & i) = Text(i).Text
Next i
Rs.Update

'Espero ter te ajudado

LIONHEART 16/04/2007 15:52:45
#212131
O "I" chega a 120 mas não roda o numero 120.. é só a forma que ele faz pra sair do laço For/Next

Acontece cara, que se vc tem 119 campos na tabela, então vc deve ir até o 118, pois o Recordset começa no 0, então de 0 a 118 são os 119 campos.
USUARIO.EXCLUIDOS 16/04/2007 16:36:24
#212139
Se você tem "T0" da tabela referente ao campo "TEXT(0)"
a função abaixo tem q funcionar porque o método "Ubound" vai dizer quantos índices o campo "TEXT" tem começando do "0".

For i = 0 To Text.UBound
Rs("t" & i) = Text(i).Text
'aqui seria T0 = TEXT(0) e assim por diante
Next i
Rs.Update

Você pode tentar trocar o "UPDATE" por "UpdateBatch" + ñ eskeça de mudar o "lookType" do método "OPEN" para "adLockBatchOptimistic"

FUTURA 16/04/2007 16:58:01
#212143
QUAL A DIFERENÇA ENTRE UPDATE E UPDATEBATCH
FUTURA 17/04/2007 08:04:13
#212207
?
USUARIO.EXCLUIDOS 17/04/2007 08:30:46
#212210
For i = 0 To 118
Rs("t" & i) = Text(i).Text
Next i
Rs.Update

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