Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Fluxo de caixa


Lameira

Pergunta

Olá Galera!!!

Preciso da ajuda de Mestre!!!

Estou montando um projetinho em VB6 de fluxo de caixa, criei duas tabelas, sendo uma para entrada (ent -> numin, codcli, datin, bcoin, chein, valin) e outra para saída (deb -> numout, desout, datout, banout, cheout, valout). Introduzi vários registros em cada uma das tabelas. Eu preciso agora jogar esses registros numa grid demonstrando o fluxo de caixa ($$), os registros devem mostrar por período e deve ser pelo mês anterior, mês atual e por período aleatório.

Para os registros de entrada eu estou usando o seguinte código:

mês atual:

'primeiro dia do mês atual

d1 = DateSerial(Year(Date), Month(Date), 1)

'último dia do mês atual

d2 = DateSerial(Year(Date), Month(Date) + 1, 0)

Set rsentcash = basecash.OpenRecordset("select * from ent where DateValue(dtin) >= DateValue('" & d1 & "') and DateValue(dtin) <= DateValue('" & d2 & "')order by numin")

Set dataent.Recordset = rsentcash

mês anterior:

'primeiro dia do mês atual

d1 = DateSerial(Year(Date), Month(Date) - 1, 1)

'último dia do mês atual

d2 = DateSerial(Year(Date), Month(Date), 0)

Set rsentcash = basecash.OpenRecordset("select * from ent where DateValue(dtin) >= DateValue('" & d1 & "') and DateValue(dtin) <= DateValue('" & d2 & "')order by numin")

Set dataent.Recordset = rsentcash

periodo:

Set rsentcash = basecash.OpenRecordset("select * from ent where DateValue(dtin) >= DateValue('" & d1 & "') and DateValue(dtin) <= DateValue('" & d2 & "')order by numin")

Set dataent.Recordset = rsentcash

esses códigos estão funcionando perfeitamente.

Já para os registros de fluxo de caixa eu já tentei usar os comandos Union e InnerJoin, mas eu nunca havia usado esses comandos e estou quebrando a cabeça com o SQL...

Por favor me ajudem e enviem um declaração em SQL usando esses comandos que se adapte em minha necessidade.

grato :blink:

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

cara, pensando aqui acho que voce so precisava de uma tabela.. no caso das saidas, voce colocava um campo logico onde S = saida e E = entrada

isso seria o que iria dizer o que é pra somar e o q é pra subtrair.

desta forma voce não ia precisar unir duas tabelas..

mas, pra aprender sobre os comandos SLQ, use o contrutor de consultar e depois mande exibir o design em codigo SQL.

Link para o comentário
Compartilhar em outros sites

  • 0

UNION funciona tipo assim, as duas tabelas tem que ter a mesma estrutura e você tem duas formas básicas de trabalhar com ela

SELECT campos FROM tabela1 WHERE condições

UNION

SELECT campos FROM tabela2 WHERE condições;

aí ele junta em uma tabela só os registros únicos

se quiser que permita duplicidade aí usa o UNION ALL

Mas pelo que vi da pra usar UNION cara, menos tabelas no banco, e sem redundância.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...