Autor Tópico: Duvida como manipular select e data  (Lida 5825 vezes)

vitornf

  • Novato
  • *
  • Mensagens: 7
    • Email
Duvida como manipular select e data
« Online: Maio 22, 2012, 10:22:09 am »
Primeiramente, Bom dia
 Estou tendo a seguinte dificuldade:
Estou tentando realizar uma apresentação de dados de acordo com a data do sistema, a partir de um formulário com 4 campos,  mas obtive  duas respostas: ou ele não apresenta nada se não houver dados para ser apresentados nessa data ou apresenta tudo, caso já hajam dados lançados com a data equivalente a do sistema. Tentei realizar da seguinte forma: criei uma variável global no evento onload que recebe a data do sistema e uso ela para comparação: [data_atual] = date ("d/m/Y");
Fiz lançamento de uma cláusula Where onde comparei o campo {Data da aplicação} com essa variável e criei um select no evento onload usando sc_lookup, mas o resultado foi o mesmo e por fim estou criando um campo recebendo data do sistema para criar a comparação.

variavel global :
[data_atual] = date ("d/m/Y");

Cláusula where:
dt_presenca = [data_atual]// essa foi a primeira tentativa
dt_presenca = to_char(sysdate, 'DD/MM/YYYY') //tentei com e sem o select.

Select com macro  sc_lookup :
$sql = "select  ID_SERV_MOTORISTA,NU_CPF_MOTORISTA,TP_PRESENCA ,to_char(DT_PRESENCA, 'DD/MM/YYYY')
from tb_serv_motorista
where DT_PRESENCA = to_char(sysdate, 'DD/MM/YYYY')";
sc_lookup(ndata,$sql);
if ({ndata} == {DT_PRESENCA})
{
{ID_SERV_MOTORISTA} = {ndata[0][0]};
{NU_CPF_MOTORISTA} = {ndata[0][1]};
{TP_PRESENCA} = {ndata[0][2]};
{DT_PRESENCA} = {ndata[0][3]};
}Estou querendo saber se alguém sabe alguma forma para resolver isso.
 


Carlos Carucce

  • Intermediário
  • ***
  • Mensagens: 140
Re:Duvida como manipular select e data
« Responder #1 Online: Maio 22, 2012, 10:27:53 am »
Voce está usando o MySQL?

Ele utiliza o formado 'yyyy-mm-dd'
"Existem apenas 10 tipos de pessoas no mundo: As que conhecem e as que não conhecem os numeros binarios"

vitornf

  • Novato
  • *
  • Mensagens: 7
    • Email
Re:Duvida como manipular select e data
« Responder #2 Online: Maio 22, 2012, 10:52:10 am »
Estou usando o to_char para mudar o formato do sysdate.
e dt_presenca e um campo scriptcase com o formato ddmmaaaa
com valor inicial(tipo):data sistema.

where dt_presenca = to_char(sysdate, 'DD/MM/YYYY');
« Última modificação: Maio 22, 2012, 10:57:32 am por vitornf »

Carlos Carucce

  • Intermediário
  • ***
  • Mensagens: 140
Re:Duvida como manipular select e data
« Responder #3 Online: Maio 22, 2012, 11:35:52 am »
Reparei agora que voce não está utilizando os parenteses no sysdate.

Não seria algo como: where dt_presenca = to_char(SYSDATE() , 'DD/MM/YYYY') ??
"Existem apenas 10 tipos de pessoas no mundo: As que conhecem e as que não conhecem os numeros binarios"

vitornf

  • Novato
  • *
  • Mensagens: 7
    • Email
Re:Duvida como manipular select e data
« Responder #4 Online: Maio 23, 2012, 10:35:53 am »
Não fez diferença ! e normalmente quando e erro de sintaxe ele apresenta um erro de construção do select no caso.

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Duvida como manipular select e data
« Responder #5 Online: Maio 23, 2012, 10:52:37 am »
Não entendi você define essa variável.
Código: [Selecionar]
dt_presenca = to_char(sysdate, 'DD/MM/YYYY') //tentei com e sem o select.
Depois no select você faz isso de novo:
Código: [Selecionar]
where DT_PRESENCA = to_char(sysdate, 'DD/MM/YYYY')";
Sem falar que vc utiliza a mesma variável uma hora escrita em maiúsculas e outra hora em minusculas, isso é confuso.

Você esta usando Oracle?
Porque se for mysql acho melhor você usar a função interna do Mysql DATE_FORMAT().

vitornf

  • Novato
  • *
  • Mensagens: 7
    • Email
Re:Duvida como manipular select e data
« Responder #6 Online: Maio 23, 2012, 02:43:27 pm »
O primeiro:
dt_presenca = to_char(sysdate, 'DD/MM/YYYY') //tentei com e sem o select.

foi aplicado na aba SQL do scriptcase ai não precisa cita where.
where dt_presenca = to_char(sysdate, 'DD/MM/YYYY')//forma correta

ja o segundo aplicado no evento onload:

coloquei em maiusculo como teste afim de verificar se faria alguma diferença.
porque na aplicação os campos estão todos em caixa alta.

$sql = "select  ID_SERV_MOTORISTA,NU_CPF_MOTORISTA,TP_PRESENCA ,to_char(DT_PRESENCA, 'DD/MM/YYYY')
from tb_serv_motorista
where DT_PRESENCA = to_char(sysdate, 'DD/MM/YYYY')";
sc_lookup(ndata,$sql);
if ({ndata} == {DT_PRESENCA})
{
{ID_SERV_MOTORISTA} = {ndata[0][0]};
{NU_CPF_MOTORISTA} = {ndata[0][1]};
{TP_PRESENCA} = {ndata[0][2]};
{DT_PRESENCA} = {ndata[0][3]};
}

Tem alguma ideia para apresentar so dados lançados na data atual ? em scriptcase .

vitornf

  • Novato
  • *
  • Mensagens: 7
    • Email
Re:Duvida como manipular select e data
« Responder #7 Online: Maio 28, 2012, 12:19:11 pm »
Alguém conhece uma forma de filtra os dados apresentados no scriptcase  pela data ?
por exemplo tem dados referente ao dia 23/05/2012 mas so pode apresentar referente a data de hoje.

Kleyber

  • Expert
  • *****
  • Mensagens: 2235
    • Email
Re:Duvida como manipular select e data
« Responder #8 Online: Maio 28, 2012, 01:33:07 pm »
Nas definições do campo no Filtro, vc pode escolher a opção Especiais/Normais que entre eles tem a opção da data de hoje, além de outras opções.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

vitornf

  • Novato
  • *
  • Mensagens: 7
    • Email
Re:Duvida como manipular select e data
« Responder #9 Online: Maio 28, 2012, 02:01:43 pm »
Nas definições do campo no Filtro, vc pode escolher a opção Especiais/Normais que entre eles tem a opção da data de hoje, além de outras opções.
E no caso de ser uma aplicação formulario tem ideia de como poderia ser feito ?

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re:Duvida como manipular select e data
« Responder #10 Online: Maio 28, 2012, 05:03:41 pm »
Se foi o que eu entendi, que vc quer filtrar os registros do formulário pela data do dia, acho que se vc colocar uma condição no WHERE do formulário vai funcionar. Tenta usar uma variável global como parâmetro.

Na WHERE do formulário:

campo_data = [var_data]

Em algum lugar do sistema vc precisa inicializar a variável com a data do dia. Eu faria isso ou na aplicação de login ou na aplicação de menu do projeto.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

vitornf

  • Novato
  • *
  • Mensagens: 7
    • Email
Re:Duvida como manipular select e data
« Responder #11 Online: Junho 01, 2012, 11:31:24 am »
Valeu ! o conselho não funcionou !
mas o motivo foi um select que e feito pelo Scriptcase onde ele provoca um erro na where.
Quando resolver posto a solução !

Carlos Carucce

  • Intermediário
  • ***
  • Mensagens: 140
Re:Duvida como manipular select e data
« Responder #12 Online: Junho 01, 2012, 03:36:12 pm »
Acredito que a dica dele nao funcionao pois esqueceu-se das aspas:

campo_data = '[var_data]'

** Talvez **.

É impossivel ter certeza pois o sc tem partes q requerem as aspas e tem partes que se vc coloca-las irá acusar erro.

Só testando
"Existem apenas 10 tipos de pessoas no mundo: As que conhecem e as que não conhecem os numeros binarios"

Kleyber

  • Expert
  • *****
  • Mensagens: 2235
    • Email
Re:Duvida como manipular select e data
« Responder #13 Online: Junho 01, 2012, 04:02:56 pm »
Carlos,

Depende das aspas. O melhor mesmo é usar aspas simples, pois em várias apps aqui quando coloquei aspas duplas, dava erro no parser do SC, pois ele também usa aspas duplas. (ou será o contrário?? rssss)
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Carlos Carucce

  • Intermediário
  • ***
  • Mensagens: 140
Re:Duvida como manipular select e data
« Responder #14 Online: Junho 04, 2012, 04:07:16 pm »
Carlos,

Depende das aspas. O melhor mesmo é usar aspas simples, pois em várias apps aqui quando coloquei aspas duplas, dava erro no parser do SC, pois ele também usa aspas duplas. (ou será o contrário?? rssss)

correto, se vc usar as aspas duplas ele acaba "fechando" a string antes da hora ficando algo como:

""abc123123"" onde deveria ser "'abc123123'"
"Existem apenas 10 tipos de pessoas no mundo: As que conhecem e as que não conhecem os numeros binarios"