Criar tabela em tempo de Execucao
Enviado: Agosto 31st, 2016, 2:25 pm
por Daniel de Morais
Boa tarde !
Estou montando um controle bancário onde o cliente possui "n" contas.
Eu não gostaria de criar uma tabela única com chaves para distingui-las pois ela vai ficar gigantesca, pensei em criar uma tabela para cada conta.
No Xmaker é possível criar uma tabela em tempo de execução ?
Ou se alguém der uma outra sugestão para que eu possa solucionar isso , agradeço de coração.
Vi que o Xmaker tem um exemplo financeiro com emissor NFe mas não consegui localizá-lo para download.
Abraços !
Re: Criar tabela em tempo de Execucao
Enviado: Janeiro 4th, 2017, 10:46 pm
por andrec
Caro Daniel,
Se esta tabela vai ficar grande o suficiente para que uma tabela do Firebird não seja capaz de gerenciar significa que o seu sistema e o seu cliente deve ter um porte que talvez nem o Xmaker seja recomendado como plataforma para desenvolvimento.
O que quero dizer é que você pode trabalhar com tabelas com milhares de registros nos projetos do Xmaker sem problema algum.
Talvez, o único cuidado que você precisa ter em tabelas realmente grandes é criar um filtro de inicialização (Propriedade Filtro Inicial) na tabela para evitar que todos os registros sejam carregados de uma única vez em uma grid.
De resto, os sistemas desenvolvidos com Xmaker suportam bem grandes volumes de dados.
Eu tenho sistemas com tabelas de movimento como Contas a Receber, Matrículas, Vendas, Itens de Venda, que são tabelas com milhares de registros (10, 15, 20 mil registros) e o sistema se comporta de forma aceitável.
De qualquer forma, se sua idéia for mesmo criar tabelas em tempo de execução você pode dar estudar os fontes de TABELA.PAS que tem todas as rotinas para criação de uma tabela em tempo de execução. Você pode olhar também os fontes do Adapter que fazem isso também.
Mas lembre-se que talvez tenha que ficar usando Joins entre tabelas na hora de criar relatórios e isto vai te limitar no uso do gerador de relatórios do Xmaker pois terá que fazer tudo via SQL. Além disto, nem todas as versões do firebird suportam UNION caso escolha usar este banco de dados.
Espero ter contribuído para suas decisões...
Abraço e boa sorte!