Fórum Dúvida TADOQuery? #217007
27/02/2004
0
No componente TQuery altero a propriedade RequestLive, qual propried. seria utilizando TADOQuery?
Valeu!
Twbernardes
Curtir tópico
+ 0Posts
27/02/2004
Tnaires
Pode meter Insert no ADO q ele aceita.
Gostei + 0
27/02/2004
Twbernardes
Gostei + 0
27/02/2004
Tnaires
Como vc está fazendo usando BDE?
Coloca aí com detalhes q a gente vê. Não vou sair do fórum agora (são 4 e 10).
Té +
Gostei + 0
27/02/2004
Twbernardes
Vc tem messenger ou ICQ?
Gostei + 0
27/02/2004
Tnaires
Vc disse q logo ao tentar abrir a query dá erro? Talvez haja algo errado no seu SQL. Poste pra nós aí...
Gostei + 0
27/02/2004
Twbernardes
SELECT * FROM TB_USUARIO
TADOQuery2
SELECT * FROM TB_DEPARTAMENTO
Depois insiro um novo campo na TADOQuery1 relacionando com o TADOQuery2 com intuito de apresentar os departamentos em uma combo!
Gostei + 0
27/02/2004
Twbernardes
Não sei se isso ajuda, mas sei usar o compon. TADOTable ou TADODataSet tenho o mesmo erro!
Mas como falei, se não faço o relacionamento, não dá problema!
Gostei + 0
27/02/2004
Tnaires
Nesse caso, é preciso inserir um novo campo na tabela de departamentos que armazene o código do usuário. Então, os SQLs ficariam assim:
SELECT * FROM TB_USUARIOS
SELECT * FROM TB_DEPARTAMENTOS, TB_USUARIOS
WHERE TB_DEPARTAMENTOS.CODUSUARIO = :CODUSUARIO
Depois, crie um DataSource e associe sua propriedade DataSet para a Query de Usuários.
Na Query de Departamentos, associe a propriedade DataSource ao DataSource que vc acabou d criar.
Desta maneira, qdo um registro na tabela de usuários for selecionado, todos os seus departamentos serão mostrados em um controle visual qualquer.
Faça aí e veja se dá certo, blz?
Gostei + 0
27/02/2004
Twbernardes
Vc está passando por parametro o código do usuário, como represento isto utilizando componentes ADO?
Obrigado!
Gostei + 0
27/02/2004
Tnaires
Não precisa passar o parâmetro via código, basta criar essa estrutura e pronto!
Faça um teste:
Ponha dois DBGrids no Form. Associe cada um a um ADOQuery diferente. Vc verá q qdo vc clicar em um usuário no DBGrid1, todos os departamentos relativos a ele serão mostrados no DBGrid2, sem a necessidade d passagem dparâmetros via código (isso já é feito automaticamente).
Só revisando:
TB_USUARIOS
-----------------
CodUsuario - chave primária
etc...
TB_DEPARTAMENTOS
-------------------------
CodDep - chave primária
CodUsuario - chave estrangeira (relaciona-se com TB_USUARIOS.CodUsuario)
etc...
ADOQuery1:
- SQL: SELECT * FROM TB_USUARIOS
ADOQuery2:
- SQL: SELECT * FROM TB_DEPARTAMENTOS
WHERE CODUSUARIO = :CODUSUARIO
Blz?
Gostei + 0
01/03/2004
Twbernardes
* Tenho uma tela de cadastro de usuários e nesta tela preciso entrar com o departamento deste usuário.
* Minhas tabelas são:
TB_USUARIO = ID_USU, NOME_USU, ID_DEPTO...
TB_DEPARTAMENTO = ID_DEPTO, DEPTO.
* Ou seja na minha query preciso relacionar Qu_Usuario com Qu_Departamento e não o contrario!
* Porém eu não posso dar select em duas tabelas na Qu_Usuario pois senão, não conseguiria ter as opções de Inserção, edição, ..., certo?
O que vc acha?
Valeu!
Gostei + 0
02/03/2004
Tnaires
Então é só colocar um DBLookUpComboBox com as seguintes propriedades:
- ListSource: query d departamentos;
- ListField: campo DEPTO;
- KeyField: campo ID_DEPTO.
E na hora d dar o post na query vc atribui a propriedade KeyValue do DBLookUp ao valor do campo ID_DEPTO, assim:
qrUsuariosID_DEPTO.Value := lkDeptos.KeyValue;
Ou, se vc quiser q o Delphi cuide disso, configure o DBLookUp da maneira q segue:
- as mesmas configurações acima;
- DataSource: query d usuários;
- DataField: campo ID_DEPTO da tabela de usuários.
E na query de usuários, vc dá um select só na tabela d usuários.
Acho q agora acertei, né?
Abraços
Gostei + 0
03/03/2004
Twbernardes
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)