MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    Abrir novo formulario atravez de botão com consulta.

    avatar
    Orlando_Pacheco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 20
    Registrado : 27/03/2011

    Abrir novo formulario atravez de botão com consulta. Empty Abrir novo formulario atravez de botão com consulta.

    Mensagem  Orlando_Pacheco 10/12/2013, 12:08

    Ola a todos

    Começo por dizer que ainda estou um pouco verde em programação.
    Então é o seguinte, tenho um formulario com um botão e com o seguinte código.

    DoCmd.OpenForm "Clientes" , acNormal, , "[Cod_Cliente] = " & Me.[ve]

    Quando clico no botão abre-se outro formulario no determinado nº de cliente. ate aí tudo bem.
    O problema é que quando o form abre, eu só posso alterar dados, não me deixa trocar o cliente.

    O que eu pretendia é que ele abrisse no respectivo cliente mas que me deixasse trocar o cliente com um click
    da caixa de listagem que la esta. Como por exemplo, se tratasse de um erro de introdução do Cliente.

    Espero ter-me explicado bem para que me possam ajudar. Obrigado

    Orlando Pacheco.
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  sergiocfba 10/12/2013, 13:39

    Bom dia Orlando_Pacheco

    você poderia postar o BD para que possamos ver.
    avatar
    Orlando_Pacheco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 20
    Registrado : 27/03/2011

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  Orlando_Pacheco 10/12/2013, 14:48

    Amigo sergiocfba, Obrigado.

    A base ainda esta um pouco confusa, quando estiver +- eu coloco no forum.

    O que pretendo é o seguinte.

    Estou no formulario (Orçamento)  com, cod_clt, nome, endereço, etc... e tenho um botão que ao clicar vai abrir outro formulario

    (Clientes) e ao abrir situa-se logo no registro que é igual ao do formulario Orçamento. Ate aí tudo bem.

    No formulario(Clientes), tenho uma caixa de Listagem  desvinculada, Quando o Formulario(Clientes) é aberto no mesmo registo do
    formulario (orçamento) eu posso alterar qualquer campo e actualizar no formulario (Orçamento), Mas se eu quiser trocar o cliente, ou seja.

    ex:tenho o cliente 1 em aberto, mas decedi em vez do "antonio" cod_clt 1 clico na caixa de listagem onde esta o "manel" cod_clt 2 e ao
    actualizar o formulario (orçamento) apareça o cod_clt 2 "Manel".

    Espero ter explicado de forma compreensivel. Obrigado.
    Abraço.
    Orlando Pacheco
    RDuarte
    RDuarte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 23/11/2012

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  RDuarte 10/12/2013, 17:07

    Orlando_Pacheco, boa tarde.

    No formulário Orçamento:

    O botão de comando seria assim o código:

    DoCmd.OpenForm "Clientes", acNormal,,"[codCliente]= & Me.codCliente, , acEdit 'Abre o formulário no modo de adição

    No formulário Clientes:

    O código na caixa de listagem seria:

    Private Sub lisClientes_DoubleClick()

    'como a caixa de listagem é no formulário onde será alterado o nome do cliente segue...
    'naturalmente que a caixa de listagem é com o código do cliente em oculto e o nome vísivel.
    'largura da coluna para o código do cliente: 0 cm

    Me.nomeCliente = Me.lisClientes.column(1) 'um porque é o número da coluna do nome do cliente

    End Sub

    Obs.: Você terá que ajustar a codificação acima, de acordo com os nomes do teu projeto.

    Espero ter contribuido.

    RDuarte
    RDuarte
    RDuarte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 23/11/2012

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  RDuarte 10/12/2013, 18:05

    Orlando_Pacheco.


    Corrigindo o código:

    O mesmo preenche o campo nome Cliente no formulário Clientes que foi aberto em modo de edição e atualiza na tabela Orçamentos (Form. Orçamento) de acordo com o código do orçamento.

    Private Sub lisClientes_DoubleClick()
    Dim strSQL as string
    Dim intCod as integer

    'Busca o código do orçamento onde será feito a mudança do nome do cliente

    intCod = Dlookup("[codOrcamento]","tabOrcamento","[nomeCliente] Like '" & Me.nomeCliente & "'")

    'Atualiza na tabela orçamentos o nome do cliente

    strSQL = "UPDATE tabOrcamentos & _
    "SET nomeCliente = & Me.lisClientes.column(1) & _
    "WHERE codOrcamento = intCod;"

    DoCmd.RunSQL strSQL

    'Atualiza no formulário Clientes o nome do cliente

    Me.nomeCliente = Me.lisClientes.column(1) 'um porque é o número da coluna do nome do cliente

    End Sub


    Ver se te ajuda.
    Até mais...

    RDuarte
    avatar
    Orlando_Pacheco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 20
    Registrado : 27/03/2011

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  Orlando_Pacheco 10/12/2013, 18:12

    Obrigado RDuarte

    esse codigo funciona igual ao outro, ou seja; Abre o formulario em modo Edite, só que filtra o registo pretendido e não deixa
    que eu troque por outro.

    Ex: O formulario(Clientes) tem  5 nomes , o codigo filtra um e não deixa mexer nos outros 4.
    Eu quero que o codigo abra o Formulario (Clientes) no registro pedido no codigo, mas que não filtre.

    Obrigado pela sua ajuda.
    Abraço.
    Orlando Pacheco
    RDuarte
    RDuarte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 23/11/2012

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  RDuarte 11/12/2013, 01:52

    Orlando_Pacheco, boa noite.

    1 - Com o código abaixo eu consigo abrir o formulário Clientes de acordo com o código do cliente no formulário Orçamentos. Não é um filtro é um critério, "[codCliente]=" & Me.codCliente, sempre vai abrir igual ao codCliente no formulário Orçamentos, somente conseguirei fazer alteração nesse Cliente.

    Private Sub cmdAbrir_Click()
    DoCmd.OpenForm "Clientes", acNormal, , "[codCliente]=" & Me.codCliente, acFormEdit
    End Sub

    2 - Estou repetindo abaixo o código na caixa de listagem no formulário Clientes com alterações

    Private Sub lisClientes_DblClick(Cancel As Integer)
    Dim strSQL As String
    Dim intCod As Integer

    'Busca o código do orçamento onde será feito a mudança do nome do cliente

    intCod = DLookup("[codOrcamento]", "tabOrcamentos", "[codCliente]=" & Me.codCliente)

    'Atualiza na tabela orçamentos o nome do cliente

    strSQL = "UPDATE tabOrcamentos SET codCliente = '" & Me.lisClientes.Column(0) & "' WHERE codOrcamento =" & intCod & ";"

    DoCmd.RunSQL strSQL

    'Abre o formulário Orçamentos com o código do cliente alterado e o nome

    DoCmd.OpenForm "Orcamentos", acNormal, , "[codOrcamento]=" & intCod

    End Sub

    3 - Na origem do controle do campo txtCliente no formulário Orçamento coloque a função DPesquisa()
    O campo não acoplado será preenchido automáticamente com o nome do Cliente assim: =SeImed(ÉNulo([codCliente]);"";DPesquisa("[nomeCliente]";"tabClientes";"[codCliente]=" [codCliente]))


    4 - No meu exemplo, consigo alterar o formulário orçamento, selecione o orçamento 5 e clique no botão de comando, abrirá o formulário Cliente:

    Orçamento nº // Cliente // Nome
    1 3 João Paulo
    2 2 Maria Silva
    3 1 Antônio Carlos
    4 5 Ricardo Lopes
    5 4 Brito Cunha

    Ao selecionar na caixa de listagem o cliente "Antônio Carlos" e dar o duplo clique o formulário orçamento é alterado, faça o teste.

    Ficaria assim: Orçamento // Cliente // Nome
    5 1 Antônio Carlos


    Sem mais...
    RDuarte
    avatar
    Orlando_Pacheco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 20
    Registrado : 27/03/2011

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  Orlando_Pacheco 11/12/2013, 14:00

    Obrigado amigo, vou testar depois digo o resultado.
    Abraço
    Orlando Pacheco
    avatar
    Orlando_Pacheco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 20
    Registrado : 27/03/2011

    Abrir novo formulario atravez de botão com consulta. Empty [Resolvido] Abrir novo formulario atravez de botão com consulta.

    Mensagem  Orlando_Pacheco 11/12/2013, 19:14

    Amigo RDuarte.

    Testei o código, mas não era bem o que pretendia.
    Apoz algumas pesquisas acabei por resolver escrevendo o seguinte código:
    * não sei se da forma mais correta, mas faz exactamente o que pretendo.

    no form (orçamento) num botão
    docmd.openform " Clientes]

    No form Clientes.

    ao abrir

    Dim stDocName As String
    'fSetAccessWindow (0)
    Me.Caption = " "
    stDocName = "Orçamento"
    If CurrentProject.AllForms(stDocName).IsLoaded = True Then
    If Not IsNull(Forms![Orçamento]![CLT_Nº]) Or False Then
    RecordsetClone.FindFirst "[Cod_Cliente] = " & Forms![Orçamento]![CLT_Nº]
    Bookmark = RecordsetClone.Bookmark
    Else
    Me.bt_env_dados.Visible = False
    Me.bt_sair.Visible = True
    Exit Sub
    End If
    End If

    Quando o formulario Clientes é aberto ja vem com o nº de cliente filtrado e depois posso fazer o que quiser.

    Altero, ou troco de cliente na caixa de listagem com um click.

    Muito obrigado pela sua colaboração.
    Abraço
    Orlando Pacheco
    RDuarte
    RDuarte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 23/11/2012

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  RDuarte 11/12/2013, 20:20

    Orlando_Pacheco, boa noite.

    Fico feliz por que conseguiu a solução para sua questão.

    Sucesso sempre.

    RDuarte
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  sergiocfba 13/12/2013, 02:24

    Boa noite,

    Orlando_Pacheco só faltou o Resolvido para finalizar! OK!

    Edite a mensagem no Modificar o título do tópico , clique no botão "Resolvido", para finalizar o topico.


    Última edição por sergiocfba em 18/12/2013, 04:07, editado 1 vez(es)
    avatar
    Orlando_Pacheco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 20
    Registrado : 27/03/2011

    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  Orlando_Pacheco 14/12/2013, 00:40

    Amigo, desculpa se estou enganado, mas no topico acrescentei o resolvido.
    abraço.
    orlando Pacheco
    obs: por favor, se cometi algum erro peço desculpa, mas corrijam-me onde errei.

    Conteúdo patrocinado


    Abrir novo formulario atravez de botão com consulta. Empty Re: Abrir novo formulario atravez de botão com consulta.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 09:33