Fórum Exibindo registros em DBGrid #207340
18/01/2004
0
Sempre obtive ajuda imprescindivel aqui... tenho certeza q vao me ajudar nessa tb!!!
PS.: Volto amanhã ao Clube, mas não exitem em responder, por gentileza!
Valeu!!
Diorgenes175
Curtir tópico
+ 0Posts
18/01/2004
Marco Salles
Gostei + 0
18/01/2004
Diorgenes175
Na propriedade SQL do Query tenho:
SELECT * FROM TbEntradas
Na procedure do Form Tenho:
Uses
procedure Mostrar_Itens (Codigo : String);
.
.
.
//OBS .: A indexação é feita pelo Cod do Movimento.
procedure TFrmEntradasProdutos.Mostrar_Itens(Codigo: String);
Var
bmkRegistro: TBookMark;
begin
Try
QryItensNF.Close;
QryItensNF.SQL.Clear ;
QryItensNF.SQL.Add (´ SELECT Codigo, CodMov FROM TbEntradas WHERE CodMov =´ + QuotedStr(Codigo ));
QryItensNF.Open;
Except
On e:exception Do
begin
messagedlg(´Erro ao localizar Registro!´ + #1310 + e.message,mterror,[mbok],0);
QryItensNF.Close ;
end;
End;
Para fazer rodar a procedure tenho:
procedure TFrmEntradasProdutos.BtnAdicionarClick(Sender: TObject);
var
CodMov: String;
begin
CodMov:= EdtCodigo.Text;
QryItensNF.Open;
QryItensNF.Locate(´Codigo´, CodMov, [loPartialKey]);
end;
end.
Tentei primeiramente este código, como não deu fiz o seguinte:
procedure TFrmEntradasProdutos.BtnAdicionarClick(Sender: TObject);
begin
Mostrar_Itens(EdtCodigo.Text);
end;
deste jeito eu digitava um codigo de movimento q eu sabia que existia ele ele teoricamente era p buscar. O q ocorre é que ele não valida a condição, ou seja, ele não busca referenciado pela condição. Ele busca todos os registros da tabela, para isso basta ter um campo com um valor qq para ele se referenciar. Por que ocorre isso? É isso o que eu quero saber, como posso solucionar esse problema?
Desculpe não ter informado detalhes... É q na correria...
Valeu!!!
Valeu
Gostei + 0
19/01/2004
Marco Salles
procedure TFrmEntradasProdutos.Mostrar_Itens(Codigo:String);
Var
bmkRegistro: TBookMark; //Acho denecessári para a conjuntura atual :?:
begin
Try
QryItensNF.Close;
QryItensNF.SQL.Clear ;
QryItensNF.SQL.Add (´ SELECT Codigo, CodMov FROM TbEntradas´)
QryItensNF.Sql.Add(´Where CodMov=CodigoPesquisado´);
QryItensNF.ParamByName(´CodigoPesquisado´).asInteger:=StrToInt
* (Codigo)
QryItensNF.Prepare;
QryItensNF.Open;
Except
On e:exception Do
begin
messagedlg(´Erro ao localizar Registro!´ + #1310 + e.message,mterror,[mbok],0);
QryItensNF.Close ;
end;
End;
// a procedure abaixo esta ok...
procedure TFrmEntradasProdutos.BtnAdicionarClick(Sender: TObject);
begin
Mostrar_Itens(EdtCodigo.Text);
end;
e finalmente....Rode o Programa e Veja Se Ele Esta Validando Agora. Se Os Componetes Datasoure, DbGrid e o Query Estiverem Corretamente Conectados, Acho Que Não Terã Problemas. Mas Qualque Comentário Por Favor Me Comunique.
Gostei + 0
19/01/2004
Diorgenes175
QryItensNF.ParamByName(´CodigoPesquisado´).asInteger:=StrToInt *(Codigo);
Ele não reconhece a propriedade ´ParamByName´, considerando ´variável não declarada´. Tentei colocar ´ParamentByName´ e não adiantou ocorrendo o mesmo erro. Tem alguma solução pra isso? Aproveita e me explica nessa linha o termo: ´* (Codigo);´.
Outra: Posso colocar em vez de ´CodigoPesquisado´ somente ´Codigo´, pois é como foi referenciado no título da Procedure???
Valeu a ajuda!!!
Gostei + 0
19/01/2004
Marco Salles
Asterico
QryItensNF.ParamByName(´CodigoPesquisado´).asInteger:=StrToInt (Codigo);
Acredita , Voce Vai Conseguir. Não Desanime.....
Gostei + 0
19/01/2004
Diorgenes175
Desculpa incomodar
Valeu a ajuda!!
Gostei + 0
19/01/2004
Marco Salles
procedure [color=red:ef449a85c1]TFrmEntradasProdutos.Mostrar_Itens; [/color:ef449a85c1]
Var
bmkRegistro: TBookMark; //Acho denecessári para a conjuntura atual
begin
Try
QryItensNF.Close;
QryItensNF.SQL.Clear ;
QryItensNF.SQL.Add [color=red:ef449a85c1](´ SELECT *FROM TbEntradas´) [/color:ef449a85c1]
QryItensNF.Sql.Add(´Where CodMov=CodigoPesquisado´);
QryItensNF.ParamByName(´CodigoPesquisado´).asInteger:=StrToInt [color=red:ef449a85c1](EdtCodigo.Text) [/color:ef449a85c1]
QryItensNF.Prepare;
QryItensNF.Open;
Except
On e:exception Do
begin
messagedlg(´Erro ao localizar Registro!´ + #1310 + e.message,mterror,[mbok],0);
QryItensNF.Close ;
end;
End;
// [color=red:ef449a85c1]Escreva Alguma Coisa No Edit1 e Click No Botão[/color:ef449a85c1]
procedure TFrmEntradasProdutos.BtnAdicionarClick(Sender: TObject);
begin
[color=red:ef449a85c1]Mostrar_Itens; [/color:ef449a85c1]
end;
Tentei Selecionar As Alterações Que Fiz Em Vermelho...
p:s Na Sua Tabela Voce Tem Um Campo Chamado De ´[color=red:ef449a85c1]CodMov´[/color:ef449a85c1] :?: Não Tem :?:
p:s Não é Bicho DeSete Cabeça
Obs : Pode Ter Certeza Que Irá Funcionar.
Quando Compilar e Funcionar Entramos Em Mais Detalhes.
Gostei + 0
19/01/2004
Diorgenes175
procedure Mostrar_Itens;
.
.
.
procedure TFrmEntradasProdutos.Mostrar_Itens;
begin
Try
QryItensNF.Close;
QryItensNF.SQL.Clear ;
QryItensNF.SQL.Add (´ SELECT * FROM TbEntradas´);
QryItensNF.Sql.Add(´Where CodMov=CodigoPesquisado´);
QryItensNF.ParamByName(´CodigoPesquisado´).asInteger:=StrToInt (EdtCodigo.Text);
QryItensNF.Prepare;
QryItensNF.Open;
Except
On e:exception Do
begin
MessageDlg(´Erro ao localizar Registro!´ + #1310 + e.message,mterror,[mbok],0);
QryItensNF.Close ;
end;
End;
end;
procedure TFrmEntradasProdutos.BtnAdicionarClick(Sender: TObject);
begin
Mostrar_Itens;
end;
Tchê, o erro que ocorre é onde diz ´ParamByName´ (QryItensNF.ParamByName(´CodigoPesquisado´).asInteger:=StrToInt (EdtCodigo.Text);). Ele considera variável não declarada. Será q não tem q ter alguma outra propriedade antes de ´ParamByName´, tipo: QryItensNF.(...).ParamByName...???
Tenho sim na tabela de entradas de produtos um campo chamado ´CodMov´.
PS.: Não sei se volto hoje ainda ao forum, mas amanha com certeza!!!
Valeu a Ajuda!
Desculpa incomodar!!
Gostei + 0
19/01/2004
Marco Salles
QryItensNF.Sql.Add(´Where CodMov=CodigoPesquisado´);
O Certo é
[color=red:924bcf7eff]QryItensNF.Sql.Add(´Where CodMov = :CodigoPesquisado´); [/color:924bcf7eff]
Rapaz , Agora Vai. Não É Possivel :P
Obs: Eu Que Errei Ao Te Enviar a Primeira Instrução :oops: Mas Agora Acredito Que Vai..
Gostei + 0
19/01/2004
Marco Salles
QryItensNF.Sql.Add(´Where CodMov=CodigoPesquisado´);
O Certo é
[color=red:2440439230]QryItensNF.Sql.Add(´Where CodMov = :CodigoPesquisado´); [/color:2440439230]
Rapaz , Agora Vai. Não É Possivel :P
Obs: Eu Que Errei Ao Te Enviar a Primeira Instrução :oops: Mas Agora Acredito Que Vai..[/quote:2440439230]
Sabe. Depois Eu Fiquei Pensando Nisso Tudo E Apesar Dos Incríveis Erros Que Lhe Passei (O Primeiro Foi o Asterisco e Depois a Aunsencia Do Ponto Na Instrução Anterior) Chegou a Hora De Raciocinar.
1)A Falta Do Ponto Não Era Para Dar Erro Na Compilação, Mas Sim Na
Execução. Voce Diz Que Nen Compila :?:
2) O Metodo [color=red:2440439230]ParamByName [/color:2440439230]é Um Metodo Da Query, Isto é No Projeto Digite [color=red:2440439230]QryItensNF [/color:2440439230]Depois De Um Ponto Ficando Assim: QryItensNF[color=red:2440439230].[/color:2440439230] Abre-se o Editor De Codigo, Digite Então ´pa´ Ficando-seAssim: QryItensNF.[color=red:2440439230]Pa [/color:2440439230]
Nesse Exato Momento Dá Para Ver o Metodo Aparecer.. Então Se Ele Existe Ele Tem Que Ser Compilado Desde Que Devidamemte Preenchido.
Responda Para Mim . O Método ´ParamByName´ Aparece No Seu Editor De CÓDIGO :?: Eu Espero Que Ele Apareça e Sua Descrição é Esta Que Eu Lhe Passei...Observe Estes Detalhes e Passa Para Mim. Boa Noite
Gostei + 0
20/01/2004
Diorgenes175
Em todos os meus formulários, no botão Sair faço uma verificação se a tabela está em modo de Edição ou de Inserção (DsEdit / DsInsert). Estes comandos (DsEdit / DsInsert) são considerados ´variáveis não declaradas´ se não incluirmos na Uses ´DB´. Pois bem, o q tem isso a ver? Tem q eh o mesmo erro (variavel não declarada) q ocorre com essa Query. Aí eu te pergunto: Será q não tem q incluir alguma clausula na Uses???? O metodo ´ParamByName´ não aparece no Editor de Código. Por isso eu to achando q tem q ter alguma coisa na Uses. Pode ser locura, mas... Ah, e eu ja tentei colocar como comentario essa linha p compilar, e ele aponta para o mesmo erro para o metodo ´Prepare´ na linha de baixo. Pra compilar so deixando essas 2 linhas como comentario...
Valeu a ajuda!!!
Gostei + 0
20/01/2004
Marco Salles
Gostei + 0
20/01/2004
Diorgenes175
:-/
Se o erro for por isso, eh so me conseguir as coordenadas, e já era...
eheheeh!!
Não dá Nada!!!
De qq forma Agradeço a ajuda!!!!
Desculpa incomodar!!
Gostei + 0
20/01/2004
Marco Salles
Gostei + 0
20/01/2004
Marco Salles
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)