Re: [delphi-br] Re: Retornar chave primaria de um combobox

2008-12-15 Por tôpico Coutinho - Yahoo
Bom dia Ricardo!

Então você vai ter de passar para eles a idéia de fazer na unha...

Seleciona no combo o nome, dá um Locate( pois vai pesquisar por um capo 
outro...), achando armazena numa variável a PK, depois vai no outro 
arquivo, faz a mesma coisa, junta as duas informações e faz por útimo o 
que vc quer que eles façam com as duas informações...

O commbobox é apenas para vc selecionar o valor que vai colocar no 
locate... não esqueça que o valor de chave de pesquisa do locate é 
variant e não string...
aí... parafraseando alguns colegas... parece ser um pouco POG, não???
Mas como os alunos tem um nível bem elementar ainda... vai... mas que 
vai dar um trabalho retado, isso vai!!!

Sds
Emanuel Coutinho


Rogerio Rios Pessanha escreveu:
>
> Bom Dia Emanuel.
> Bem, o DBLOOKUPCOMBOBOX(DATASOURCE-DATAFIELD-LISTSOURCE-LISTFIELD -
> KEYFIELD- ele altera os dados diretamente na tabela , ok ? Ou não ?
> Se altera não me serve) eu conheço mas acho que não serve. Deixa eu
> tentar explicar :
> Eu queria que o usuario selecionasse em 1 combo o nome do aluno e em
> outro combo o livro que o aluno pegou. E aí eu queria usar os campos
> PK da tabela aluno e livro de acordo com o que foi escolhido nos
> combos ( quando eu digo usar os campos PK quero dizer usá-los para
> filtragem - filter ou select - ou fazer buscas com findkey por
> exemplo). Os alunos não sabem TQUERY-SELECT então passar algo bem
> simples as vezes dá mais trabalho do que algo avançado.
>
> --- Em delphi-br@yahoogrupos.com.br 
> , Coutinho - Yahoo
>  escreveu
> >
> > Colega...
> > O componente dbLookupCombo faz isso...
> > Se vc está fazendo um campo lookup, que na minha opinião é a melhor
> > pedida, ao arrastar o TField da janelinha de campos da tabela para
> o
> > form, ele já trás um pomponente lookupCombobox, para vc poder
> selecionar
> > pelo nome do do aluno, escrevendo no campo que vc está editando a
> > "matrícula", ou chave primária que está usando na sua tabela.
> > Você sabe definir um campo lookup na sua tabela?
> >
> > Sds
> > Emanuel Couitnho
> >
> >
> > Rogerio Rios Pessanha escreveu:
> > >
> > > Tenho um combobox abastecido com o campo nomealuno. Queria que ao
> ser
> > > selecionado algum item desse combo o mesmo me retornasse não o
> nome do
> > > aluno mas a CHAVE PRIMARIA da tabela em questão ( campo
> ncodaluno).
> > >
> > >
> >
>
>  




[delphi-br] Re: Retornar chave primaria de um combobox

2008-12-13 Por tôpico Rogerio Rios Pessanha
Ola Ricardo.
Sim, os alunos estão trabalhando com PARADOX. Entao, são bem
iniciantes e ja sabem fazer o NEXT,PRIOR, LAST, FIRST, INSERT, EDIT,
DELETE E POST.São alunos de um Curso Tecnico ,que começaram do ZERO e
que já fazem inclusao, exclusao, edicao e pesquisa ( nao com TQUERY
mas com findnearest ).
Daí eu indiquei a eles usar o combobox (abastecido com a tabela) e
pegar o retorno desse combo pra fazer uma pesquisa etc.
Cara, acho que desse jeito eu faço, mais pra os alunos que estão no
curso é meio complicado.
É que trabalho no dia a dia com outra linguagem e aí ela tem o
combobox é abastecido pelo banco e podemos indicar qual campo ele vai
nos retornar para que possamos utilizar aquele valor para pesquisa etc.
Será que com dbcombobox eu consigo ? ( nao DBLOOKUPCOMBOBOX )

--- Em delphi-br@yahoogrupos.com.br, Ricardo César Cardoso
 escreveu
