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]Variável SQL maior que 255 caracteres

    avatar
    e_souza2
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 24/11/2013

    [Resolvido]Variável SQL maior que 255 caracteres Empty [Resolvido]Variável SQL maior que 255 caracteres

    Mensagem  e_souza2 16/5/2014, 00:28

    Boa noite pessoal,

    Em uma macro no excel, utilizo o código abaixo para alterar uma tabela no access.
    O problema está na linha 21 quando o valor da célula Range("SOL_SOLICITANTE_OBS").Value ultrapassa 255 caracteres.
    Como posso declarar uma variável para o campo SOL_SOLICITANTE_OBS aceitar mais de 255 caracteres?
    Obs.: No access, este campo esta com o Tipo de Dados "Memorando".

    Segue parte do código:

    1 - 'QUERY SQL
    2 -    SQL = "UPDATE TB_SOLICITACOES"
    3 -    'CAMPOS EXCEL - INFO SOLICITAÇÃO
    4 -    SQL = SQL & " SET SOL_STATUS = '" & Range("SOL_STATUS").Value & "', "
    5 -    SQL = SQL & "SOL_OP_STATUS = '" & Range("SOL_OP_STATUS").Value & "', "
    6 -    SQL = SQL & "SOL_ALT_STATUS = '" & Range("SOL_ALT_STATUS").Value & "', "
    7 -    SQL = SQL & "SOL_DATA_SOLICITACAO = '" & Range("SOL_DATA_SOLICITACAO").Value & "', "
    8 -    SQL = SQL & "SOL_RESPONSAVEL = '" & Range("SOL_RESPONSAVEL").Value & "', "
    9 -    SQL = SQL & "SOL_ORIGEM = '" & Range("SOL_ORIGEM").Value & "', "
    10 -    If Range("SOL_OP_PRIORIDADE").Value = 1 Then PRIORIDADE = "Sim" Else PRIORIDADE = "Não"
    11 -    SQL = SQL & "SOL_OP_PRIORIDADE = '" & PRIORIDADE & "', "
    12 -    SQL = SQL & "SOL_COMENTARIOS = '" & Range("SOL_COMENTARIOS").Value & "', "
    13 -    SQL = SQL & "SOL_DESISTENCIA = '" & Range("SOL_DESISTENCIA").Value & "', "
    14 -    SQL = SQL & "SOL_NIVEL_INTERESSE = '" & Range("SOL_NIVEL_INTERESSE").Value & "', "
    15 -    
    16 -    'CAMPOS EXCEL - INFO SOLICITANTE
    17 -    SQL = SQL & "SOL_SOLICITANTE_NOME = '" & Range("SOL_SOLICITANTE_NOME").Value & "', "
    18 -    SQL = SQL & "SOL_SOLICITANTE_TELEFONE = '" & Range("SOL_SOLICITANTE_TELEFONE").Value & "', "
    19 -    SQL = SQL & "SOL_TEL_CEL = '" & Range("SOL_TEL_CEL").Value & "', "
    20 -    SQL = SQL & "SOL_SOLICITANTE_EMAIL = '" & Range("SOL_SOLICITANTE_EMAIL").Value & "', "
    21 -    SQL = SQL & "SOL_SOLICITANTE_OBS = '" & Range("SOL_SOLICITANTE_OBS").Value & "', "
    22 -    
    23 -    'CAMPOS EXCEL - INFO CONTATO
    24 -    SQL = SQL & "SOL_EVENTO_TIPO = '" & Range("SOL_EVENTO_TIPO").Value & "', "
    25 -    SQL = SQL & "SOL_EVENTO_DATA = '" & Range("SOL_EVENTO_DATA").Value & "', "
    26 -    SQL = SQL & "SOL_OP_DATA_IND = '" & Range("SOL_OP_DATA_IND").Value & "', "
    27 -    SQL = SQL & "SOL_EVENTO_PERIODO = '" & Range("SOL_EVENTO_PERIODO").Value & "', "
    28 -    SQL = SQL & "SOL_EVENTO_N_CONVIDADOS = '" & Range("SOL_EVENTO_N_CONVIDADOS").Value & "', "
    29 -    SQL = SQL & "SOL_EVENTO_BUFFET = '" & Range("SOL_EVENTO_BUFFET").Value & "', "
    30 -    SQL = SQL & "SOL_OP_BEBIDA = '" & Range("SOL_OP_BEBIDA").Value & "', "
    31 -    
    32 -    'CAMPOS EXCEL - INFO CADASTRO
    33 -    SQL = SQL & "SOL_LANCADO_POR = '" & Range("SOL_LANCADO_POR").Value & "', "
    34 -    SQL = SQL & "SOL_DATA_CADASTRO = '" & Range("SOL_DATA_CADASTRO").Value & "' "
    35 -    
    36 -    SQL = SQL & "WHERE SOL_CODIGO = " & Range("SOL_CODIGO").Value
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Variável SQL maior que 255 caracteres Empty Re: [Resolvido]Variável SQL maior que 255 caracteres

    Mensagem  Alexandre Neves 16/5/2014, 09:33

    Bom dia,
    Declare a variável como variant


    .................................................................................
    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
    avatar
    e_souza2
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 24/11/2013

    [Resolvido]Variável SQL maior que 255 caracteres Empty Re: [Resolvido]Variável SQL maior que 255 caracteres

    Mensagem  e_souza2 16/5/2014, 12:57

    Bom dia Alexandre,

    Sou iniciante em SQL.

    Como faço essa declaração no código que mencionei?

    Desde já, muito obrigado!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Variável SQL maior que 255 caracteres Empty Re: [Resolvido]Variável SQL maior que 255 caracteres

    Mensagem  Alexandre Neves 16/5/2014, 13:14

    e_souza2 escreveu:Como posso declarar uma variável para o campo SOL_SOLICITANTE_OBS aceitar mais de 255 caracteres?
    Declare:
    Dim varSolSolicitanteObs
    ou
    Dim varSolSolicitanteObs as variant


    .................................................................................
    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
    avatar
    e_souza2
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 24/11/2013

    [Resolvido]Variável SQL maior que 255 caracteres Empty Re: [Resolvido]Variável SQL maior que 255 caracteres

    Mensagem  e_souza2 16/5/2014, 13:36

    Conforme código abaixo, inseri sua sugestão.
    Porém continua com o mesmo erro. (Erro em tempo de execução '3075': Erro de sintaxe (operador faltando) na expressão da consulta "msg com mais de 255 caracteres").
    A variável aceita mais de 255 caracteres, mas o campo SOL_SOLICITANTE_OBS no sql não aceita.
    Vi em outros posts que é possível declarar um campo do SQL como VARCHAR(500), mas não sei como declarar isso no meu código.

    Segue código com sua sugestão (Alterei o inicio e a linha 21)

    Dim varSolSolicitanteObs as variant
    varSolSolicitanteObs = Range("SOL_SOLICITANTE_OBS").Value

    1 - 'QUERY SQL
    2 - SQL = "UPDATE TB_SOLICITACOES"
    3 - 'CAMPOS EXCEL - INFO SOLICITAÇÃO
    4 - SQL = SQL & " SET SOL_STATUS = '" & Range("SOL_STATUS").Value & "', "
    5 - SQL = SQL & "SOL_OP_STATUS = '" & Range("SOL_OP_STATUS").Value & "', "
    6 - SQL = SQL & "SOL_ALT_STATUS = '" & Range("SOL_ALT_STATUS").Value & "', "
    7 - SQL = SQL & "SOL_DATA_SOLICITACAO = '" & Range("SOL_DATA_SOLICITACAO").Value & "', "
    8 - SQL = SQL & "SOL_RESPONSAVEL = '" & Range("SOL_RESPONSAVEL").Value & "', "
    9 - SQL = SQL & "SOL_ORIGEM = '" & Range("SOL_ORIGEM").Value & "', "
    10 - If Range("SOL_OP_PRIORIDADE").Value = 1 Then PRIORIDADE = "Sim" Else PRIORIDADE = "Não"
    11 - SQL = SQL & "SOL_OP_PRIORIDADE = '" & PRIORIDADE & "', "
    12 - SQL = SQL & "SOL_COMENTARIOS = '" & Range("SOL_COMENTARIOS").Value & "', "
    13 - SQL = SQL & "SOL_DESISTENCIA = '" & Range("SOL_DESISTENCIA").Value & "', "
    14 - SQL = SQL & "SOL_NIVEL_INTERESSE = '" & Range("SOL_NIVEL_INTERESSE").Value & "', "
    15 -
    16 - 'CAMPOS EXCEL - INFO SOLICITANTE
    17 - SQL = SQL & "SOL_SOLICITANTE_NOME = '" & Range("SOL_SOLICITANTE_NOME").Value & "', "
    18 - SQL = SQL & "SOL_SOLICITANTE_TELEFONE = '" & Range("SOL_SOLICITANTE_TELEFONE").Value & "', "
    19 - SQL = SQL & "SOL_TEL_CEL = '" & Range("SOL_TEL_CEL").Value & "', "
    20 - SQL = SQL & "SOL_SOLICITANTE_EMAIL = '" & Range("SOL_SOLICITANTE_EMAIL").Value & "', "
    21 - SQL = SQL & "SOL_SOLICITANTE_OBS = '" & varSolSolicitanteObs & "', "
    22 -
    23 - 'CAMPOS EXCEL - INFO CONTATO
    24 - SQL = SQL & "SOL_EVENTO_TIPO = '" & Range("SOL_EVENTO_TIPO").Value & "', "
    25 - SQL = SQL & "SOL_EVENTO_DATA = '" & Range("SOL_EVENTO_DATA").Value & "', "
    26 - SQL = SQL & "SOL_OP_DATA_IND = '" & Range("SOL_OP_DATA_IND").Value & "', "
    27 - SQL = SQL & "SOL_EVENTO_PERIODO = '" & Range("SOL_EVENTO_PERIODO").Value & "', "
    28 - SQL = SQL & "SOL_EVENTO_N_CONVIDADOS = '" & Range("SOL_EVENTO_N_CONVIDADOS").Value & "', "
    29 - SQL = SQL & "SOL_EVENTO_BUFFET = '" & Range("SOL_EVENTO_BUFFET").Value & "', "
    30 - SQL = SQL & "SOL_OP_BEBIDA = '" & Range("SOL_OP_BEBIDA").Value & "', "
    31 -
    32 - 'CAMPOS EXCEL - INFO CADASTRO
    33 - SQL = SQL & "SOL_LANCADO_POR = '" & Range("SOL_LANCADO_POR").Value & "', "
    34 - SQL = SQL & "SOL_DATA_CADASTRO = '" & Range("SOL_DATA_CADASTRO").Value & "' "
    35 -
    36 - SQL = SQL & "WHERE SOL_CODIGO = " & Range("SOL_CODIGO").Value
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Variável SQL maior que 255 caracteres Empty Re: [Resolvido]Variável SQL maior que 255 caracteres

    Mensagem  Alexandre Neves 16/5/2014, 14:39

    Só com os dados para analisar, mas verifique se algum dado a passar pela instrução SQL tem aspas, pelicas ou apóstrofos


    .................................................................................
    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
    avatar
    e_souza2
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 24/11/2013

    [Resolvido]Variável SQL maior que 255 caracteres Empty Re: [Resolvido]Variável SQL maior que 255 caracteres

    Mensagem  e_souza2 19/5/2014, 16:50

    Localizei aspas nos texto a serem importado. Esse era o motivo do erro.

    Alexandre, obrigado pela dica!!!

    Conteúdo patrocinado


    [Resolvido]Variável SQL maior que 255 caracteres Empty Re: [Resolvido]Variável SQL maior que 255 caracteres

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 14:55