ERRO NESTE LOOP

HELIO.COSTA 19/09/2010 15:46:46
#353367
Ola pessoal!

o que está errado nestes loop[ô]s

Do While Not adoVenda.EOF
ContaLinhas = adoVenda.RecordCount
NPedido = adoVenda!Pedido
Set adoItensPedido = New ADODB.Recordset
Sql = [Ô]Select * from ItensPedido where like Pedido [ô][Ô] & NPedido & [Ô][ô] order by Pedido[Ô]
adoItensPedido.Open Sql, gConexao, adOpenStatic, adLockOptimistic, adCmdText
Do While Not adoItensPedido.EOF
With lygridReservas
.Redraw = False
If lRow = 0 Then
lRow = .AddItem(Format$(.ItemCount + 1, [Ô]000[Ô]))
Else
lRow = .AddItem(Format$(.ItemCount, [Ô]000[Ô]))
End If
.CellText(lRow, 0) = adoVenda.Fields(0)
.CellText(lRow, 1) = adoItensPedido!Quantidade
.CellText(lRow, 2) = strCliente
.CellText(lRow, 3) = [Ô]Loja[Ô]
.CellText(lRow, 4) = strCliente
.CellText(lRow, 5) = adoVenda!DCompra
.Redraw = True
adoItensPedido.MoveNext
End with
Loop
CloseItensPedido
adoVenda.MoveNext
Loop

DESDRIÇÃO DO ERRO

LOOP WITHOUT DO


MICROSCHEME 19/09/2010 16:46:11
#353368
Estas linha nã podem ficar dentro do loop:

Set adoItensPedido = New ADODB.Recordset
Sql = [Ô]Select * from ItensPedido where like Pedido [ô][Ô] & NPedido & [Ô][ô] order by Pedido[Ô]
adoItensPedido.Open Sql, gConexao, adOpenStatic, adLockOptimistic, adCmdText

Coloque estas linhas antes do início do loop, o loop deve funcionar com o banco conectado e fechado só após terminado
o mesmo

Sequência:

Abre o banco . . .
Inicia o loop . . .
Fecha o Loop . . .
Fecha o Banco . . .

Blz . . .






MARCELO.TREZE 19/09/2010 18:27:59
#353371
tente assim

Set adoItensPedido = New ADODB.Recordset
Do While Not adoVenda.EOF
ContaLinhas = ContaLinhas + 1
NPedido = adoVenda!Pedido
Sql = [Ô]Select * from ItensPedido where Pedido =[ô][Ô] & NPedido & [Ô][ô] order by Pedido[Ô]
adoItensPedido.Open Sql, gConexao, adOpenStatic, adLockOptimistic, adCmdText
Do While Not adoItensPedido.EOF
With lygridReservas
.Redraw = False
If lRow = 0 Then
lRow = .AddItem(Format$(.ItemCount + 1, [Ô]000[Ô]))
Else
lRow = .AddItem(Format$(.ItemCount, [Ô]000[Ô]))
End If
.CellText(lRow, 0) = adoVenda.Fields(0)
.CellText(lRow, 1) = adoItensPedido!Quantidade
.CellText(lRow, 2) = strCliente
.CellText(lRow, 3) = [Ô]Loja[Ô]
.CellText(lRow, 4) = strCliente
.CellText(lRow, 5) = adoVenda!DCompra
.Redraw = True
adoItensPedido.MoveNext
End with
Loop
CloseItensPedido
adoVenda.MoveNext
Loop

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