Ola
Criei um codigo para percorrer dois formularios, pelo codigo do pedido do primeiro formulario, preencher o cliente no segundo formulario.
se os dois formulario estiverem na mesma ordem de classificação o codigo funciona. mas se inverter a classificacao do segundo formulario, o código ate preenche o nome do cliente, mas o loop não funciona no primeiro formulario que teria que pegar o nome do cliente do proximo registro do primeiro formulario e percorrer novamente o segundo formulario
On Error Resume Next
Dim rsP As Recordset 'form Pedido
Dim rsE As Recordset 'form Envio
Dim N As Long 'numero pedido
Dim NCliente As String 'nome cliente/Colegio
Set rsP = Me.subfrmPedido.Form.Recordset 'formulario
Set rsE = Me.subfrmEnvio.Form.Recordset 'formulario
rsP.MoveFirst 'inicio form Pedido
N = rsP!Ndopedido 'carrega variavel
NCliente = rsP!Colégio 'carrega variavel
rsE.MoveFirst 'inicio form Envio
Do While Not rsP.EOF ' vai ate o fim do form pedido
If N = rsE!NPedido Then 'se o pedido for igual adiciona o nome do cliente
rsE.Edit
rsE!Cliente = rsP!Colégio
rsE.Update
rsP.MoveNext
N = rsP!Ndopedido
NCliente = rsP!Colégio
Else
rsE.MoveNext 'caso nao encontre vai para o proximo
End If
Loop
rsP.MoveNext
Set rsP = Nothing
Set rsE = Nothing
segue anexo
https://www.dropbox.com/s/b7cqtltayahzn5n/Percorrer%20dois%20formulario.accdb?dl=0
Criei um codigo para percorrer dois formularios, pelo codigo do pedido do primeiro formulario, preencher o cliente no segundo formulario.
se os dois formulario estiverem na mesma ordem de classificação o codigo funciona. mas se inverter a classificacao do segundo formulario, o código ate preenche o nome do cliente, mas o loop não funciona no primeiro formulario que teria que pegar o nome do cliente do proximo registro do primeiro formulario e percorrer novamente o segundo formulario
On Error Resume Next
Dim rsP As Recordset 'form Pedido
Dim rsE As Recordset 'form Envio
Dim N As Long 'numero pedido
Dim NCliente As String 'nome cliente/Colegio
Set rsP = Me.subfrmPedido.Form.Recordset 'formulario
Set rsE = Me.subfrmEnvio.Form.Recordset 'formulario
rsP.MoveFirst 'inicio form Pedido
N = rsP!Ndopedido 'carrega variavel
NCliente = rsP!Colégio 'carrega variavel
rsE.MoveFirst 'inicio form Envio
Do While Not rsP.EOF ' vai ate o fim do form pedido
If N = rsE!NPedido Then 'se o pedido for igual adiciona o nome do cliente
rsE.Edit
rsE!Cliente = rsP!Colégio
rsE.Update
rsP.MoveNext
N = rsP!Ndopedido
NCliente = rsP!Colégio
Else
rsE.MoveNext 'caso nao encontre vai para o proximo
End If
Loop
rsP.MoveNext
Set rsP = Nothing
Set rsE = Nothing
segue anexo
https://www.dropbox.com/s/b7cqtltayahzn5n/Percorrer%20dois%20formulario.accdb?dl=0
Última edição por scandinavo em 5/2/2023, 23:12, editado 2 vez(es)