MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]excluir item do subformulario folha de dados

    Compartilhe
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 12/04/2016

    [Resolvido]excluir item do subformulario folha de dados

    Mensagem  marcelo marques em Qua 25 Jan 2017, 02:09

    boa noite tentando solucionar um problema aonde tenho um formulário venda com um subformulario tblvendasub eu gostaria de quando eu inserir os registro e precisasse apagar algum como eu faria eu ate ja tentei com uma consulta exclusão e no código codvendadet eu coloquei entre colchetes pedindo pra informar o código a ser excluído mais não da um design bom se alguém tiver um exemplo eu agradeço também ja aproveitando como não salvar a venda antes de cadastrar o subformulario




    abraço
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3336
    Registrado : 14/08/2013

    Re: [Resolvido]excluir item do subformulario folha de dados

    Mensagem  FabioPaes em Qui 26 Jan 2017, 14:27

    Amigo, com tabelas relacionadas, basta vc no relacionamento marca o Cx "Propagar Exclusão"
    [Você precisa estar registrado e conectado para ver esta imagem.]


    Agora, se não for possível, basta no código de Excluir, primeiro vc executar a consulta Exclusão para remover os itens do Detalhe, e em seguida excluir o Registro do Formulário.
    Mais ou menos assim:

    'Exclui os Itens do Subformulario, filtrando pelo ID do registro Atual
    CurrentDb.Execute "DELETE * FROM tbDetVendas WHERE IdVenda= " & Me.txtIDVenda & ""
    'Exclui o registro do Formulario Principal
    DoCmd.RunCommand acCmdDeleteRecord



    Os Itens em Vermelho devem ser alterados de acordo com seu sistema (Tabelas e Campos)


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 12/04/2016

    Re: [Resolvido]excluir item do subformulario folha de dados

    Mensagem  marcelo marques em Qui 26 Jan 2017, 15:38

    boa tarde FabioPaes muito obrigado por disponibilizar um pouco do seu tempo pra me ajudar mais desta forma não seria para apagar todos os dados do subformulario correspo??ndente ao ID da venda, seria isso ? porém se for eu gostaria do seguinte vamos supor que eu estava vendendo vários produtos, veja

    código:produtos
    01 a
    02 b
    03 c
    04 d

    então o cliente desistiria do produto "c" do código 03 como eu faria para apagar somente ele e não os outros dados cadastrados
    ou desistisse de um outro qualquer.

    desde ja muito obrigado.


    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3336
    Registrado : 14/08/2013

    Re: [Resolvido]excluir item do subformulario folha de dados

    Mensagem  FabioPaes em Qui 26 Jan 2017, 16:28

    Vamos fazer isso utilizando DAO.Recordset.

    Vamos la, primeiro crie um formulário sem bordas, bem pequeno, com uma caixa de Texto e um Botão!

    Nessa Caixa de texto o Usuário irá informar a Linha do item a ser excluído.

    Então apos preencher, ele devera clicar no Botão de Excluir, que abrira um recordset na Tabela tbl_VendasDet referente a venda Atual...

    Em seguida irá mover para a linha digitada pelo usuário, e irá excluir a mesma...



    Codigo do Botão Excluir:

    Código:

    'Cria as Variaveis
    Dim DB As Database
    Dim rs As DAO.Recordset

    Set DB = CurrentDb()
    'Abre o Recordset da venda
    Set rs = DB.OpenRecordset("SELECT * FROM tbl_VendasDet WHERE CodigoVendas = " & Forms!frmVendas!frmVendasSub!CodVenda & "")
    'Move para a Linha digitada pelo usuario (inicia da linha 0 zero. então volte uma unidade.
    rs.Move (Me.txtLinhaExclusao)
    'Deleta a Linha
    rs.Delete
    'Fecha as conexoes abertas
    rs.Close
    DB.Close
    Set rs = Nothing
    Set DB = Nothing
    'Atualiza o Subformulario (Teste aqui pois nao fiz teste, talvez tenha que atualizar o Formulário Principal)
    Forms!frmVendas!frmVendasSub.Recalc

    Coloque também uma verificação, se o valor digitado para a linha for maior que o total de registro (total de produto) para emitir alerta!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 12/04/2016

    Re: [Resolvido]excluir item do subformulario folha de dados

    Mensagem  marcelo marques em Sex 27 Jan 2017, 00:38

    boa noite FabioPaes desculpa olha eu aqui de novo não consegui adaptar o código esta dando erro de parâmetro insuficiente veja o exemplo:

    obrigado
    Anexos
    Exemplo Marcelo Marques.mdb.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (162 Kb) Baixado 6 vez(es)
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3336
    Registrado : 14/08/2013

    Re: [Resolvido]excluir item do subformulario folha de dados

    Mensagem  FabioPaes em Sex 27 Jan 2017, 02:23

    Primeiro que vc comeu umas aspas ali no Final... Segundo, colocou o nome do campo que armazena o Codigo da Venda errado.

    Mude o comando do Botao excluir parra:

    Código:
    Private Sub BTexcluir_Click()
    Dim DB As Database
    Dim rs As DAO.Recordset
    Set DB = CurrentDb()
    'Abre o Recordset da venda
    Set rs = DB.OpenRecordset("SELECT * FROM tbl_VendasDet WHERE CodigoVendas = " & Forms![Frm_Vendas]![CodVenda] & "")
    'Move para a Linha digitada pelo usuario (inicia da linha 0 zero. então volte uma unidade.
    rs.Move (Me.txtLinhaExclusao - 1)
    'Deleta a Linha
    rs.Delete
    'Fecha as conexoes abertas
    rs.Close
    DB.Close
    Set rs = Nothing
    Set DB = Nothing
    Forms!Frm_Vendas.Recalc
    docmd.close
    End Sub





    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 12/04/2016

    Re: [Resolvido]excluir item do subformulario folha de dados

    Mensagem  marcelo marques em Sex 27 Jan 2017, 21:52

    boa noite FabioPaes esse código que você enviou
    Dim DB As Database
    Dim rs As DAO.Recordset
    Set DB = CurrentDb()
    'Abre o Recordset da venda
    Set rs = DB.OpenRecordset("SELECT * FROM tbl_VendasDet WHERE CodigoVendas = " & Forms![Frm_Vendas]![C

    no meu aqui no final não esta aparecendo o restante apenas forms![frm_vendas]![c
    eu tentei colocar codvenda da erro diz que não tem nenhum registro atual se eu coloco o códigovendas também da erro


    obrigado
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3336
    Registrado : 14/08/2013

    Re: [Resolvido]excluir item do subformulario folha de dados

    Mensagem  FabioPaes em Sex 27 Jan 2017, 21:58

    Não entendi... Quer dizer que o Codigo postado por mim na mensagem anterior esta aparecendo incompleto pra vc???


    Se for, veja se aparece agora:


    Private Sub BTexcluir_Click()

    Dim DB As Database
    Dim rs As DAO.Recordset
    Set DB = CurrentDb()
    'Abre o Recordset da venda
    Set rs = DB.OpenRecordset("SELECT * FROM tbl_VendasDet WHERE CodigoVendas = " & Forms![Frm_Vendas]![CodVenda] & "")
    'Move para a Linha digitada pelo usuario (inicia da linha 0 zero. então volte uma unidade.
    rs.Move (Me.txtLinhaExclusao - 1)
    'Deleta a Linha
    rs.Delete
    'Fecha as conexoes abertas
    rs.Close
    DB.Close
    Set rs = Nothing
    Set DB = Nothing
    Forms!Frm_Vendas.Recalc
    docmd.close

    End Sub


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 12/04/2016

    Re: [Resolvido]excluir item do subformulario folha de dados

    Mensagem  marcelo marques em Sab 28 Jan 2017, 11:16

    bom dia FabioPaes deu certo muito obrigado pela ajuda eu agora vou fazer uma pesquisa para numerar os itens do subformulario pra eu ter uma referência da linha que vou digitar para excluir

    obrigado mais uma vez Deus abençoe
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3336
    Registrado : 14/08/2013

    Re: [Resolvido]excluir item do subformulario folha de dados

    Mensagem  FabioPaes em Sab 28 Jan 2017, 13:51

    Grato pelo retorno! até a próxima se Deus quiser!

    Use o NZ(Dcount(),0)+1
    Coloque como critério o Código da Venda atual!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

      Data/hora atual: Dom 22 Out 2017, 21:48