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]Erro 3075 em Instrução SQL com Aspa simples

    avatar
    jhbf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 31
    Registrado : 21/06/2016

    [Resolvido]Erro 3075 em Instrução SQL com Aspa simples Empty [Resolvido]Erro 3075 em Instrução SQL com Aspa simples

    Mensagem  jhbf 15/5/2023, 13:53

    Viva ppl!

    Tenho um caso insólito e não percebo porque acontece.

    Tenho um botão com a seguinte instrução :

    CurrentDb.Execute "INSERT INTO licenca (NumSerie) VALUES ('" & Nz(Me.cxt_licenca.Value, 0) & "')"

    Se tentar colocar um valor na caixa igual a este

    dgdfgdfd09f8g09d8gjjkfdjg9381fkld´+sd´ºç~ç~´+´~ º~ - ç~ç

    Funciona no pc de casa como no portátil



    Mas se meter uma chave encriptada como esta:

    @4+09!HU?,'5-)3c


    No portátil funciona e no pc de casa dá erro

    Run-time error 3075
    Erro de sintaxe (operador em falta) na expressão de consulta @4+09!HU?,'5-'

    Agora é que vi que esta parte da chave desapareceu da mensagem de erro )3c



    Porque será que num pc funciona e noutro não?

    Se vou licenciar a aplicação em vários pcs não me posso dar ao luxo de nuns funcionar e noutros não.

    Obrigado.


    Última edição por jhbf em 31/5/2023, 22:16, editado 1 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7795
    Registrado : 15/03/2013

    [Resolvido]Erro 3075 em Instrução SQL com Aspa simples Empty Re: [Resolvido]Erro 3075 em Instrução SQL com Aspa simples

    Mensagem  Alvaro Teixeira 15/5/2023, 15:57

    Olá Jorge Fernandes,

    Realmente por vezes acontece destas coisas.
    Para tentar-mos perceber o que está acontecer dou a minha sugestão:

    Verifique:

    1) versões instaladas
    2) 32 ou 64 bits
    3) Idioma e definições regionais

    Tenho um palpite que o problema está na aspa simples.

    Abraço
    avatar
    jhbf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 31
    Registrado : 21/06/2016

    [Resolvido]Erro 3075 em Instrução SQL com Aspa simples Empty Re: [Resolvido]Erro 3075 em Instrução SQL com Aspa simples

    Mensagem  jhbf 15/5/2023, 18:36

    Olá Alvaro,


    Afinal pode ser mesmo as versões do Access

    Portátil Windows 64bits, mas o office foi instalado de 32 bits

    Pc casa Windows 64 bits e office com 64 bits


    Como saber o que tenho de mudar?

    Tenho este código na BD


    Código:

    Private Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" Alias _
    "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

    #If VBA7 Then
     Private Declare PtrSafe Function GetVolumeInformation Lib "Kernel32" _
       Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
       ByVal lpVolumeNameBuffer As String, _
       ByVal nVolumeNameSize As Long, _
       lpVolumeSerialNumber As Long, _
       lpMaximumComponentLength As Long, _
       lpFileSystemFlags As Long, _
       ByVal lpFileSystemNameBuffer As String, _
       ByVal nFileSystemNameSize As Long) As Long
    #Else
     Private Declare Function GetVolumeInformation Lib "Kernel32" _
       Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
       ByVal lpVolumeNameBuffer As String, _
       ByVal nVolumeNameSize As Long, _
       lpVolumeSerialNumber As Long, _
       lpMaximumComponentLength As Long, _
       lpFileSystemFlags As Long, _
       ByVal lpFileSystemNameBuffer As String, _
       ByVal nFileSystemNameSize As Long) As Long
    #End If


    Haverá alguma problema?

    Muito obrigado.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7795
    Registrado : 15/03/2013

    [Resolvido]Erro 3075 em Instrução SQL com Aspa simples Empty Re: [Resolvido]Erro 3075 em Instrução SQL com Aspa simples

    Mensagem  Alvaro Teixeira 16/5/2023, 00:24

    Olá Jorge Fernandes,

    Relativamente ao código que partilhou, se compilar e não apresentar erro, aparentemente não deve ser daqui o problema.

    Vou antes para a aspa simples, teste com este código:
    Código:
    Dim strLic As String
    strLic = Nz(Me.cxt_licenca.Value, 0)
    strLic = Replace(strLic, "'", "''")
    CurrentDb.Execute "INSERT INTO licenca (NumSerie) VALUES ('" & strLic & "')"

    Abraço
    avatar
    jhbf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 31
    Registrado : 21/06/2016

    [Resolvido]Erro 3075 em Instrução SQL com Aspa simples Empty Re: [Resolvido]Erro 3075 em Instrução SQL com Aspa simples

    Mensagem  jhbf 16/5/2023, 15:27

    Olá Álvaro Teixeira,


    Experimentei agora nos 2 pcs e funcionou. Maravilha!


    Muito obrigado pela ajuda.

    Irei realizar testes em mais pcs para ver se não dá erro.

    Tenho medo que ao ler o endereço mac da placa ao carregar a aplicação e faça a comparação com a chave que está na tabela não sejam iguais. Nestes 2 testes funcionou bem


    Abraço.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7795
    Registrado : 15/03/2013

    [Resolvido]Erro 3075 em Instrução SQL com Aspa simples Empty Re: [Resolvido]Erro 3075 em Instrução SQL com Aspa simples

    Mensagem  Alvaro Teixeira 16/5/2023, 16:01

    Olá Jorge Fernandes,

    Fico feliz por ter ajudado, confirmou-se a teoria da aspa simples.
    Irei alterar o título do tópico para melhorar as pesquisas do fórum.

    Creio que não deve ter receio, pois o código faz a correção.
    Caso se sinta mais conformável pode retirar a aspa simples das suas strings com o replace e ajustar o seu código de proteção.
    Desta forma deixa de ser necessário o código que partilhei na minha última mensagem.

    Se tiver tempo mais tarde (e partilhar se descobrir) pode explorar porque numa máquina funcionava e outra não.
    O meu palpite está nas definições regionais ou idioma. Wink

    Por último, se a dúvida ficou esclarecida, não se esqueça de dar o tópico como Resolvido, veja como fazer:
    https://www.maximoaccess.com/t860-resolucao-de-topicos

    Abraço

      Data/hora atual: 8/6/2023, 22:12