>
> Você está trazendo os dados de algum banco de dados?
> 
> Eu uso a seguinte técnica para fazer isso que você quer:
> 
> 1) Crio um tipo de dados que equivale ao que quero representar 
> 2) Crio uma função que seleciona os dados da tabela (por exemplo o
ID e a Descrição)
> 3) A saída dessa função é preencher um array (por exemplo) onde cada
item do array é do tipo criado no passo 1
> 4) Com os dados selecionados, crio uma função que alimenta o
ComboBox com os itens que carreguei no array do item 3
> 5) No ComboBox faço altero o evento OnSelectItem para buscar o ID do
item, com base na descrição do item, dentro do array que criei.
> 
> É claro que dá pra fazer muitas otimizações dentro desse modelo. Se
você não está trabalhando ainda com bancos de dados este acho que é um
dos melhores jeitos de trabalhar. 
> 
> Dá pra fazer a mesma coisa que fiz, mas usando ClientDataSet.
Simplifica bem mais o processo que passei pois vc usa funções
disponíveis no proprio TClientDataSet ao invés de um tipo específico
(criado no passo 1), criar e preencher um array (passos 2 e 3) e nos
passos 4 e 5 você pode fazer uma alteração significativa, pois pode
usar as funções de busca que já existem ao invés de inventar as suas
próprias.
> 
> Tanto em um quanto em outro modelo, dá pra achar material bem
detalhado no Google. Basta procurar por ClientDataSet em memória ou
ClientDataSet sem banco de dados.
> 
> []'s
> Ricardo.
> 
> _
> 
> "Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!"
> 
> --- Em sáb, 13/12/08, Rogerio Rios Pessanha  escreveu:
> De: Rogerio Rios Pessanha 
> Assunto: [delphi-br] Re: Retornar chave primaria de um combobox
> Para: delphi-br@yahoogrupos.com.br
> Data: Sábado, 13 de Dezembro de 2008, 8:33
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Bom Dia Emanuel.
> 
> Bem, o DBLOOKUPCOMBOBOX( DATASOURCE- DATAFIELD- LISTSOURCE- LISTFIELD -
> 
> KEYFIELD- ele altera os dados diretamente na tabela , ok ? Ou não ? 
> 
> Se altera não me serve) eu conheço mas acho que não serve. Deixa eu 
> 
> tentar explicar :
> 
> Eu queria que o usuario selecionasse em 1 combo o nome do aluno e em 
> 
> outro combo o livro que o aluno pegou. E aí eu queria usar os campos 
> 
> PK da tabela aluno e livro de acordo com o que foi escolhido nos 
> 
> combos ( quando eu digo usar os campos PK quero dizer usá-los para 
> 
> filtragem - filter ou select - ou fazer buscas com findkey por 
> 
> exemplo). Os alunos não sabem TQUERY-SELECT então passar algo bem 
> 
> simples as vezes dá mais trabalho do que algo avançado.
> 
> 
> 
> --- Em delphi...@yahoogrup os.com.br, Coutinho - Yahoo 
> 
>  escreveu
> 
> >
> 
> > Colega...
> 
> > O componente dbLookupCombo faz isso...
> 
> > Se vc está fazendo um campo lookup, que na minha opinião é a melhor 
> 
> > pedida, ao arrastar o TField da janelinha de campos da tabela para 
> 
> o 
> 
> > form, ele já trás um pomponente lookupCombobox, para vc poder 
> 
> selecionar 
> 
> > pelo nome do do aluno, escrevendo no campo que vc está editando a 
> 
> > "matrícula", ou chave primária que está usando na sua tabela.
> 
> > Você sabe definir um campo lookup na sua tabela?
> 
> > 
> 
> > Sds
> 
> > Emanuel Couitnho
> 
> > 
> 
> > 
> 
> > Rogerio Rios Pessanha escreveu:
> 
> > >
> 
> > > Tenho um combobox abastecido com o campo nomealuno. Queria que ao 
> 
> ser
> 
> > > selecionado algum item desse combo o mesmo me retornasse não o 
> 
> nome do
> 
> > > aluno mas a CHAVE PRIMARIA da tabela em questão ( campo 
> 
> ncodaluno).
> 
> > >
> 
> >
>   
>
>   
>   
> 
> 
> 
> 
> 
> 
> 
> 
>   
> 
> 
>   
>   
> 
> 
>   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]
>




Re: [delphi-br] Re: Retornar chave primaria de um combobox

2008-12-13 Por tôpico Ricardo César Cardoso
Você está trazendo os dados de algum banco de dados?

Eu uso a seguinte técnica para fazer isso que você quer:

1) Crio um tipo de dados que equivale ao que quero representar 
2) Crio uma função que seleciona os dados da tabela (por exemplo o ID e a 
Descrição)
3) A saída dessa função é preencher um array (por exemplo) onde cada item do 
array é do tipo criado no passo 1
4) Com os dados selecionados, crio uma função que alimenta o ComboBox com os 
itens que carreguei no array do item 3
5) No ComboBox faço altero o evento OnSelectItem para buscar o ID do item, com 
base na descrição do item, dentro do array que criei.

É claro que dá pra fazer muitas otimizações dentro desse modelo. Se você não 
está trabalhando ainda com bancos de dados este acho que é um dos melhores 
jeitos de trabalhar. 

