Calcular Dias de Atraso de uma conta no DBGrid

27/06/2019

10

Olá a todos,
Sou novo em programação Delphi e estou desenvolvendo um controle financeiro com banco de dados Firebird 2.5 e na minha tela de contas a Receber ao abrir ela eu preciso que seja visualizado na minha dbgrid os dias de atraso de cada conta vencida, e após a cada consulta seja atualizados os dados da grid automaticamente também. só que não sei como faço isso .

Alguém pode me ajudar, ou me dar um caminho. Obrigado.
Responder

Post mais votado

27/06/2019

Select

/*diferenca de dias entre a data de DATAADMISSAO e a data atual*/

datediff(day from DATAADMISSAO to current_timestamp) DIAS

só adicionar na consulta e colocar o campo no grid
Responder

Mais Posts

27/06/2019

Josenildo Rosa

Select

/*diferenca de dias entre a data de DATAADMISSAO e a data atual*/

datediff(day from DATAADMISSAO to current_timestamp) DIAS

só adicionar na consulta e colocar o campo no grid




Bruno obrigado pelo retorno,

Mas me explica melhor esse comando datediff, no caso day é o campo vencimento ? e DATAADMISSAO é o nome da TAbela ?
Responder

27/06/2019

Josenildo Rosa

Select

/*diferenca de dias entre a data de DATAADMISSAO e a data atual*/

datediff(day from DATAADMISSAO to current_timestamp) DIAS

só adicionar na consulta e colocar o campo no grid




Bruno obrigado pelo retorno,

Mas me explica melhor esse comando datediff, no caso day é o campo vencimento ? e DATAADMISSAO é o nome da TAbela ?


Eu consegui aqui usando o comando, mas me explica aqui.

A minha query está montada assim:

SELECT R.CR_ID, R.B_ID, R.V_ID, R.E_ID, R.CLI_ID, R.SCC_ID, R.CR_NF, R.CR_TITULO, R.CR_TPAG, R.CR_ANO,
R.CR_MES, R.CR_DATA, R.CR_VENC, R.CR_REST, R.CR_PAGO, R.CR_TOTAL, B.B_NOME, E.E_NOME, C.CLI_NOME, S.SCC_NOME
FROM CRECEBER R
INNER JOIN BANCOS B ON (R.B_ID = B.B_ID)
INNER JOIN EMPRESA E ON (R.E_ID = E.E_ID)
INNER JOIN CLIENTES C ON (R.CLI_ID = C.CLI_ID)
INNER JOIN SUBCUSTO S ON (R.SCC_ID = S.SCC_ID)

eu posso acrescentar o comando que me passou nela, se sim neste caso como ficaria ?

Responder

27/06/2019

Josenildo Rosa

Select

/*diferenca de dias entre a data de DATAADMISSAO e a data atual*/

datediff(day from DATAADMISSAO to current_timestamp) DIAS

só adicionar na consulta e colocar o campo no grid




Bruno obrigado pelo retorno,

Mas me explica melhor esse comando datediff, no caso day é o campo vencimento ? e DATAADMISSAO é o nome da TAbela ?


Eu consegui aqui usando o comando, mas me explica aqui.

A minha query está montada assim:

SELECT R.CR_ID, R.B_ID, R.V_ID, R.E_ID, R.CLI_ID, R.SCC_ID, R.CR_NF, R.CR_TITULO, R.CR_TPAG, R.CR_ANO,
R.CR_MES, R.CR_DATA, R.CR_VENC, R.CR_REST, R.CR_PAGO, R.CR_TOTAL, B.B_NOME, E.E_NOME, C.CLI_NOME, S.SCC_NOME
FROM CRECEBER R
INNER JOIN BANCOS B ON (R.B_ID = B.B_ID)
INNER JOIN EMPRESA E ON (R.E_ID = E.E_ID)
INNER JOIN CLIENTES C ON (R.CLI_ID = C.CLI_ID)
INNER JOIN SUBCUSTO S ON (R.SCC_ID = S.SCC_ID)

eu posso acrescentar o comando que me passou nela, se sim neste caso como ficaria ?






Consegui, eu fiz o seguinte:

SELECT R.CR_ID, R.B_ID, R.V_ID, R.E_ID, R.CLI_ID, R.SCC_ID, R.CR_NF, R.CR_TITULO, R.CR_TPAG, R.CR_ANO,
R.CR_MES, R.CR_DATA, R.CR_VENC, R.CR_REST, R.CR_PAGO, R.CR_TOTAL, B.B_NOME, E.E_NOME, C.CLI_NOME, S.SCC_NOME,
DATEDIFF(day FROM CR_venc TO current_timestamp) DIAS
FROM CRECEBER R INNER JOIN BANCOS B ON (R.B_ID = B.B_ID)
INNER JOIN EMPRESA E ON (R.E_ID = E.E_ID)
INNER JOIN CLIENTES C ON (R.CLI_ID = C.CLI_ID)
INNER JOIN SUBCUSTO S ON (R.SCC_ID = S.SCC_ID)

e me retornou.

Muito obrigado Amigo Bruno.
Responder

27/06/2019

Josenildo Rosa

Consegui, eu fiz o seguinte:

SELECT R.CR_ID, R.B_ID, R.V_ID, R.E_ID, R.CLI_ID, R.SCC_ID, R.CR_NF, R.CR_TITULO, R.CR_TPAG, R.CR_ANO,
R.CR_MES, R.CR_DATA, R.CR_VENC, R.CR_REST, R.CR_PAGO, R.CR_TOTAL, B.B_NOME, E.E_NOME, C.CLI_NOME, S.SCC_NOME,
DATEDIFF(day FROM CR_venc TO current_timestamp) DIAS
FROM CRECEBER R INNER JOIN BANCOS B ON (R.B_ID = B.B_ID)
INNER JOIN EMPRESA E ON (R.E_ID = E.E_ID)
INNER JOIN CLIENTES C ON (R.CLI_ID = C.CLI_ID)
INNER JOIN SUBCUSTO S ON (R.SCC_ID = S.SCC_ID)

e me retornou os dias conforme desejava.

Muito obrigado Amigo Bruno.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar