Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

g_informatica

Pegar valor de outra tabela p/ um edit

Recommended Posts

Oi gente, boa tarde!!!

 

Estou precisando tirar uma dúvida... Gostaria de saber se existe a possibilidade de ser mostrado num edit o valor de um campo da tabela. Ex.: Tenho uma tabela onde são feita as matrículas dos alunos e outra p/ ser gerado as mensalidades desse aluno. Na tela onde é gerado as mensalidades existe um dblookupcombobox onde é mostrado o nome dos alunos, gostaria q ao sair do dblcaluno fosse inserido num edit a serie,turma e turno cujo o aluno está matriculado. Eu vi um exemplo na internet bem parecido mas não deu certo.

 

Tentei assim:

 

if q_mensalidadecodaluno.Value=q_lotacao_alunocodaluno.Value then //Aqui fiz tipo uma comparação q diz q se o codaluno onde está sendo gerado as mensalidades for o msm codigo da lotacao_aluno (tab. onde é feita as matrículas) então:

begin

edtserie.Text:=f_dados.Q_LOTACAO_ALUNOSCODSERIE.AsString; // o edit da série será a msm serie da lotação

edtturma.Text:=f_dados.Q_LOTACAO_ALUNOSTURMA.AsString; // o edit da turma será a msm turma da lotacao

edtturno.Text:=f_dados.Q_LOTACAO_ALUNOSTURNO.AsString; // o edit do turno será o msm turno q o aluno foi matriculado

edtlotacao.Text:=(edtserie.Text)/(edtturma.Text)/(edtturno.Text); // Aqui seria o local da junção desses valores, q eram p/ aparecer assim:

1ª SERIE/901/M

Ao tentar compilar o projeto dá uma mensagem de erro: Value assigned to 'i' never used

 

Ainda sou iniciante na programação, se alguém souber o pq desse erro ou tiver outra sugestão de código eu agradeço muito... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

não tenho certeza, mas com DBEDIT faz isso sem programação nenhuma porém...

 

no on exit do edit você pode fazer um Select na tabela de dos alunos trazendo os campos e ai é só setar??

mas de uma olhada no primeiro jeito é bem interessante pra aplicações de pequeno porte...

 

você apenas seta o data souce dos DBEdits e Etc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, voce está querendo que ao usuário sair do DbLookUpComboBox, selecionado um aluno o BD retorne os dados do aluno X?

Eu faria com no exemplo que dei num tópico anterior.

Poderia fazer assim com SQL:

 

procedure X

begin

with Querytal do

begin

Clear;

Sql.Add('select * from TB where CAMPO = ') + chr(13)+DbLookUpComboBox.Text+chr(13);

Open;

end;

end;

 

quando o usuário sair do ComboBox com um aluno tal selecionado a Query irá retornar os dados nos DbEdits do aluno TAL.

Eu faria aproximadamente isto.

Espero ter ajudadoo, qualquer coisa só dizer.

 

Abraço ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi galera, boa tarde!!!

 

Gostaria de agradecer aos amigos q me ajudaram dando dicas e sugestões de código... Vlw galera!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Bom, consegui resolver meu problema, não sei se é da maneira correta... mas o importante é q deu certo.

Segui o conselho dos amigos e coloquei uma query no form onde tem a seguinte select:

 

select l.codserie, l.codturma,l.configuracao, s.curso

from lotacao_aluno l, series s

where l.configuracao=2008

and codaluno=:r

and l.codserie=s.codigo

order by codaluno

 

Coloquei um botão c/ o código:

 

with q_lotacao_aluno do

close;

q_lotacao_aluno.SQL.Clear;

q_lotacao_aluno.SQL.Add('select l.codserie, l.codturma, s.curso from lotacao_aluno l, series s where l.configuracao=2008 and codaluno=:r and l.codserie=s.codigo order by codaluno');

q_lotacao_aluno.Parameters[0].value:=strtoint(Edit1.text);

q_lotacao_aluno.Open;

Edit2.Text :=(DBGrid1.Fields[0].AsString)+ '/'+(DBGrid1.Fields[1].AsString);

 

O resultado fica:

 

1ª serie/101 // q é a série e a turma

 

Vlw por + essa galera, brigadão... até a próxima!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.