Dá pra fazer a mesma coisa que fiz, mas usando ClientDataSet. Simplifica bem 
mais o processo que passei pois vc usa funções disponíveis no proprio 
TClientDataSet ao invés de um tipo específico (criado no passo 1), criar e 
preencher um array (passos 2 e 3) e nos passos 4 e 5 você pode fazer uma 
alteração significativa, pois pode usar as funções de busca que já existem ao 
invés de inventar as suas próprias.

Tanto em um quanto em outro modelo, dá pra achar material bem detalhado no 
Google. Basta procurar por ClientDataSet em memória ou ClientDataSet sem banco 
de dados.

[]'s
Ricardo.

_

"Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!"

--- Em sáb, 13/12/08, Rogerio Rios Pessanha  
escreveu:
De: Rogerio Rios Pessanha 
Assunto: [delphi-br] Re: Retornar chave primaria de um combobox
Para: delphi-br@yahoogrupos.com.br
Data: Sábado, 13 de Dezembro de 2008, 8:33











Bom Dia Emanuel.

Bem, o DBLOOKUPCOMBOBOX( DATASOURCE- DATAFIELD- LISTSOURCE- LISTFIELD -

KEYFIELD- ele altera os dados diretamente na tabela , ok ? Ou não ? 

Se altera não me serve) eu conheço mas acho que não serve. Deixa eu 

tentar explicar :

Eu queria que o usuario selecionasse em 1 combo o nome do aluno e em 

outro combo o livro que o aluno pegou. E aí eu queria usar os campos 

PK da tabela aluno e livro de acordo com o que foi escolhido nos 

combos ( quando eu digo usar os campos PK quero dizer usá-los para 

filtragem - filter ou select - ou fazer buscas com findkey por 

exemplo). Os alunos não sabem TQUERY-SELECT então passar algo bem 

simples as vezes dá mais trabalho do que algo avançado.



--- Em delphi...@yahoogrup os.com.br, Coutinho - Yahoo 

 escreveu

>

> Colega...

> O componente dbLookupCombo faz isso...

> Se vc está fazendo um campo lookup, que na minha opinião é a melhor 

> pedida, ao arrastar o TField da janelinha de campos da tabela para 

o 

> form, ele já trás um pomponente lookupCombobox, para vc poder 

selecionar 

> pelo nome do do aluno, escrevendo no campo que vc está editando a 

> "matrícula", ou chave primária que está usando na sua tabela.

> Você sabe definir um campo lookup na sua tabela?

> 

> Sds

> Emanuel Couitnho

> 

> 

> Rogerio Rios Pessanha escreveu:

> >

> > Tenho um combobox abastecido com o campo nomealuno. Queria que ao 

ser

> > selecionado algum item desse combo o mesmo me retornasse não o 

nome do

> > aluno mas a CHAVE PRIMARIA da tabela em questão ( campo 

ncodaluno).

> >

>

 

















  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]



[delphi-br] Re: Retornar chave primaria de um combobox

2008-12-13 Por tôpico Rogerio Rios Pessanha
Bom Dia Emanuel.
Bem, o DBLOOKUPCOMBOBOX(DATASOURCE-DATAFIELD-LISTSOURCE-LISTFIELD -
KEYFIELD- ele altera os dados diretamente na tabela , ok ? Ou não ? 
Se altera não me serve) eu conheço mas acho que não serve. Deixa eu 
tentar explicar :
Eu queria que o usuario selecionasse em 1 combo o nome do aluno e em 
outro combo o livro que o aluno pegou. E aí eu queria usar os campos 
PK da tabela aluno e livro de acordo com o que foi escolhido nos 
combos ( quando eu digo usar os campos PK quero dizer usá-los para 
filtragem - filter ou select - ou fazer buscas com findkey por 
exemplo). Os alunos não sabem TQUERY-SELECT então passar algo bem 
simples as vezes dá mais trabalho do que algo avançado.


--- Em delphi-br@yahoogrupos.com.br, Coutinho - Yahoo 
 escreveu
>
> Colega...
> O componente dbLookupCombo faz isso...
> Se vc está fazendo um campo lookup, que na minha opinião é a melhor 
> pedida, ao arrastar o TField da janelinha de campos da tabela para 
o 
> form, ele já trás um pomponente lookupCombobox, para vc poder 
selecionar 
> pelo nome do do aluno, escrevendo no campo que vc está editando a 
> "matrícula", ou chave primária que está usando na sua tabela.
> Você sabe definir um campo lookup na sua tabela?
> 
> Sds
> Emanuel Couitnho
> 
> 
> Rogerio Rios Pessanha escreveu:
> >
> > Tenho um combobox abastecido com o campo nomealuno. Queria que ao 
ser
> > selecionado algum item desse combo o mesmo me retornasse não o 
nome do
> > aluno mas a CHAVE PRIMARIA da tabela em questão ( campo 
ncodaluno).
> >
> >
>