MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Virgula em condição de recordset

    biligo
    biligo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 226
    Registrado : 10/04/2014

    Virgula em condição de recordset Empty Virgula em condição de recordset

    Mensagem  biligo em 2/10/2020, 06:22

    Boas galera,

    Em um formulário qualquer possuo uma função para efetuar uma alteração em cascata em larga escala em uma tabela, tblPedidoDetalhe.
    Nesta Defino o nome da tabela, o campo a ser alterado e a alteração desejada.
    Infelizmente por necessitar alterar um campo que possui "," (txtOriginal = 11,1) me é retornado erro pois não é possível filtrar com o critério:

    Código:
       txtTabela  = tblPedidoDetalhe
    txtCampo = IdentCardapio
    txtOriginal = 11,1
    txtCampo = 511,1

    Dim rs As DAO.Recordset
        Dim F As Integer
        
        
        Set rs = CurrentDb.OpenRecordset("SELECT " & Me.txtCampo & " FROM " & Me.txtTabela & " WHERE " & Me.txtCampo & " = " & Me.txtOriginal & "")
          
            Do While Not rs.EOF
                rs.Edit
                rs(Me.txtCampo) = Me.txtAtual
                rs.Update
                rs.MoveNext
            Loop
        
        rs.Close
        Set rs = Nothing

    Erro de sintaxe (Vírgula) na expressão de consulta 'IdentCardapio = 11,1'.

    Já tentei utilizar o Replace() mais como o campo irá comparar também não consegui resolver desta forma.

    Grato por algum respaldo ou encaminhamento.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7779
    Registrado : 05/11/2009

    Virgula em condição de recordset Empty Re: Virgula em condição de recordset

    Mensagem  Alexandre Neves em 2/10/2020, 11:21

    Bom dia
    Como utilizou o Replace?
    Deverá ser assim
    Set rs = CurrentDb.OpenRecordset("SELECT " & Me.txtCampo & " FROM " & Me.txtTabela & " WHERE " & Replace(Me.txtCampo,",",".") & " = " & Replace(Me.txtOriginal,",",".") & "")


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: 25/11/2020, 03:01