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


4 participantes

    [Resolvido]Selecionar vários registros em um subform

    avatar
    Lissandrog
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 20/03/2014

    [Resolvido]Selecionar vários registros em um subform Empty [Resolvido]Selecionar vários registros em um subform

    Mensagem  Lissandrog 9/6/2014, 16:05

    Bom dia

    Pesquisei mas não consegui encontrar a solução.
    Tenho um form com subform, quando o usuário for excluir o registro do formulário principal, todos os registros vinculados no subform também são excluídos, mas preciso que um campo de outra tabela vinculada a esses registro do subform sejam desmarcados.
    Segue o comando, mas ele está desmarcado apenas do primeiro registro do subform, preciso que seja de todos que estão listados no subform.

    DoCmd.RunSQL "UPDATE TPedidos SET StatusCambio = 0 WHERE [TPedidos].[CodigoPedidoFornecedor] = " & "'" & Me.FCambios_Sub!cbxPedido & "'"

    Desde já agradeço a ajuda

    alecardoso gosta desta mensagem

    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3871
    Registrado : 21/04/2011

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Marcelo David 9/6/2014, 20:17

    Poste o banco para vermos.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Selecionar vários registros em um subform Marcel11
    avatar
    Lissandrog
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 20/03/2014

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Lissandrog 10/6/2014, 01:29

    Boa Noite Marcelo

    Segue anexo o BD.
    O problema está no Form "FCambios" botão Excluir
    Quando excluir um dos contratos, deveria desmarcar na Tabela "TPedidos" o campo [StatusCambio] de todos os pedidos listados no subform "FCambios_Sub".
    Porem ele desmarca apenas do primeiro pedido que está no subform.

    Abraço
    Lissandro
    Anexos
    [Resolvido]Selecionar vários registros em um subform AttachmentTeste_.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (125 Kb) Baixado 32 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3871
    Registrado : 21/04/2011

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Marcelo David 10/6/2014, 02:28

    Olá, detalhe em qual momento deseja que seja alterado o dado na outra tabela (qual tabela, qual campo, etc)


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Selecionar vários registros em um subform Marcel11
    avatar
    Lissandrog
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 20/03/2014

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Lissandrog 10/6/2014, 02:37

    Marcelo,

    No momento que clicar no botão "Excluir" do Form "FCambios"
    Deve alterar o campo "StatusCambio" da tabela "TPedidos" para 0 ( o campo é Sim/Não)
    Mas deve alterar de todos os Pedidos listados no subform, ele está fazendo somente do primeiro registro que aparece no subform.

    Consegui lhe explicar ?

    At
    Lissandro
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Noobezinho 10/6/2014, 02:50

    Lissandro

    Voce deve usar o  recordesetClone pra fazer isso:

    me.subformNome.RecordsetClone se o botão estiver no form principal

    Irá fazer um loop por todos os registros do subformulário com for I = 1 to me.recordsetclone.RecordCount -1


    Pesquise no fórum que o caminho é esse.

    Abraços

    Noob


    Última edição por Noobezinho em 10/6/2014, 03:09, editado 1 vez(es)


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3871
    Registrado : 21/04/2011

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Marcelo David 10/6/2014, 03:02

    Não entendi o seguinte:

    Excluir todos os registros do subformulário? Mas quando se exclui o registro principal, normalmente
    os registros do subformulário são excluídos automaticamente (dependendo da forma do relacionamento entre as tabelas).

    Agora, você precisa é todos os registros da tabela sejam alterados?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Selecionar vários registros em um subform Marcel11
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Noobezinho 10/6/2014, 03:13

    Olá Marcelo

    Lendo o código, acredito que não é exatamente exclusão total do registro. é só uma alteração, ou seja desfazer o contrato.
    O registro continua, mas sem contrato.

    Com a palavra, o Lissandro  Wink 

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Noobezinho 10/6/2014, 03:25

    Lissandro

    Veja se é isso que deseja.

    só escrevi o código sem testar.

    É só uma luz no final do túnel, hehehe

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Lissandrog
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 20/03/2014

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Lissandrog 10/6/2014, 03:47

    Boa Noite Noob

    Testei com suas alterações e também alterou somente do primeiro registro que consta no subform.

    Esclarecendo:

    O botão Excluir, deve sim excluir o registro que está no form principal e também os registros vinculados que estão no subform, isso ele ta fazendo corretamente.
    Esses registros estão respectivamente, form principal: TCambios e subform: TCambiosPedidos.
    Mas antes de excluir os registros, ele deve alterar o campo "StatusCambios" que pertence a tabela "TPedidos"
    No subform tem uma combobox onde seleciona os pedidos existentes, o botão excluir que menciono exclui os registros de contrato vinculados aos Pedidos e não os pedidos.

    Vou pesquisar sobre o uso do me.subformNome.RecordsetClone

    At
    Lissandro
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3871
    Registrado : 21/04/2011

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Marcelo David 10/6/2014, 04:35

    Amigo, vou deitar agora. Se até amanhã não estiver resolvido, eu vejo novamente.

    Noob, o que "ta pegando" é saber qual campo se relacionam...


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Selecionar vários registros em um subform Marcel11
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Noobezinho 10/6/2014, 13:58

    Marcelo

    Altere o código, acrescentando  a parte em verde :

    Dim frm As Recordset, i As Integer
           Set frm = Me.FCambios_Sub.Form.RecordsetClone
           For i = 1 To frm.RecordCount - 1
               Me.Bookmark = frm.Bookmark 'iguala o regitro do formulário com o do recordsetclone
               DoCmd.RunSQL "UPDATE TPedidos SET StatusCambio = 0 WHERE [TPedidos].[CodigoPedidoFornecedor] = " & "'" & Me.FCambios_Sub.Form!cbxPedido & "'"
               frm.MoveNext
           Next i

    Editando: Analisando a instrução SQL,verifiquei que  o CodigoPedidoFornecedor está como string.
                     Achei estranho pois códigos de identificação são geralmente números, com algumas exceções(quando se usa Dmax() por exemplo)
                      Então fui verificar o a combobox do subform, vi que a coluna acoplada é a 3ª, mas não vi nenhuma consulta na origem da linha.
                     Como não cosigo ver as colunas dessa combobox, e como o correto é sempre fazer pesquisa através do código para se evitar  
                     erros de  digitação, sugiro que reveja isso, colocando o código (numero) como acoplada.

    Abraços

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Lissandrog
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 20/03/2014

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Lissandrog 11/6/2014, 02:33

    Boa Noite pessoal

    Fiz as modificações conforme você descreveu Noob, mas continua fazendo a modificação somente do primeiro registro do subform.
    Quando coloco o ponto de interrupção e vejo a execução, quando chega no "Next i" não deveria voltar na primeiro linha depois do "For" ?
    está passando uma única vez.

    Com relação a combobox, os dados são gerados cada vez que ela é chamada, pois pode haver alterações dentro do mesmo contrato

    Código:
    Private Sub cbxPedido_GotFocus()
    Dim pedido_sql As String
        pedido_sql = "SELECT CodigoEmp, CodigoFornecedor, CodigoPedidoFornecedor, StatusCambio FROM TPedidos WHERE CodigoEmp = " & Me.txtCodEmp & " AND CodigoFornecedor = " & Me.txtCodFor & " AND StatusCambio=0"
        Me.cbxPedido.RowSource = pedido_sql
    End Sub
    A informação que aparece visível na combobox é o [CodigoPedidoFornecedor],  que é string pois pode conter letras nos código dos pedidos, não sei se consegui esclarecer.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Noobezinho 11/6/2014, 03:20

    Lisssandro

    Por favor acrescente a linha em vermelho no código:


    Dim frm As Recordset, i As Integer
    Set frm = Me.FCambios_Sub.Form.RecordsetClone
         frm.AbsolutePosition=frm.AbsolutePosition+1
          For i = 1 To frm.RecordCount - 1
              Me.Bookmark = frm.Bookmark 'iguala o regitro do formulário com o do recordsetclone
              DoCmd.RunSQL "UPDATE TPedidos SET StatusCambio = 0 WHERE [TPedidos].[CodigoPedidoFornecedor] = " & "'" & Me.FCambios_Sub.Form!cbxPedido & "'"
              frm.MoveNext
          Next i


    Noob



    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Lissandrog
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 20/03/2014

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Lissandrog 11/6/2014, 03:36


    Acrescentei a instrução, mesmo assim não resolveu.
    é como se não tivesse encontrando que tem 2 registros para alterar, e altera só o primeiro.

    At
    Lissandro
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 785
    Registrado : 29/08/2012

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Clebergyn 11/6/2014, 05:37

    Olá Lissandro tente esse código abaixo em um botao no form(e não no sub), que aqui funcionou
    Código:

    CurrentDb.Execute "UPDATE TCambiosPedidos INNER JOIN TPedidos ON TCambiosPedidos.CodigoPedidoFornecedor " & _
    "= TPedidos.CodigoPedidoFornecedor SET TPedidos.StatusCambio = 0 WHERE " & _
    "TCambiosPedidos.Contrato = " & Forms![FCambios]![txtContrato]
    DoCmd.RunCommand acCmdDeleteRecord
    MsgBox "Deletado e Atualizado com Sucesso!"

    ele vai atualizar e depois deletar
    coloquei no botão "EXCLUIR" no form
    Anexos
    [Resolvido]Selecionar vários registros em um subform AttachmentTeste_.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (66 Kb) Baixado 22 vez(es)
    avatar
    Lissandrog
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 20/03/2014

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Lissandrog 11/6/2014, 19:09

    Boa Tarde Cleber

    Funcionou perfeitamente, atualizou o campo que precisava na tabela TPedido e excluiu o registro do contrato.
    Vou estudar um pouco seu comando, para entender como ele tá funcionando,
    mas se não for abusar da boa vontade tem como dar uma breve explicação.

    Valeu muito obrigado pela ajuda. cheers 

    Sucesso e bom trabalho.

    Abraço


    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 785
    Registrado : 29/08/2012

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Clebergyn 11/6/2014, 20:06

    veja a consulta "exemploatualização", se nao entender por ela, nao tem outro jeito de entender melhor,
    depois é só pegar o "SQL" dela e usar no currentdb.exetute "SQL" , com algumas poucas diferenças
    estude a consulta
    Anexos
    [Resolvido]Selecionar vários registros em um subform AttachmentTeste_.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (101 Kb) Baixado 20 vez(es)
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 785
    Registrado : 29/08/2012

    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Clebergyn 11/6/2014, 23:36

    outra coisa, como voce fez um relacionamento da tabela principal(Tcambios) e da tabela sub(TCambiosPedidos) com integridade referencial.
    assim que deletar o registro do form(Tcambios) ira deletar os registros do sub automaticamente

    Conteúdo patrocinado


    [Resolvido]Selecionar vários registros em um subform Empty Re: [Resolvido]Selecionar vários registros em um subform

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 02:27