MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Criar tabela com SQL VBA

    Compartilhe

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    [Resolvido]Criar tabela com SQL VBA

    Mensagem  ilvecchio em Seg 27 Out 2014, 11:50

    Buenas!
    Estou substituindo, dentro de códigos VBA, de alguns formulários, as consultas por SQL. Estava indo tudo muito bem, até substituir uma que cria tabela.
    Vinha criando a partir do SQL da própria consulta, mas aí não funcionou (erro 13, tipos incompatíveis : não mostra onde está o erro, marca toda a instrução SQL).
    Na Web não encontrei exemplos que usem duas tabelas para criar outra. Só tem para criar a partir do zero.

    O SQL da minha consulta é este

    SELECT [TabBase].Cliente, Left([TabBase]!Setor,3) & " - " & [TabBase]![Tipo] AS SetorTipo, [TabBase].Empresa1, [TabBase].CodCliente, False AS Marcar, [TabEndereco].CodEnd INTO TabTemporariaFormControle
    FROM TabBase INNER JOIN TabEndereco ON [TabBase].CodCliente = [TabEndereco].CodCliente
    WHERE ((([TabEndereco].CodCliente)=FunCodCliente()));

    CodCliente é texto, FunCodCliente é uma função com uma variável que contém o CodCliente (com o SQL colocarei a variável ).

    Alguém pode me ajudar?

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: [Resolvido]Criar tabela com SQL VBA

    Mensagem  Avelino Sampaio em Seg 27 Out 2014, 12:33

    Olá!

    Coloque a função fora da string e observe o uso dos apóstrofes já que o campo codCliente é do tipo String:

    currentdb.execute = "SELECT... WHERE TabEndereco.CodCliente= '" & FunCodCliente() & "';"

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: [Resolvido]Criar tabela com SQL VBA

    Mensagem  ilvecchio em Seg 27 Out 2014, 13:15

    Obrigado, Avelino.

    O Erro continua. Descobri que não aceita a concatenação dos campos Setor e Tipo, ambos do tipo texto:

    SELECT [TabBase].Cliente, Left([TabBase]!Setor,3) & " - " & [TabBase]![Tipo] AS SetorTipo, ...

    Se eu tirar  um dos segmentos  Left([TabBase]!Setor,3) & " - " & ou  & " - " & [TabBase]![Tipo], aí funciona.

    Como contorno esse problema? É um erro na sintaxe?

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: [Resolvido]Criar tabela com SQL VBA

    Mensagem  Avelino Sampaio em Seg 27 Out 2014, 13:47

    Escreva aqui exatamente como está a SQL no seu VBA

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: [Resolvido]Criar tabela com SQL VBA

    Mensagem  ilvecchio em Seg 27 Out 2014, 14:01

    Avelino, está igual o post:

    DoCmd.RunSQL "SELECT [TabBase].Cliente, Left([TabBase]!Setor,3) & " - " & [TabBase]![Tipo] AS SetorTipo, [TabBase].Empresa1, [TabBase].CodCliente, False AS Marcar, [TabEndereco].CodEnd INTO TabTemporariaFormControle
    FROM TabBase INNER JOIN TabEndereco ON [TabBase].CodCliente = [TabEndereco].CodCliente
    WHERE ((([TabEndereco].CodCliente)=FunCodCliente()));"

    E como disse, o problema está na concatenação.

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: [Resolvido]Criar tabela com SQL VBA

    Mensagem  Avelino Sampaio em Seg 27 Out 2014, 14:10

    Experimente trocar por apóstrofes:

    ...Left([TabBase]!Setor,3) & ' - ' & [TabBase]![Tipo] AS SetorTipo...

    Aguardamos



    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: [Resolvido]Criar tabela com SQL VBA

    Mensagem  ilvecchio em Seg 27 Out 2014, 14:28

    É isso aí Grande!

    Valeu, muito obrigado.


      Data/hora atual: Sab 10 Dez 2016, 04:52