Autor Tópico: Tem como Criar campo da consulta dinamicamente?  (Lida 396 vezes)

julianosc

  • Novato
  • *
  • Mensagens: 31
    • Email
Tem como Criar campo da consulta dinamicamente?
« Online: Abril 07, 2016, 02:07:26 pm »
Olá pessoal!

Gostaria de saber se tem como criar campos da consulta dinamicamente, uma macro ou função?
Exemplo:
Tenho uma lista de fornecedores e gostaria de deixar a estrutura assim:
SELECT fornecedor_nome FROM tab_fornecedor

Mês/AnoFornecedor Fulano|Fornecedor Beltrano|Fornecedor Orelhando|Fornecedor Narigando|Fornecedor ETC|
01/2016
215,45|
845,80|
367,12|
145,90|
300,60|
02/2016
450,00|
90,20|
254,70|
100,00|
88,25|

Desde já agradeço a atenção, muito obrigado!


Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 177
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #1 Online: Abril 07, 2016, 02:13:28 pm »
Você pode montar isso usando uma aplicação do tipo consulta, e configurar as quebras conforme o seu exemplo.
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

julianosc

  • Novato
  • *
  • Mensagens: 31
    • Email
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #2 Online: Abril 07, 2016, 02:27:36 pm »
Já tentei isso, mas não é possível, os dados ficam nas linhas e aparece as colunas somente aquelas definidas no select ou campos pré incluído da aplicação. E o Pivot Table no resumo também não me ajuda porque limita a customização e ações.

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 177
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #3 Online: Abril 07, 2016, 02:34:57 pm »
Você quer usar colunas que não fazem parte do select? Não entendi por que você não conseguiu fazer, tirando a primeira coluna você deveria conseguir montar este relatório.
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

julianosc

  • Novato
  • *
  • Mensagens: 31
    • Email
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #4 Online: Abril 07, 2016, 04:04:48 pm »
Estrutura das minhas tabelas:
tabela_financeiro
Campos: ID, data, id_fornecedor, valor_lancamento

tabela_fornecedor
Campos: ID, nome_fornecedor

Quero fazer uma consulta que me mostre total lançamento do fornecedor agrupado por Data, daew o resultado no Scriptcase sai assim:

SELECT FI.data, FO.nome_fornecedor, FI. valor_lancamento FROM tabela_financeiro AS FI INNER JOIN tabela_fornecedor AS FO ON FI.id_fornecedor  = FO.ID  WHERE FI.data > 2016-03-01 GROUP BY data

O resultado vai ser esse:
data                        |   nome_fornecedor      |      valor.lancamento
01/03/2016             |   Falano de tal             |    1.254,23
01/03/2016             |   Siclano de Almeida    |    5.872,12
02/03/2016             |   Falano de tal             |    6.542,98
02/03/2016             |   Siclano de Almeida    |    7.452,55
Etc........
O Scriptcase só cria esses 3 campos
Eu queria o resultado assim:

data                  |         Fulano de tal      |      Siclano de Almeida    |  continua...
01/03/2016       |               1.254,23      |                    5.872,12     |
01/03/2016       |               6.542,98      |                    7.452,55     |
Etc........


Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #5 Online: Abril 07, 2016, 04:11:33 pm »
crie uma tabela, no evento onscriptinit, limpee os dados e realimente-a a gosto, a consulta deve ter o select nessa tabela.

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #6 Online: Abril 07, 2016, 04:11:55 pm »
Você vai ter que através de SELECT SQL, no banco fazer o SQL para já trazer os dados, depois é só colocar em uma consulta do SCRIPTCASE que ele mostra do jeito que você quer.

O Tipo de consulta que você deseja criar chama-se /Pivot table.

Tenho exemplos do como fazer usando o MySQL:
Exemplo 1:
https://en.wikibooks.org/wiki/MySQL/Pivot_table

Exemplo 2:
http://www.devmedia.com.br/utilizando-pivot-table/4565
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

