POSSO POR VARIAS TABELAS NUMA FORM?

GUSTAVOSEVERO 09/09/2009 14:18:21
#322404
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
MARCELO.TREZE 09/09/2009 14:53:37
#322408
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.

GUSTAVOSEVERO 10/09/2009 07:36:21
#322454
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.
ROBIU 10/09/2009 08:08:34
#322455
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.
GUSTAVOSEVERO 10/09/2009 10:20:04
#322469
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?
ROBIU 10/09/2009 11:08:57
#322481
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).
TECLA 10/09/2009 11:21:15
#322488
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.
GUSTAVOSEVERO 10/09/2009 13:14:12
#322498
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.
ROBIU 10/09/2009 13:25:10
#322500
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.
GUSTAVOSEVERO 12/09/2009 07:47:13
#322686
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.
ROBIU 14/09/2009 14:48:29
#322821
Manda o banco para uma análise.
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas