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]Criar consulta via código

    avatar
    necafi
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 27/06/2011

    [Resolvido]Criar consulta via código Empty [Resolvido]Criar consulta via código

    Mensagem  necafi 9/5/2012, 14:26

    amigos, estou precisando criar um procedimento que gere uma consulta; até aí estou conseguindo; preciso de ajuda para que na consulta, uma data que na tabela está abreviada, passe a ser mostrada como data completa.
    Tenho uma variável onde está: strSQL = "SELECT Format([Tb_Cadastro].[dataConc],""""dd"" de ""mmmm"" de ""yyyy"""") AS dataConc, ..." e depois a instrução para gerar a consulta: CreateQueryDef...
    Se eu coloco da data simples ("SELECT [Tb_Cadastro].[dataConc]AS dataConc, ...") funciona perfeitamente; meu problema está na formatação.
    Agradeço muitíssimo a ajuda.
    avatar
    Convidad
    Convidado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Convidad 9/5/2012, 15:01

    Nelson

    Coloque o código envolvido, fica mais fácil de analisarmos.
    avatar
    necafi
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 27/06/2011

    [Resolvido]Criar consulta via código Empty Criar consulta via código

    Mensagem  necafi 9/5/2012, 15:19

    Dim Rst As DAO.Recordset
    Dim strSQL As String
    Dim Consulta As QueryDef


    strSQL = "SELECT Tb_Cadastro.id AS fichaNum, CStr([Tb_Cadastro].[codesp]) AS codesp, CStr([Tb_Cadastro].[material]) AS material, Format([dataConc],"dd"" de ""mmmm"" de ""yyyy") AS conclusao, Tb_Cadastro.aluno AS nome, Format([dataNasc],"dd"" de ""mmmm"" de ""yyyy") AS nascimento, Tb_Cadastro.doc AS rg_rne, CStr([Tb_Cadastro].[nDoc]) AS rg_num, Tb_Cadastro.UF, Tb_Cadastro.obs
    FROM Tb_Cadastro"

    Set Consulta = CurrentDb.CreateQueryDef("Cons_Cadastro", strSQL)

    Estou desenvolvendo no A97, pois meu aplicativo está em várias versões.
    avatar
    Convidad
    Convidado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Convidad 9/5/2012, 17:20

    Nelson

    "dd"" de ""mmmm"" de ""yyyy"

    Está correto e funcionando perfeitamente aqui para mim e também uso o A2007.

    Esperimente usar:

    docmd.OpenQuery strSQL

    Abraços
    avatar
    necafi
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 27/06/2011

    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  necafi 9/5/2012, 19:47

    para mim, continua o erro. Aparece a seguinte mensagem "Era esperado: fim da instrução" e depois fica marca o 'de' ; creio que é devido à vírgula depois do campo [dataConc] - no SELECT a vírgula "separa" campo, certo? (Format([dataConc],"dd"" ...)
    avatar
    necafi
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 27/06/2011

    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  necafi 9/5/2012, 19:50

    desculpe, creio que não fui muito claro:
    depois do erro fica marcado o 'dd'(Format([dataConc],"dd""...);
    no select a vírgula separa campos, correto?
    estou usando o access 97 e não o 2007.
    avatar
    spp
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 24/10/2011

    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  spp 9/5/2012, 20:40

    Nelson

    Boa Tarde!

    Tem como mudar na propriedade da consulta
    Formato
    avatar
    Convidad
    Convidado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Convidad 9/5/2012, 21:11

    Claro , você está certo, bobeada minha.

    Como está dentro de uma string, ou seja, entre aspas, deverá colocar essa parte com aspas simples assim:

    'dd' de ''mmmm' de ''yyyy'

    Talvez não funcione, experimente, então teremos que "bolar" uma outra maneira de fazer isso funcionar.

    Teste e retorne
    avatar
    Convidad
    Convidado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Convidad 9/5/2012, 21:50

    Nelson

    Veja se pode ser dessa maneira

    Coloque a instrução SQL em uma consulta e salve-a, digamos com o nome de MinhaConsulta

    No VBA chame a consulta assim:

    DoCmd.OpenQuery "MinhaConsulta"

    O problema na sql para rodar no vba está nas aspas da função format e não na virgula dessa função.
    Para você entender:
    = Formato(campox;"000") com ponto e virgula usado na consulta
    = Format(campox,"000") com somente a virgula, usando no VBA.

    Aguardo...
    avatar
    Convidad
    Convidado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Convidad 9/5/2012, 23:17


    Também prefiro usar consultas salvas.
    Não apenas pelas chatices da sintaxe, mas se um campo da tabela for alterado, a consulta atualiza automaticamente, enquanto que no código vba tem que ir atrás pra corrigir.
    avatar
    Convidad
    Convidado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Convidad 9/5/2012, 23:21

    Norberto

    Concordo contigo.

    Mesmo assim, estou verificando aqui como fazer funcionar essa sql no vba.

    Se conseguir, irá ver o código como é de "arrepiar". Shocked

    Abraços
    avatar
    Convidad
    Convidado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Convidad 9/5/2012, 23:36


    Talvez com um help do Access...

    Format(CampoData, "Data longa") ou Format(Date, "Long Date")
    ou
    Format(CampoData, "dddd, mmm d yyyy") Retorna "Quarta-feira, Jan 27 1993.

    avatar
    Convidad
    Convidado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Convidad 10/5/2012, 00:21

    Nelson

    Ai está o teu código:

    Código:


    Dim qdf As QueryDef
    'Após executar pela primeira vez, retire a aspa simples da linha abaixo.
    'CurrentDb.QueryDefs.Delete ("qryTemp")

    Set qdf = DBEngine(0)(0).CreateQueryDef("qryTemp"SELECT Tb_Cadastro.id AS fichaNum, CStr([Tb_Cadastro].[codesp]) AS codesp, CStr([Tb_Cadastro].[material]) AS material, Format([dataConc]," & Chr(34) & "dd" & Chr(34) & Chr(34) & " de " & Chr(34) & Chr(34) & "mmmm" & Chr(34) & Chr(34) & " de " & Chr(34) & Chr(34) & "yyyy" & Chr(34) & ") AS conclusao, Tb_Cadastro.aluno AS nome, Format([dataNasc],"& Chr(34) & "dd" & Chr(34) & Chr(34) & " de " & Chr(34) & Chr(34) & "mmmm" & Chr(34) & Chr(34) & " de " & Chr(34) & Chr(34) & "yyyy" & Chr(34) & ") AS nascimento, Tb_Cadastro.doc AS rg_rne, CStr([Tb_Cadastro].[nDoc]) AS rg_num, Tb_Cadastro.UF, Tb_Cadastro.obs
    FROM Tb_Cadastro;")

    qdf.Close
     
    DoCmd.OpenQuery "qryTemp", acViewNormal, acReadOnly


    Tenha atenção para a linhas em verde do código (ficará verde no Access)

    Observe o que tive que fazer no format.

    Sinto pela "linguiça" que ficou o código na página.

    Abraços
    avatar
    necafi
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 27/06/2011

    [Resolvido]Criar consulta via código Empty [RESOLVIDO] Criar consulta via código

    Mensagem  necafi 10/5/2012, 12:16

    Smile Balem, funcionou. Muitíssimo agradecido e que Deus lhe abençõe e a todos que tentaram me ajudar.
    avatar
    Convidad
    Convidado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Convidad 10/5/2012, 13:49

    Valeu pelo retorno.

    Boa sorte!
    avatar
    necafi
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 27/06/2011

    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  necafi 10/5/2012, 14:03

    Grato

    Conteúdo patrocinado


    [Resolvido]Criar consulta via código Empty Re: [Resolvido]Criar consulta via código

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 6/5/2024, 22:38