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


2 participantes

    [Resolvido]Limpa - Campo Multi-Valor

    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Limpa - Campo Multi-Valor Empty [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Maurício Bruno 22/8/2017, 19:26

    Boa Tarde!

    Precisava de uma ajuda, estou tentando limpar uma combobox que multi-valores, já utilizei Null, "", 0, Empty e não limpa o campo, apresenta um erro execução.

    Código:
    Me.txt_tipo_amostra = ""

    Agradeço a atenção e a ajuda.
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 23/8/2017, 22:37

    tente assim
    sei que funciona com uma listbox mas nao sei se funciona com uma comobox
    Código:

    For n = (Me!SuaComobox - 1) To 0 Step -1
    If Me.SuaComobox.Selected(n) = True Then Me.SuaComobox.Selected(n) = False
    Next

    ou assim

    Código:

    Function LimpaLista()

        Dim frm As Form, ctl As Control
        Dim varItm As Variant

      ' Set frm = Forms!SeuFormulario
        Set ctl = Forms!SeuFormulario!SuaComobox   

        For Each varItm In ctl.ItemsSelected
     
        ctl.Selected(varItm) = False
     
      End If
        Next varItm
    End Function
    ' depois coloque no botao limpar a funçao
    call limpalista
    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Limpa - Campo Multi-Valor Empty Limpa - Campo Multi-Valor

    Mensagem  Maurício Bruno 24/8/2017, 13:43

    clebergyn,

    Bom Dia!
    Testei aqui e não funcionou.

    Agradeço desde já a ajuda e atenção.
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 24/8/2017, 18:57

    envia seu bd zipado para te atendermos melhor
    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Limpa - Campo Multi-Valor Empty Limpa - Campo Multi-Valor

    Mensagem  Maurício Bruno 24/8/2017, 19:47

    clebergyn,

    Segue o banco de dados.

    Obrigado pela ajuda e atenção.
    Anexos
    [Resolvido]Limpa - Campo Multi-Valor AttachmentTESTE.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (73 Kb) Baixado 5 vez(es)
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 24/8/2017, 20:30

    na verdade tem que excluir direto na tabela

    tente assim que vai dar certo

    Código:

    CurrentDb.Execute "DELETE SuaTabela.SeuCampoMultiValoles.Value FROM SuaTabela ":
    me.txt_tipo_amostra.requery

    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 24/8/2017, 20:51

    Não consegui entender sua base de dados, principalmente o SQL que colocou no campo
    com multipla seleção na tabela.

    então faça como coloquei acima que vai dar certo, teste primeiro com um simples SQL
    no campo da consulta.

    para limpar a lista comobox pode tentar tipo : Me.txt_analise_fq.RowSource = Me.txt_analise_fq.RowSource
    talvez resolva agora se nao resolver faça o que te mostrei acima
    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Limpa - Campo Multi-Valor Empty Limpa - Campo Multi-Valor

    Mensagem  Maurício Bruno 25/8/2017, 13:11

    clebergyn,

    Mestre você e o cara, o negócio funcionou em partes, entretanto, quando eu desmarca o campo ele executa e apaga os dados, mas funciona uma vez e para, tem hora que funciona outras horas não, o que será que pode ser?

    Código:
    Private Sub check_analise_MB_Click()
    If Me.check_analise_MB = -1 Then
    Me.txt_analise_mb.Enabled = True
    Else
    Me.txt_analise_mb.Enabled = False
    Me.txt_opção_analise_mb = ""
    CurrentDb.Execute "DELETE [Tbl_IRM_Cadastro_de_Chamados_SAC].[Analise Microbiologico (Amostra)].Value FROM [Tbl_IRM_Cadastro_de_Chamados_SAC]":
    Me.txt_analise_mb.Requery
    End If
    End Sub


    Agradeço a ajuda e atenção.
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 25/8/2017, 19:44

    então, tente colocando uma funçao para salvar antes do delete e veja se da certo

    Código:

    Private Sub check_analise_MB_Click()
    If Me.check_analise_MB = -1 Then
    Me.txt_analise_mb.Enabled = True
    Else
    Me.txt_analise_mb.Enabled = False
    Me.txt_opção_analise_mb = ""
    DoCmd.RunCommand acCmdSaveRecord  'coloque esta função para salvar
    CurrentDb.Execute "DELETE [Tbl_IRM_Cadastro_de_Chamados_SAC].[Analise Microbiologico (Amostra)].Value FROM [Tbl_IRM_Cadastro_de_Chamados_SAC]":
    Me.txt_analise_mb.Requery
    End If
    End Sub
    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Limpa - Campo Multi-Valor Empty Limpa - Campo Multi-Valor

    Mensagem  Maurício Bruno 25/8/2017, 20:47

    clebergyn,

    Mestre, não funcionou.
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 25/8/2017, 21:03

    dificil pois a sua base de dados não esta abrindo aqui no meu pc pois

    deve ter tabelas vinculadas no bd ao seu pc

    mas o caminho é esse mesmo ai

    Código:

    DoCmd.RunCommand acCmdSaveRecord  
    CurrentDb.Execute "DELETE [Tbl_IRM_Cadastro_de_Chamados_SAC].[Analise Microbiologico (Amostra)].Value FROM [Tbl_IRM_Cadastro_de_Chamados_SAC]":
    Me.txt_analise_mb.Requery

    precisa de ver se voce esta deletando na tabela correta

    aqui funcionou com uma simples tabela com campo multivalores
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 25/8/2017, 22:43

    Na realidade ainda tem a cláusula "Where" ainda neste SQL teria que acrescentar assim para excluir somente o registro atual:

    Código:

    DoCmd.RunCommand acCmdSaveRecord 
    CurrentDb.Execute "DELETE [Tbl_IRM_Cadastro_de_Chamados_SAC].[Analise Microbiologico (Amostra)].Value FROM [Tbl_IRM_Cadastro_de_Chamados_SAC] Where [Tbl_IRM_Cadastro_de_Chamados_SAC].[Analise Microbiologico (Amostra)]='"& [seucampocombobox]&"'":
    Me.txt_analise_mb.Requery

    do outro jeito ele apaga em todos os registros, neste ai ele apaga somente no registro atual
    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Limpa - Campo Multi-Valor Empty Limpa - Campo Multi-Valor

    Mensagem  Maurício Bruno 28/8/2017, 13:13

    clebergyn,

    Mestre, esta dando um erro em tempo de execução '13': Tipos Incompatíveis.

    Código:
    Private Sub check_analise_MB_Click()
    If Me.check_analise_MB = -1 Then
    Me.txt_analise_mb.Enabled = True
    Else
    Me.txt_analise_mb.Enabled = False
    Me.txt_opção_analise_mb = ""
    DoCmd.RunCommand acCmdSaveRecord
    CurrentDb.Execute "DELETE [Tbl_IRM_Cadastro_de_Chamados_SAC].[Analise Microbiologico (Amostra)].Value FROM [Tbl_IRM_Cadastro_de_Chamados_SAC] Where [Tbl_IRM_Cadastro_de_Chamados_SAC].[Analise Microbiologico (Amostra)]='" & [txt_analise_mb] & "'":
    Me.txt_analise_mb.Requery
    End If
    End Sub
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 28/8/2017, 15:58

    então,
    é que nao pode usar o campo multivalores na clausula where, tente assim com o campo
    [ID Chamado]

    assim
    Código:
    ... Where [Tbl_IRM_Cadastro_de_Chamados_SAC].[ID Chamado]=" & [ID Chamado]
    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Limpa - Campo Multi-Valor Empty Limpa - Campo Multi-Valor

    Mensagem  Maurício Bruno 28/8/2017, 16:29

    clebergyn,

    Você e fera mesmo...rsrs

    Porém, esbarrei em um problema. Ao clicar no fleg ele salva primeiro para depois limpar, o problema no meu formulário eu tenho outros campos que as vezes foram preenchidos, e seu cancelar a operação a informação ficará gravado devido esta operação de DoCmd.RunCommand acCmdSaveRecord.

    O que posso fazer?

    Desde já agradeço demais pela ajuda.
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 28/8/2017, 16:37

    faça o teste sem a função DoCmd.RunCommand acCmdSaveRecord
    e veja se da certo

    mas pelos testes que fiz aqui, tem que salvar mesmo antes, não conheço outro jeito
    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Limpa - Campo Multi-Valor Empty Limpa - Campo Multi-Valor

    Mensagem  Maurício Bruno 28/8/2017, 17:03

    clebergyn,

    Não funciona mesmo...
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 28/8/2017, 18:31

    Acredito ser falha da Microsoft, muitos procuram solução e não acham, e muitos aconselham até em nao usar multivalores na combobox,
    parece que os dados ficam guardados em uma tabela oculta antes de ir para a tabela principal ao salvar
    então só resta esta forma mesmo, salvando e excluindo via sql
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Clebergyn 28/8/2017, 19:06

    Então, segue ai a resposta final

    simples, faça assim que vai dar certo, pelo menos aqui deu

    SuaCombobox.Value = Array()

    ou

    Me.txt_analise_mb.Value = Array()
    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Limpa - Campo Multi-Valor Empty [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Maurício Bruno 28/8/2017, 19:23

    clebergyn,

    Mestre, Funcionou certinho.

    Muito obrigado.

    Conteúdo patrocinado


    [Resolvido]Limpa - Campo Multi-Valor Empty Re: [Resolvido]Limpa - Campo Multi-Valor

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 19:32