Erro na query
08/03/2006
0
tenho 2 formularios de cadastro ...
2 querys em um datamodule ...
eu alterno as 2 querys entre os 2 formularios de cadastro ...
para alternar entre as tabelas uso o seguinte codigo ...
cadastro de armadores
DmPrincipal.OpenQy(DmPrincipal.QyCad,´select * from tbarmadores´); DmPrincipal.OpenQy(DmPrincipal.QyCadDetail,´select * from tbarmadores where codarmador = :codarmador´); Application.CreateForm(TFrmCadArmadores,FrmCadArmadores); Application.CreateForm(TFrmArmadoresContato,FrmArmadoresContato);
cadastro de agentes de carga
DmPrincipal.OpenQy(DmPrincipal.QyCad,´select * from tbagentescarga´); DmPrincipal.OpenQy(DmPrincipal.QyCadDetail,´select * from tbagentescargacontatos where codagente = :codagente´); Application.CreateForm(TFrmCadAgente,FrmCadAgente); Application.CreateForm(TFrmAgenteContato,FrmAgenteContato); Application.CreateForm(TFrmCadAgenteContato,FrmCadAgenteContato);
por exemplo, s eeu entrar no form de armadores e depois sair e entrar no de agentes da pau ...
ele da a seguinte mensagem .. field ´codarmador´ not found .....
o procedimento openqy é o seguinte ...
procedure TDmPrincipal.OpenQy(Qy: TADOQuery; tb: string); begin Qy.Close; Qy.SQL.Clear; Qy.SQL.Text:= tb; Qy.Open; end;
alguem sabe me dizer, ou tem uma ideia da causa deste erro
Rafael Gomes
Posts
08/03/2006
Rafael Gomes
isso eu sei ...
vejam bem ... quando eu executo u form por vez, fecho o programa e executo somente o outro nao da erro algum ...
o porblema esta ocorrendo na hora de alternar as tabelas da query..
08/03/2006
Rafael Gomes
procedure TFrmPrincipal.Button1Click(Sender: TObject); begin DmPrincipal.OpenQy(DmPrincipal.QyCad,´select * from tbagentescarga´); DmPrincipal.OpenQy(DmPrincipal.QyCadDetail,´select * from tbagentescargacontatos where codagente = :codagente´); label1.Caption:= ´agentes´; end; procedure TFrmPrincipal.Button2Click(Sender: TObject); begin DmPrincipal.OpenQy(DmPrincipal.QyCad,´select * from tbarmadores´); DmPrincipal.OpenQy(DmPrincipal.QyCadDetail,´select * from tbarmadores where codarmador = :codarmador´); label1.Caption:= ´armadores´; end;
fiz esse codigo pra testar ...
quando seto a tabela de armador e depois clico no botao1 da um erro pedindo a chave primaria de armador
e vice e versa ...
se eu tirar as linhas referentes a QyCadDetail funciona perfeitamente ... o problema deve estar na estrutura detalhe ...
agora me digam pq???
=/
09/03/2006
Rafael Gomes
só nao sei como resolver ...
alguem poderia me ajudar?
[]s
09/03/2006
Martins
só nao sei como resolver ...
alguem poderia me ajudar?
[]s[/quote:55a10d94ff]
Seu banco de dados é MS-Access ou MS Sql-Server?
Caso seja SQL-Server vc não poderia montar um view dentro do Banco e só chamar?
09/03/2006
Rafael Gomes
09/03/2006
Martins
vc poderia usar [color=brown:7b6a71b9a2][b:7b6a71b9a2]join[/b:7b6a71b9a2][/color:7b6a71b9a2] para fazer a junção das duas tabelas ou não?
Esse mestre datalhe será usado em inserções, edições ou apenas na visualização (navegação) de registros?
09/03/2006
Rafael Gomes
em insercoes, edicoes, e visualizacoes ....
apenas repetindo o conteudo da mp
09/03/2006
Rafael Gomes
ai esta um link para baixar um pequeno exemplo ... esta dando erro .. se alguem puder baixar para dar uma olhada agradeceria ...
[]sss
09/03/2006
Martins
ai esta um link para baixar um pequeno exemplo ... esta dando erro .. se alguem puder baixar para dar uma olhada agradeceria ...
[]sss[/quote:cbde528b7d]
Baixei o exemplo e vou tentar dar uma olhada nele.
10/03/2006
Martins
Ando meio sem tempo, mas esse fds dou uma olhada no teu exemplo, e vejo o q posso fazer.
valew!!
:wink:
Clique aqui para fazer login e interagir na Comunidade :)