Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
#41111
Boa noite

Mais uma vez pedindo ajuda.

Tenho uma base de dados no Excel - Folha "BDPGI" - e gostaria de extrair determinados dados via SQL e ordená-los conforme está na Folha "FTECALCULOS", ou seja primeiro queria que os dados fossem ordenados pela data que está em [BDPGI$].[F58], forma ascendente, e depois por [BDPGI$].[F66], sendo que primeiro será "CON" e depois "COGP".

É possível com SQL?
Você não está autorizado a ver ou baixar esse anexo.
#41234
Fiz várias tentativas, mas sem sucesso. Tentei fazer a ordenação com a lista personalizada usando ORDER BY + CASE + WHEN, ORDER BY + SWITCH e ORDER BY + IIF. Não consegui com nenhuma delas, o que não quer dizer necessariamente que não dê para fazer. Pode ser que esteja errando em algo.
Uma outra opção é trazer todo o RecordSet e tratar via Array, mas se der via SQl sem dúvida seria bem melhor.
#41287
Boa noite,

Amigo tente usar TO_CHAR (StressDB.F58, 'DD/MM/YYYY') isso fará que o campo de data venha sem as horas, e acredito que facilitará, ai é só utilizar o ORDERBY TO_CHAR (StressDB.F58, 'DD/MM/YYYY') que é pra dar certo, ficaria assim:

SELECT StressDB.F3, StressDB.F5, StressDB.F10, StressDB.F19, StressDB.F20, StressDB.F31, StressDB.F32, StressDB.F44, StressDB.F45, StressDB.F46, StressDB.F47, StressDB.F56, StressDB.F57, TO_CHAR (StressDB.F58, 'DD/MM/YYYY'), StressDB.F59, StressDB.F60, StressDB.F66, StressDB.F71, StressDB.F72, StressDB.F74, StressDB.F75
FROM StressDB StressDB
WHERE (StressDB.F16>0) AND (StressDB.F73='S') AND (StressDB.F66 Like 'RR-%') AND (StressDB.F10 not Like 'CONSERV%') AND (StressDB.F10 not Like 'EXPLORAÇÃO%') AND (StressDB.F10 not Like 'RECUPERAÇÃO%') AND (StressDB.F10 not Like 'INTERVEN%') AND (StressDB.F59>={ts '2016-12-31 00:00:00'}) AND (StressDB.F58<{ts '2020-01-01 00:00:00'})
order by TO_CHAR (StressDB.F58, 'DD/MM/YYYY') asc
#41288
Outra possibilidade é você tentar ordenar no Power Query, caso não saiba como posso te explicar o procedimento para realizar a conexão SQL no excel juntamento com o Power Query.
#41294
Obrigado babdallas.

Caro FelipeBarbosa
Esse Query que você fala está dando os valores certos, ou seja ele está a ir buscar valores a outra Base de Dados e está a trazer todos os valores certinhos.

O que eu preciso é em função dos valores que estão em SETDATA!D9 e SETDATA!D12, extrair os dados da tabela geral que está na aba BDPGI, neste caso apenas os do CAMPO [F3] e ordena-los, primeiro pelo campo BDPGI!F58 e depois ordenar pelo campo BDPGI!F66 conforme a seguinte lista (RR-CON, RR-COGP, RR-COCN, RR-COCS, RR-COGL, RR-COS)
(NOTA: O Excel permite fazer isto, gostaria é que fosse em SQL)

Ou seja, na query abaixo falta a parte de ordenar pela lista, atendendo a que apenas ordena pela data:
obSQL = "SELECT [BDPGI$].[F3] FROM [BDPGI$] " & _
"WHERE([BDPGI$].[F66] = 'RR-" & UO1 & "' OR [BDPGI$].[F66] = 'RR-" & UO2 & "') " & _
"ORDER BY [BDPGI$].[F58] ASC"

Se não fui claro por favor me diga.

Obrigado
Jorge Cabral
#41323
Eu entendi o que voce disse, mas você tentou usar o To_CHAR que mencionei acima?
#41348
Boa tarde Felipe

Testei, deu erro, estive procurando, pois como percebo muito pouco de SQL, mas nem sequer encontrei essa função.

Estarei a fazer alguma coisa mal? Dá para você testar na planilha que disponibilizei?

Obrigado
Jorge Cabral
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord