Notifications
Clear all

Inclusão de Dados com Aspa Simples

Página 1 / 3

rafaelp
Posts: 89
Registered
Topic starter
(@rafaelp)
Trusted Member
Entrou: 5 anos atrás

Boa tarde.

Galera,

Estou começando a aprender a integração do Excel com Access e me deparei com um problema.
Quando vou incluir algum dado com aspas simples ( ' ) ocorre o seguinte erro:

Eu pensei em validar os campos antes da inserção para não permitir as aspas porém, alguns formulários terão inúmeros TextBox e isso daria muito trabalho (validar um por um).
Queria uma forma mais fácil de validar todos os campos de uma vez ou algum jeito de incluir as informações com o caractér (procurei muito na internet e não encontrei nada que me atenda).

Erro em tempo de execução '-2147217900 (80040e14)':

Erro de sintaxe (operador faltando) na expressão de consulta "'Rafael", '1', 'S')'.

Desde já obrigado!

Responder
13 Respostas
Wagner Morel
Posts: 4037
Registered Registered
(@wagner-morel-vidal-nobre)
Illustrious Member
Entrou: 9 anos atrás

rafaelp,

Boa tarde!

Não há qualquer problema quando você tem campos string no SQL (que precisam ser repassados com aspas simples). Basta colocar aspas duplas na variável string do VBA que armazena o comando SQL. Veja exemplo abaixo que retirei de um arquivo meu:

'ComadoSQL é uma variável String criada no VBA
'Valor é uma caixa de texto. Veja que depois do sinal de igual tem uma aspa dupla e uma simples. Depois _
de Valor tem uma aspa dupla, uma simples e uma dupla.
ComandoSQL = "WHERE Cep = '" & Valor & "'"
Responder
rafaelp
Posts: 89
Registered
Topic starter
(@rafaelp)
Trusted Member
Entrou: 5 anos atrás

Bom dia.

wagner,

Muito obrigado pela resposta.

Então, eu estou fazendo desta forma que você mencionou porém, quando eu coloco algum dado com aspas simples ele me retorna o erro.
Segue o código da Query:

    Sql = ""
        Sql = "INSERT INTO usuarios (nome, usuario, senha, grupo, bloqueado) VALUES ("
        Sql = Sql & "'" & Trim(fm.tbNome.Value) & "', "
        Sql = Sql & "'" & Trim(fm.tbUsuario.Value) & "', "
        Sql = Sql & "'" & Trim(fm.tbSenha.Value) & "', "
        Sql = Sql & "'" & fm.cbGrupo.Value & "', "
        Sql = Sql & "'" & bloq & "'"
        Sql = Sql & ")"
        
    cn.Execute Sql
Responder
Wagner Morel
Posts: 4037
Registered Registered
(@wagner-morel-vidal-nobre)
Illustrious Member
Entrou: 9 anos atrás

Deixe seu arquivo Excel e seu arquivo Access com o mesmo layout original, porém, apenas com umas 5 linhas cada um. Compacte com .ZIP.

Responder
Wagner Morel
Posts: 4037
Registered Registered
(@wagner-morel-vidal-nobre)
Illustrious Member
Entrou: 9 anos atrás

rafaelp,

Boa tarde!

Bom... consegui testar seu arquivo aqui e... tudo que fiz foi montar um novo arquivo Access com a tabela e os campos mencionados em seu código. Nada mais. Desse modo, não ocorreu nenhum erro aqui.

Carreguei o formulário de cadastro de clientes normalmente e inseri lá os dados nas caixas de texto. Depois cliquei em cadastrar e os dados foram inseridos no BD normalmente, inclusive com mensagem de sucesso que você colocou no código.

Segue os arquivos funcionando normalmente.

Responder
Página 1 / 3