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]Como selecionar um certo período de datas dentro da insturação em SQL

    Compartilhe

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Como selecionar um certo período de datas dentro da insturação em SQL

    Mensagem  Silvio em Seg 19 Ago 2013, 14:14

    Prezados, bom dia.

    O Alexandre Neves me ajudou muito nessa instrução que esta abaixo:

    SELECT idCliente, Nome, Data1 as DataParcela, Valor1 as ValorParcela FROM tblPgtoPrazo WHERE Not IsNull(data1) UNION SELECT idCliente, Nome, Data2, Valor2 FROM tblPgtoPrazo WHERE Not IsNull(data2) UNION SELECT idCliente, Nome, Data3, Valor3 FROM tblPgtoPrazo WHERE Not IsNull(data3) UNION SELECT idCliente, Nome, Data4, Valor4 FROM tblPgtoPrazo WHERE Not IsNull(data4) UNION SELECT idCliente, Nome, Data5, Valor5 FROM tblPgtoPrazo WHERE Not IsNull(data5) UNION SELECT idCliente, Nome, Data6, Valor6 FROM tblPgtoPrazo WHERE Not IsNull(data6) UNION SELECT idCliente,Nome,DataRecebeAVista,TotalMO FROM tblPgtoAVista ORDER BY DataParcela;

    Porém, surgiu um porém, tenho que selecionar por datas. Ja criei um formulário (frmescolhedata) e coloquei duas caixas de texto no formato data abrevida ( DI e DF , data inicial e data final).

    O que eu não sei mesmo, como mudar a instrução para que seja selecionado um certo período de datas que o usuário vai escolher no frmescolhedata.

    Já tentei: ORDER BY entre!frmescolhedata!di e Frmescolhedata!DF mas não deu certo.

    Uma luz, por favor !!


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Mrsilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 03/11/2011

    Re: [Resolvido]Como selecionar um certo período de datas dentro da insturação em SQL

    Mensagem  Mrsilva em Seg 19 Ago 2013, 14:54

    Silvio.

    Veja se ajuda.

    Tirei parte de um código meu para mostrar como informo as datas.

    Código:
    Dim Db As DAO.Database
    Dim rs As DAO.Recordset
    Dim SQL As String
    Dim dtIni As Date
    Dim DtFim As Date
    Dim strEmpresa As String
    Dim t As Long
    Dim t1 As Long

    strEmpresa = loginEmpresa.CodigoEmpresa

    dtIni = "01/" & strPeriodo
    DtFim = DateAdd("m", 1, dtIni) - 1

    dtIni = Format(dtIni, "mm/dd/yyyy") 'em VBA tem de ser data americana
    DtFim = Format(DtFim, "mm/dd/yyyy") 'em VBA tem de ser data americana

    SQL = "SELECT * FROM tblContabilidade WHERE DtLanc Between #" & dtIni & "# And #" & DtFim & "# AND Empresa = '" & strEmpresa & "'"

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Como selecionar um certo período de datas dentro da insturação em SQL

    Mensagem  Silvio em Seg 19 Ago 2013, 15:38

    Bom dia MrSilva

    Grato, por se interessar em me ajudar.

    De uma olhada nesse Link, para que você possa entender a dinâmica desse projeto.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Como selecionar um certo período de datas dentro da insturação em SQL

    Mensagem  Alexandre Neves em Seg 19 Ago 2013, 16:45

    Boa tarde, Sílvio
    Explique melhor. As datas que quer filtrar são a primeira data? se sim, supondo que quer entre 01-01 e 01-08
    SELECT DISTINCT Cod_Fun, dta_ponto AS Dia1, Dia5
    FROM (SELECT cod_fun, dta_ponto, (SELECT dta_ponto from tbl_ponto as t2 WHERE Motivo_falta='não abonada' and t2.cod_fun=tbl_ponto.cod_fun and t2.dta_ponto=dateadd('d',1,tbl_ponto.dta_ponto)) AS Dia2, (SELECT dta_ponto from tbl_ponto as t3 WHERE Motivo_falta='não abonada' and t3.cod_fun=tbl_ponto.cod_fun and t3.dta_ponto=dateadd('d',2,tbl_ponto.dta_ponto)) AS Dia3, (SELECT dta_ponto from tbl_ponto as t4 WHERE Motivo_falta='não abonada' and t4.cod_fun=tbl_ponto.cod_fun and t4.dta_ponto=dateadd('d',3,tbl_ponto.dta_ponto)) AS Dia4, (SELECT dta_ponto from tbl_ponto as t5 WHERE Motivo_falta='não abonada' and t5.cod_fun=tbl_ponto.cod_fun and t5.dta_ponto=dateadd('d',4,tbl_ponto.dta_ponto)) AS Dia5 FROM tbl_ponto WHERE Motivo_falta='não abonada') AS [%$##@_Alias]
    WHERE Not IsNull(Dia2) And Not IsNull(Dia3) And Not IsNull(Dia4) And Not IsNull(Dia5) And dta_ponto Between #1/1/2013# And #8/1/2013#;


    .................................................................................
    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

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Como selecionar um certo período de datas dentro da insturação em SQL

    Mensagem  Silvio em Seg 19 Ago 2013, 17:23

    Grato Alexandre, por me acudir novamente.

    Explicarei....tenho um frmescolhedata, com duas caixas de texto ( di=data inicial e df =data final), onde o usuário irá escolher um certo período de datas ( 10/08/2013 a 20/08/2013).  A ideia é pegar todos os pagamentos efetuados ( tanto a vista como a prazo)  dentro desse período.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Como selecionar um certo período de datas dentro da insturação em SQL

    Mensagem  Alexandre Neves em Seg 19 Ago 2013, 18:21

    Estava a trabalhar no bd errado
    SELECT * FROM (SELECT idCliente, Nome, Data1 as DataParcela, Valor1 as ValorParcela FROM tblPgtoPrazo WHERE Not IsNull(data1) UNION SELECT idCliente, Nome, Data2, Valor2 FROM tblPgtoPrazo WHERE Not IsNull(data2) UNION SELECT idCliente, Nome, Data3, Valor3 FROM tblPgtoPrazo WHERE Not IsNull(data3) UNION SELECT idCliente, Nome, Data4, Valor4 FROM tblPgtoPrazo WHERE Not IsNull(data4) UNION SELECT idCliente, Nome, Data5, Valor5 FROM tblPgtoPrazo WHERE Not IsNull(data5) UNION SELECT idCliente, Nome, Data6, Valor6 FROM tblPgtoPrazo WHERE Not IsNull(data6) UNION SELECT idCliente,Nome,DataRecebeAVista,TotalMO FROM tblPgtoAVista
    ORDER BY DataParcela) WHERE DataParcela Between #08-16-2013# and #08-20-2013#


    .................................................................................
    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

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Como selecionar um certo período de datas dentro da insturação em SQL

    Mensagem  Silvio em Ter 20 Ago 2013, 11:24

    Bom dia Alexandre.....

    Ficou dessa forma, a instrução em SQL ( vou deixar aqui, para futuras referencias aos colegas )

    SELECT *
    FROM (SELECT idCliente, Nome, Data1 as DataParcela, Valor1 as ValorParcela FROM tblPgtoPrazo WHERE Not IsNull(data1) UNION SELECT idCliente, Nome, Data2, Valor2 FROM tblPgtoPrazo WHERE Not IsNull(data2) UNION SELECT idCliente, Nome, Data3, Valor3 FROM tblPgtoPrazo WHERE Not IsNull(data3) UNION SELECT idCliente, Nome, Data4, Valor4 FROM tblPgtoPrazo WHERE Not IsNull(data4) UNION SELECT idCliente, Nome, Data5, Valor5 FROM tblPgtoPrazo WHERE Not IsNull(data5) UNION SELECT idCliente, Nome, Data6, Valor6 FROM tblPgtoPrazo WHERE Not IsNull(data6) UNION SELECT idCliente,Nome,DataRecebeAVista,TotalMO FROM tblPgtoAVista
    ORDER BY DataParcela)  AS Studo_Alias
    WHERE (((Studo_Alias.DataParcela) Between [forms]![frmescolhedata]![di] And [forms]![frmescolhedata]![df]));



    A parte que esta em cor vermelha, é onde fiz a alteração para adaptar.

    Grato mais uma vez a ti, Alexandre !!!


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    airineu1
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 28/09/2011

    Re: [Resolvido]Como selecionar um certo período de datas dentro da insturação em SQL

    Mensagem  airineu1 em Ter 13 Maio 2014, 20:45

    Caro, MRsilva.

    Muito obrigado, estou a um tempo rodando a net, procurando sobre filtro de datas, encontrei varios exemplos.
    Só o seu funcionou, ninguem fala para colocar em formato americano, quando trabalhado em vba.

      Data/hora atual: Sex 09 Dez 2016, 09:39