[resolvido] Recordset Não possibilita atualizar Caixa de listagem

Moderador: Avelino Sampaio

mylton
Mensagens: 74
Registrado em: 18 Jul 2015, 15:00

[resolvido] Recordset Não possibilita atualizar Caixa de listagem

Mensagempor mylton » 03 Dez 2017, 13:43

Bom dia.
No exemplo abaixo, tenho 4 tabelas e 2 consultas: 01 união e outra criar tabela.
O objetivo é buscar os dados dessa consulta união ou criartabela e disponibilizar no form.
Não consegui utilizar a criartabela para usufruir no form.
Na união a caixa de listagem não disponibiliza nos campos os dados dessa consulta.
Ao clicar na caxa de listagem refere erro de execução número.. informando que este recordset não pode ser utilizado.
ao depurarmos apresenta erro nessa linha...

Private Sub Lista1_AfterUpdate()
Me.IdPJuridica = Me.Lista1.Column(0)
Me.Nome = Me.Lista1.Column(1)
Me.Endereco = Me.Lista1.Column(2)
Me.Complemento = Me.Lista1.Column(3)
Me.Numero = Me.Lista1.Column(4)
Me.Bairro = Me.Lista1.Column(5)
Me.Cidade = Me.Lista1.Column(6)
Me.Estado = Me.Lista1.Column(7)
Me.CEP = Me.Lista1.Column(8)
Me.Telefone01 = Me.Lista1.Column(9)
Me.Telefone02 = Me.Lista1.Column(10)
Me.Email = Me.Lista1.Column(11)
End Sub

e assim sucessivamente.

Bom seriam 2 duvidas:
1) Como resolvo esse conflito?
2) Se fosse utilizar a consulta criar tabela, como poderia usar essa num form?

Obrigado.

DuvidaConsulta.accdb
Você deve estar registrado e autenticado para ter acesso ao arquivo anexo.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Damasceno Jr.
Mensagens: 345
Registrado em: 08 Jun 2015, 01:30
Localização: Medicilândia-Pará

Re: Recordset Não possibilita atualizar Caixa de listagem

Mensagempor Damasceno Jr. » 03 Dez 2017, 16:17

Altere a fonte do registro do formulário em tempo de execução.

Adicione esses novos campo na consulta para que possamos identificar a tabela com a origem dos registros
Código:
SELECT  1 as tp, ...
FROM Tbl_PJuridica;
Union SELECT 2 as tp, ...
FROM Tbl_PFisica;
Union SELECT 3 as tp, ...
FROM Tbl_Advogado;
UNION SELECT 4 as tp, ...
FROM Tbl_Assistente;


Faça com que o novo campo esteja na primeira coluna da caixa de listagem e então deixe este código no evento após atualizar da caixa de listagem

Código:
Dim ctl As Control 'crio uma variável do tipo controle

For Each ctl In Form.Controls 'faço um laço nos controles do formulário
If ctl.ControlType = acTextBox Then 'se o tipo de controle for textbox então
If ctl.Name <> "IdPJuridica" Then 'se o nome desse controle for diferente de IdPJuridica então
ctl.ControlSource = ctl.Name 'a fonte do controle será um campo com o mesmo nome do controle
End If 'fim se
End If 'fim se
Next ctl 'próximo controle

Select Case Me!Lista1.Column(0) 'avaliando o valor da primeira coluna
Case 1
Me.RecordSource = "Tbl_PJuridica"
Me!IdPJuridica.ControlSource = "idPJuridica"
Case 2
Me.RecordSource = "Tbl_PFisica"
Me!IdPJuridica.ControlSource = "idPFisica"
Case 3
Me.RecordSource = "Tbl_Advogado"
Me!IdPJuridica.ControlSource = "idAdvogado"
Case 4
Me.RecordSource = "Tbl_Assistente"
Me!IdPJuridica.ControlSource = "idAssistente"

End Select

Me.Filter = Me!IdPJuridica.ControlSource & "=" & Me!Lista1.Column(1) 'preparo o filtro
Me.FilterOn = True 'aplico o filtro
Quanto mais o tempo passa, mais descubro e mais me apaixono por MS Access.

mylton
Mensagens: 74
Registrado em: 18 Jul 2015, 15:00

Re: Recordset Não possibilita atualizar Caixa de listagem

Mensagempor mylton » 03 Dez 2017, 19:28

Bom...
Se entendi direito,,,esta solicitando para inserir valor.
Anexo modificado.

DuvidaConsulta2.accdb
Você deve estar registrado e autenticado para ter acesso ao arquivo anexo.

Avatar do usuário
Damasceno Jr.
Mensagens: 345
Registrado em: 08 Jun 2015, 01:30
Localização: Medicilândia-Pará

Re: Recordset Não possibilita atualizar Caixa de listagem

Mensagempor Damasceno Jr. » 03 Dez 2017, 22:51

Veja se atende...
Você deve estar registrado e autenticado para ter acesso ao arquivo anexo.
Quanto mais o tempo passa, mais descubro e mais me apaixono por MS Access.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


mylton
Mensagens: 74
Registrado em: 18 Jul 2015, 15:00

Re: Recordset Não possibilita atualizar Caixa de listagem

Mensagempor mylton » 03 Dez 2017, 23:46

Muito obrigado.
Boa semana.
Resolvido.
Abs

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Módulos VBA”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 3 visitantes