Fórum Problema com SQL, DBGrid e DBText #288769
19/07/2005
0
Primeiro uso paradox e delphi5
Fiz um programa num form aonde tenho 4 querys query1 para cadastrar, query2 para somar valores query3 para somar despesa e query4 para mostrar num dbgrid
bom a query1 o datasource esta ligada em outro form (form3.datasource2)
na SQL da query1 esta assim
select * from tbsalario
where codfunc=:codfunc
nas outras querys o datasource estao ligadas na datasource da query1 e o codigo SQL esta assim
query2
select sum (valor) from tbsalario
where codfunc=:codfunc
query3
select sum(desconto) from tbsalario
where codfunc=:codfunc
query4
select * from tbsalario
where codfunc=:codfunc
order by codigo
Isso serve pra quando eu digitar o codigo do funcionario o form pegar somente os valores do funcionario selecionado. (Obs: nao uso chave primaria para esse tipo de ligaçao)
O problema eh que na dbgrid aonde esta a query4 nao aparece o que esta gravado antes de ser confirmada a operaçao tipo dar um post num botao, e assim tambem a query2 e query3 ficam em branco ate confirmar pra depois sim aparecer na dbgrid e dbtext os valores digitados, e se eu tiver que fazer um novo lançamento novamente ficam em branco.
Com fazer pra resolver esse problema, sem precisar fazer chave primaria, pois nao curto essa de chave primaria da muito problema.
Agradeço quem puder me ajudar
Obrigado
Adriano...
Adriano_servitec
Curtir tópico
+ 0Posts
19/07/2005
Daemon
acontece que enquanto você não salva no banco o registro do qry1, o cursor está posicionado em um registro em branco e por consequencia, as outras querys estão posicionadas no ponto a que ele se refere, ou seja, vazio, o lance seria você trocar a forma como esse relacionamento é feito. ....mas qual seria, no caso a necessidade de você ver o que está na Qry2, Qry3 e 4 enquanto está inserindo na Qry principal??
Gostei + 0
20/07/2005
Adriano_servitec
Agora entendi como fazer, nao vi que quando dava um append abria um campo em branco no dbgrid, entao fiz assim quando da um append ja mando um edit com o codfunc e logo um post, assim ele fica gravado antes de terminar o lançamento.
Obrigado
T+
Gostei + 0
20/07/2005
Rjun
Com fazer pra resolver esse problema, sem precisar fazer chave primaria, pois nao curto essa de chave primaria da muito problema.
Tudo bem, cada um trabalha como quer, mas o básico em estrutura de dados é utilizar chave primária. Como que você faz para controlar que não se repita o código?
Com Paradox eu prefiro utilizar TTable. Você pode criar índices para ordenar seus registros sem que esses indices sejam chaves primárias. Com isso, você não precisar criar esse monte de query.
Gostei + 0
20/07/2005
Adriano_servitec
Usei muto a TTable mais acontece que precisava criar chave primaria e arquivos indexados dava muito problema na hora de instalar em outra maquina, as vezes tinha que remolver os arquivos indexados para resolver algum problema com o BD, entao resolvi mudar para query e SQL achei mais interessante e bem mais completo, em questao de de controlar para nao repetir o codigo uso o locate fazendo uma checagem se o codigo ja esta cadastrado.
Bom eu acho que pra mim melhorou dessa forma, nao tenho mais vontade de criar chave primaria.
Blz
T+ amigo
Gostei + 0
20/07/2005
Rjun
Gostei + 0
20/07/2005
Adriano_servitec
Mais como fazer?
Uso o database desktop para criar a tabela e ligo ela no ADO access? ou crio a tabela dentro do access?
Estou disposto, mais ai nao utilizarei mais o BDE?
Se vc me der uma pequena dica como fazer eu aceito pq nunca utilizer nada que nao seja tabela paradox e BDE
Valeu
T+
Gostei + 0
20/07/2005
Rjun
ADOConnection para montar a conexão com o banco que você criou no access.
ADOQuery para você acessar as tabelas. Nela você pode usar order by, fazer joins.
BDE, esqueça. Qualquer máquina com Windows terá o MDAC instalado.
Para fazer a conexão no ADOConnection, coloque ele no DataModule. Dê um duplo clique. Irá abrir a janela de configuração. Clique no botão build, selecione o provider Microsoft Jet. Clique em avançar e aponte para o banco que você criou no access.
Pronto, agora e só apontar a propriedade connection de suas ADOquery´s para o connection que você criou.
Qualquer dúvida é só postar.
Gostei + 0
20/07/2005
Adriano_servitec
Eu abro o MicroSoft Access e crio um novo banco de dados?
Se for como fazer, desculpe nunca usei o access.
Gostei + 0
20/07/2005
Rjun
Gostei + 0
20/07/2005
Adriano_servitec
qualquer coisa posto ai
mais antes so uma pergunta
no paradox uma tabela tipo tbsalario fiz assim
codfunc N
codigo N
descricao A 50
ref a 10
valor $
desconto $
E no access como ficaria?
Outra pergunta, muita gente fala que o paradox nao aguenta muitos dados ele começa a fica lento e as fezes ate travar por falta de capacidade, no access posso incluir supomos uns 50.000 cadastros ou mais?
Gostei + 0
20/07/2005
Rjun
codfunc Numerico
codigo Numerico
descricao char 50
ref char 10
valor monetário
desconto monetário
Tenho um cliente que possui tabelas com mais de 200000 registros e nunca reclamou.
Gostei + 0
20/07/2005
Host
Gostei + 0
20/07/2005
Adriano_servitec
Rogerio nao consegui ativar o ADOQuery, pede uma senha
Q esta errado?
Criei uma tabelinha para fazer um teste, mais nao consigo conectar
Gostei + 0
20/07/2005
Rjun
Gostei + 0
20/07/2005
Adriano_servitec
Sera que eh pq no meu micro nao esta funcionando corretamente o office?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)
Inserção de url
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.