Olá fiz, as alterações, verifiquei as conexões da query, com o banco... vi o 
campo está correto, mas continua dando o erro "QryConsulta: Field 
'Cod_antibiotico' is of an unknown type." Será tipo de variavel incopativel? 

Se for, como converto para ficar compativel as variveis?

Lembrando: estou usando o banco Paradox do delphi mesmo  {campos tabela
tb_antibioticos: Cod_antibiotico (tipo Alpha - Chave)| Nome_antibiotico
(tipo Alpha) }.

--- Em seg, 2/11/09, pablo freitas <pablojfrei...@yahoo.com.br> escreveu:

De: pablo freitas <pablojfrei...@yahoo.com.br>
Assunto: Re: Res: [delphi-br] retornar valor funçao que contem banco
Para: delphi-br@yahoogrupos.com.br
Data: Segunda-feira, 2 de Novembro de 2009, 11:46






 




    
                  

Olá Luciano, muito obrigado mesmo pela ajuda.... Começou a iluminar o meu 
programa,só que agora, está dando erro de "QryConsulta: Field 'Cod_antibiotico' 
is of an unknown type."  



Eu acho que o tipo de parametro passado não está bantendo com o tipo do banco:

Lembrando: estou usando o banco Paradox do delphi mesmo  {campos tabela 
tb_antibioticos: Cod_antibiotico (tipo Alpha - Chave)| Nome_antibiotico (tipo 
Alpha) }



e o codigo:

function nome_anti(codigo: string):string;

begin

    with form2 do

    begin

       QryConsulta. Close;

        QryConsulta. SQL.Clear;

QryConsulta. SQL.text: ='select Nome_antibiotico from tb_antibioticos Where 
Cod_antibiotico = :Cod_antibiotico' ;

        qryConsulta. Open;

        QryConsulta. ParamByName( 'Cod_antibiotico ').AsString := codigo;

       Result:= QryConsulta. FieldByName( 'Nome_Antibiotic o').AsString;

       QryConsulta. Close;

    end;



end;



procedure TForm1.CBox1Select( Sender: TObject);



begin



edit1.Text:= nome_anti(CBox1. Text);



end;



Obrigado

--- Em seg, 2/11/09, Luciano Calenzani Simões <simoesluciano@ yahoo.com. br> 
escreveu:



De: Luciano Calenzani Simões <simoesluciano@ yahoo.com. br>

Assunto: Res: [delphi-br] retornar valor funçao que contem banco

Para: delphi...@yahoogrup os.com.br

Data: Segunda-feira, 2 de Novembro de 2009, 7:35



 



Esta tua função está estranha, recebe nome como parâmetro e retorna a mesma 
coisa? Não deveria receber um código e retornar a descrição?



Sem entrar em mais detalhes sobre a melhora neste seu processo, basta você 
fazer:



QryConsulta. SQL.Text := 'select Nome_antibiotico from tb_antibioticos ' +



'where Cod_antibiotico = :Cod_antibiotico' ;



QryConsulta. ParamByName( 'Cod_antibiotico ').AsInteger := Codigo;



QryConsulta. Open;



Result := QryConsulta. FieldByName( 'Nome_Antibiotic o').AsString;



QryConsulta. Close;



Obs.: Tente fazer um join entre as duas tabelas, assim você já busca a 
descrição do remédio sem precisar ficar selecionamento na base de dados sempre 
que selecionar outro item no combo.



Para que esse "with form2 do"? Por que você não cria um método independente de 
form? Esse negócio de ficar fazendo referência direta entre forms é a maior 
furada.



Luciano Calenzani Simões



____________ _________ _________ __



De: pablo freitas <pablojfreitas@ yahoo.com. br>



Para: delphi...@yahoogrup os.com.br



Enviadas: Domingo, 1 de Novembro de 2009 11:19:50



Assunto: [delphi-br] retornar valor funçao que contem banco



Olá pessoal, estou com um problema, eu fiz uma query só para buscar dados do 
meu banco. Porém não consigo retornar o valor da minha função, o programa trava 
quando chega no acesso.Eu quero fazer toda vez, que eu selecionar um item da 
combox, o edit ao lado dele, retorne o valor do banco.



function nome_anti(nome: string):string;



begin



{campos tabela tb_antibioticos: Cod_antibiotico| Nome_antibiotico }



with form2 do



begin



QryConsulta. Close;



QryConsulta. Open;



QryConsulta. Active:=true;



QryConsulta. SQL.Clear;



QryConsulta. SQL.append( 'select Nome_antibiotico from tb_antibioticos' +



'where Cod_antibiotico =' + quotedstr(nome) +';');



qryConsulta. ExecSQL;



end;



// result:=?? (como faço para resultar o valor da minha consulta)



end;



procedure TForm1.CBox1Select( Sender: TObject);



begin



edit1.Text:= nome_anti(CBox1. Text);



end;



procedure TForm1.CBox2Select( Sender: TObject);



begin



edit2.Text:= nome_anti(CBox2. Text);



end;



Espero uma luz <!--



____________ _________ _________ _________ _________ _________ _



Veja quais são os assuntos do momento no Yahoo! +Buscados



http://br.maisbusca dos.yahoo. com



[As partes desta mensagem que não continham texto foram removidas]



        

         

        

        



        



        

        



____________ _________ _________ _________ _________ _________ _

Veja quais são os assuntos do momento no Yahoo! +Buscados

http://br.maisbusca dos.yahoo. com



[As partes desta mensagem que não continham texto foram removidas]




 

      

    
    
        
         
        
        








        


        
        


      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a