julianosc

  • Novato
  • *
  • Mensagens: 31
    • Email
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #7 Online: Abril 07, 2016, 04:20:45 pm »
Jailton, Pivot é só para o resumo, queria fazer isso na consulta detalhada.

Haroldo, não tenho muita experiência no SC, como eu crio uma tabela, no evento onscriptinit?

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #8 Online: Abril 07, 2016, 05:49:07 pm »
Jailton, Pivot é só para o resumo, queria fazer isso na consulta detalhada.

Haroldo, não tenho muita experiência no SC, como eu crio uma tabela, no evento onscriptinit?


Sim o Pivot vai ser a consulta detalhada, é isso que o Haroldo te falou no exemplo 1 que passei, tem o exemplo como criar uma tabela temporária para você popular ela com os registros,
que você quer mostrar no detalhe.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

julianosc

  • Novato
  • *
  • Mensagens: 31
    • Email
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #9 Online: Abril 07, 2016, 05:58:19 pm »
No PHP fica fácil fazer isso, é só fazer um select para achar os fornecedores no período desejado, onde monta as colunas, depois é só fazer um select na tabela financeiro para preencher as linhas. Mas vou tentando achar uma forma de fazer no SC isso.

Willian Fernando

  • Expert
  • *****
  • Mensagens: 1154
  • .....
    • Email
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #10 Online: Abril 07, 2016, 08:40:02 pm »
coisa meio tosca para esses dados si tiver 100 fornecedores o cara vai ficar com uma barra horizontal enorme., horrivel

julianosc

  • Novato
  • *
  • Mensagens: 31
    • Email
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #11 Online: Abril 08, 2016, 08:27:22 am »
coisa meio tosca para esses dados si tiver 100 fornecedores o cara vai ficar com uma barra horizontal enorme., horrivel

Pô Willian, claro que tem um filtro antes, mas não quero limitar, se o cliente querer 5, 10, 20, etc ele pode! Do que adianta fazer sistema limitado? Eu só queria saber se tem como criar colunas dinamicamente, em vez de pré definas, por que isso abriria um leque de possibilidades.

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #12 Online: Abril 08, 2016, 09:34:10 am »
coisa meio tosca para esses dados si tiver 100 fornecedores o cara vai ficar com uma barra horizontal enorme., horrivel

Pô Willian, claro que tem um filtro antes, mas não quero limitar, se o cliente querer 5, 10, 20, etc ele pode! Do que adianta fazer sistema limitado? Eu só queria saber se tem como criar colunas dinamicamente, em vez de pré definas, por que isso abriria um leque de possibilidades.

É possível que você consiga usando quebras e o Resumo Matriz do Scriptcase, já configura em vez de abrir consulta para abrir direto no Resumo, ai possivelmente pode dar certo, com o limite de clientes sendo filtrado antes no filtro da consulta, as colunas
são criadas dinamicamente.

Link do exemplo do próprio Scriptcase:
http://www.scriptcase.com.br/exemplos-scriptcase/relatorios-php/resumo-matriz/ clica embaixo em [TUTORIAL]
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

julianosc

  • Novato
  • *
  • Mensagens: 31
    • Email
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #13 Online: Abril 08, 2016, 12:44:09 pm »
Jailton, não queria fazer no resumo, mas vou acabar fazendo mesmo. Vou criar uma view no BD, porque preciso fazer uns campos com calculo antes de criar a aplicação e buscar as informações.
Muito obrigado a todos pela ajuda! como sempre todos são muito prestativos aqui no forum, e isso só engrandece ainda mais essa ferramenta.

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Tem como Criar campo da consulta dinamicamente?
« Responder #14 Online: Abril 08, 2016, 02:30:09 pm »
Você cria a tabela no banco de dados, cria a consulta em cima dessa tabela.
No evento ncriptinit, vc limpa a tabela e alimenta ela,   pode ser uma stored procedure ou por php mesmo.

Jailton, Pivot é só para o resumo, queria fazer isso na consulta detalhada.

Haroldo, não tenho muita experiência no SC, como eu crio uma tabela, no evento onscriptinit?