POSSO POR VARIAS TABELAS NUMA FORM?
Oi Pessoal
Tenho várias forms para cada dado que insiro no meu programa e cada form com sua respectiva tabela de BD.
Posso criar uma única form e no código SQL colocar todas as tabelas que eu for usar para inserir dos dados? Fazer algo assim:
[Ô]Set adoBDSaoJose = New Recordset
adoBDSaoJose.Open [Ô]select * from AVista,VendaAPrazoChequesPré,VendaValeCliente_RedeForte,ValeEmpregado,Convenio_CartaoCredito,TicketsAlimRefeição,VendasDiversasPF,VendaEventual,VendaDiversos,Devoluções,OutrasAtividadesPec,ReembolsoRecuperaçaoDespesas,JurosDescontosAtivos,RendaEventualImobilizado[Ô], db, adOpenStatic, adLockOptimistic[Ô]
Os nomes em negrito são os nomes das tabelas.
Valeu.
Abraço
Tenho várias forms para cada dado que insiro no meu programa e cada form com sua respectiva tabela de BD.
Posso criar uma única form e no código SQL colocar todas as tabelas que eu for usar para inserir dos dados? Fazer algo assim:
[Ô]Set adoBDSaoJose = New Recordset
adoBDSaoJose.Open [Ô]select * from AVista,VendaAPrazoChequesPré,VendaValeCliente_RedeForte,ValeEmpregado,Convenio_CartaoCredito,TicketsAlimRefeição,VendasDiversasPF,VendaEventual,VendaDiversos,Devoluções,OutrasAtividadesPec,ReembolsoRecuperaçaoDespesas,JurosDescontosAtivos,RendaEventualImobilizado[Ô], db, adOpenStatic, adLockOptimistic[Ô]
Os nomes em negrito são os nomes das tabelas.
Valeu.
Abraço
Colega cuidado, as vezes no intuito de tornar o programa mais enxuto cometemos alguns erros.
o que você deve analizar, todas atenuantes,
primeiro, para pesquisar você poderá usar varias tabelas em uma unica query porem para inserir os dados seria uma query para cada tabela
além disto vem os campos, cada tabela possui uma quantidade distinta campos, nem sempre são as mesmas quantidade.
outra coisa seria o problema para localizar um erro caso houvesse, já pensou?
então continue como está e mais fácil asssim.
o que você deve analizar, todas atenuantes,
primeiro, para pesquisar você poderá usar varias tabelas em uma unica query porem para inserir os dados seria uma query para cada tabela
além disto vem os campos, cada tabela possui uma quantidade distinta campos, nem sempre são as mesmas quantidade.
outra coisa seria o problema para localizar um erro caso houvesse, já pensou?
então continue como está e mais fácil asssim.
Oi Marcelo
Eu testei e consegui fazer o que eu queria, porém, quando chamo a form, demora pra aparecer ou carregar, não sei.
Eu testei e consegui fazer o que eu queria, porém, quando chamo a form, demora pra aparecer ou carregar, não sei.
Eu evito ao máximo deixar a conexão com o banco aberta. Em um módulo, coloco duas funções: uma para conectar e outra para desconectat. Tambem só uso uma Variável RS para abrir todas tabelas. Fica assim.
1 - Abro a conexão
2 - Acesso a tabela com um select
3 - Pego os dados e coloco na grid, textbox etc
4 - Fecho o rs
5 - Fecho a conexão
Parece desnecessário várias tabelas abertas. Vai exigir muito do sistema tambem. E se for access em rede (com mais de um user) é perda de dados na certa.
1 - Abro a conexão
2 - Acesso a tabela com um select
3 - Pego os dados e coloco na grid, textbox etc
4 - Fecho o rs
5 - Fecho a conexão
Parece desnecessário várias tabelas abertas. Vai exigir muito do sistema tambem. E se for access em rede (com mais de um user) é perda de dados na certa.
ROBIU
Em que parte do sistema você abre a conexão ou as tabelas e fecha depois?
E como são essas funções que você coloca no módulo?
Em que parte do sistema você abre a conexão ou as tabelas e fecha depois?
E como são essas funções que você coloca no módulo?
Veja esse exemplo. Observe no load do form. Abre a conexão, Abre o RS, carrega a grid, Fecha o Rs, Fecha a conexão. Para salvar ou incluir, o mesmo procedimento. Note que o Rs está fechado, portanto pode ser aberto com outros selects( até de outras tabelas).
Citação:GUSTAVOSEVERO escreveu:
Oi Marcelo
Eu testei e consegui fazer o que eu queria, porém, quando chamo a form, demora pra aparecer ou carregar, não sei.
Da forma como está fazendo a QUERY, tem mesmo que demorar.
Citação:ROBIU escreveu:
Eu evito ao máximo deixar a conexão com o banco aberta. Em um módulo, coloco duas funções: uma para conectar e outra para desconectat. Tambem só uso uma Variável RS para abrir todas tabelas. Fica assim.
1 - Abro a conexão
2 - Acesso a tabela com um select
3 - Pego os dados e coloco na grid, textbox etc
4 - Fecho o rs
5 - Fecho a conexão
Parece desnecessário várias tabelas abertas. Vai exigir muito do sistema tambem. E se for access em rede (com mais de um user) é perda de dados na certa.
Eis uma solução apropriada.
Siga a dica do colega.
ROBIU
Muitas linhas dos teus códigos eu não entendi, porém, entendi que eu devo criar um comando sql no módulo, certo? Ou seja, essa linha:
[Ô]Set adoBDSaoJose = New Recordset
adoBDSaoJose.Open [Ô]select * from AVista,VendaAPrazoChequesPré,VendaValeCliente_RedeForte,ValeEmpregado,Convenio_CartaoCredito,TicketsAlimRefeição,VendasDiversasPF,VendaEventual,VendaDiversos,Devoluções,OutrasAtividadesPec,ReembolsoRecuperaçaoDespesas,JurosDescontosAtivos,RendaEventualImobilizado[Ô], db, adOpenStatic, adLockOptimistic[Ô]
Correto?
Pois, o que quero fazer é, em uma única form, manipular dados de diferentes tabelas do meu banco de dados.
Abraçp.
Muitas linhas dos teus códigos eu não entendi, porém, entendi que eu devo criar um comando sql no módulo, certo? Ou seja, essa linha:
[Ô]Set adoBDSaoJose = New Recordset
adoBDSaoJose.Open [Ô]select * from AVista,VendaAPrazoChequesPré,VendaValeCliente_RedeForte,ValeEmpregado,Convenio_CartaoCredito,TicketsAlimRefeição,VendasDiversasPF,VendaEventual,VendaDiversos,Devoluções,OutrasAtividadesPec,ReembolsoRecuperaçaoDespesas,JurosDescontosAtivos,RendaEventualImobilizado[Ô], db, adOpenStatic, adLockOptimistic[Ô]
Correto?
Pois, o que quero fazer é, em uma única form, manipular dados de diferentes tabelas do meu banco de dados.
Abraçp.
Errado! Só abre a tabela na hora que vai usar e depois fecha. Você quer abrir todas tabelas de uma vez. Qual a finalidade e onde vai usar tantos campos. Cria uma consulta no access com essas tabelas e todos os campos que você verá o absurdo de registros que vai ter, alem de muitos registros repetidos. Vai sobrecarregar seu sistema e vai dá pau. Manda o projeto para uma análise.
Oi ROBIU
Estou fazendo isso pelo seguinte.
Quando eu estava no meio do desenvolvimento do meu sistema, notei que muitos dados, ou melhor, todos os dados teriam que ter, cada um, sua própria tabela, pois tem muitos cálculos com os dados, todos, individuais... E como não conhecia muito, não entendi muito de SQL e Access, achei melhor criar uma tabela para cada dado, pois como fazer para, somar, diminuir, multiplicar, dividir, alguns dados da mesma tabela? Pois a pessoa que me ensinou a usar VB6 e SQL, nunca me explicou isso!!
Hoje tenho, para cada dado, uma form para inseri-lo no sistema e sua respectiva tabela e notei que vai ficar ruim utilizar o sistema, tendo que abrir cada form quando quer cadastrar um dados... Então achei melhor criar uma form que chama uma, tipo, uma tabela para cadastrar vários dados ao mesmo tempo, entende? Só que como te falei, cada dado tem sua tabela! heheheh
Valeu,
Abraço.
Estou fazendo isso pelo seguinte.
Quando eu estava no meio do desenvolvimento do meu sistema, notei que muitos dados, ou melhor, todos os dados teriam que ter, cada um, sua própria tabela, pois tem muitos cálculos com os dados, todos, individuais... E como não conhecia muito, não entendi muito de SQL e Access, achei melhor criar uma tabela para cada dado, pois como fazer para, somar, diminuir, multiplicar, dividir, alguns dados da mesma tabela? Pois a pessoa que me ensinou a usar VB6 e SQL, nunca me explicou isso!!
Hoje tenho, para cada dado, uma form para inseri-lo no sistema e sua respectiva tabela e notei que vai ficar ruim utilizar o sistema, tendo que abrir cada form quando quer cadastrar um dados... Então achei melhor criar uma form que chama uma, tipo, uma tabela para cadastrar vários dados ao mesmo tempo, entende? Só que como te falei, cada dado tem sua tabela! heheheh
Valeu,
Abraço.
Manda o banco para uma análise.
Tópico encerrado , respostas não são mais permitidas