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_Antibiotico').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 <pablojfrei...@yahoo.com.br>
Para: delphi-br@yahoogrupos.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 <!--
#ygrp-mkp{
border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;}
#ygrp-mkp hr{
border:1px solid #d8d8d8;}
#ygrp-mkp #hd{
color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;}
#ygrp-mkp #ads{
margin-bottom:10px;}
#ygrp-mkp .ad{
padding:0 0;}
#ygrp-mkp .ad a{
color:#0000ff;text-decoration:none;}
--> <!--
#ygrp-sponsor #ygrp-lc{
font-family:Arial;}
#ygrp-sponsor #ygrp-lc #hd{
margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
#ygrp-sponsor #ygrp-lc .ad{
margin-bottom:10px;padding:0 0;}
--> <!--
#ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, 
sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;} dd.last p a {
font-family:Verdana;font-weight:bold;} #ygrp-vitnav{
padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
#ygrp-vitnav a{
padding:0 1px;}
#ygrp-mlmsg #logo{
padding-bottom:10px;} #ygrp-reco {
margin-bottom:20px;padding:0px;}
#ygrp-reco #reco-head {
font-weight:bold;color:#ff7900;} #reco-category{
font-size:77%;}
#reco-desc{
font-size:77%;} #ygrp-vital a{
text-decoration:none;} #ygrp-vital a:hover{
text-decoration:underline;} #ygrp-sponsor #ov ul{
padding:0 0 0 8px;margin:0;}
#ygrp-sponsor #ov li{
list-style-type:square;padding:6px 0;font-size:77%;}
#ygrp-sponsor #ov li a{
text-decoration:none;font-size:130%;}
#ygrp-sponsor #nc{
background-color:#eee;margin-bottom:20px;padding:0 8px;}
#ygrp-sponsor .ad{
padding:8px 0;}
#ygrp-sponsor .ad #hd1{
font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
#ygrp-sponsor .ad a{
text-decoration:none;}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;}
#ygrp-sponsor .ad p{
margin:0;font-weight:normal;color:#000000;}
o{font-size:0;}
.MsoNormal{
margin:0 0 0 0;}
#ygrp-text tt{
font-size:120%;}
blockquote{margin:0 0 0 4px;}
.replbq{margin:4;} dd.last p span {
margin-right:10px;font-family:Verdana;font-weight:bold;} dd.last p 
span.yshortcuts {
margin-right:0;} div.photo-title a, 
div.photo-title a:active, 
div.photo-title a:hover, 
div.photo-title a:visited {
text-decoration:none;} div.file-title a, 
div.file-title a:active, 
div.file-title a:hover, 
div.file-title a:visited {
text-decoration:none;} #ygrp-msg p#attach-count {
clear:both;padding:15px 0 3px 0;overflow:hidden;} #ygrp-msg p#attach-count span 
{
color:#1E66AE;font-weight:bold;} div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
font-family:Verdana;font-size:10px;font-weight:normal;} #ygrp-msg p a {
font-family:Verdana;} #ygrp-mlmsg a {
color:#1E66AE;} div.attach-table div div a {
text-decoration:none;} div.attach-table {
width:400px;} --> 



      
____________________________________________________________________________________
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