Fórum Gravar código e posteriormente Listar descricao do ComboBox . #459068
21/10/2013
0
Então são duas perguntas:
1 - como gravar um código no banco ao invés de uma descrição do ítem (pensei em gravar somente a posição 1, mas não sei como farei).
2 - Como recuperar a descrição completa de acordo com o número gravado no banco.
Obrigado!
Fábio Matsuda
Curtir tópico
+ 0Posts
21/10/2013
Deivison Melo
Segue os exemplos:
[b]Usando DBLookUpComboBox[/b]
link 01:
[url]http://bloggersdelphi.blogspot.com.br/2009/06/usando-dblookupconbobox.html[/url]
link 02:
[url]http://www.eteavare.com.br/apostilas/informatica/mauro/dblookupcombobox.pdf[/url]
[b]Função Copy[/b]
A função Copy(str : string, i, j : integer) : string copia caracteres de uma dada string.
onde :
str é a string de onde se deseja copiar os caracteres.
i é posição de onde vai começar a cópia.
j é quantidade de caracteres a copiar.
exemplo :
s : string;
s := Copy('Clube delphi', 3, 7);
após a execução dessa linha a variável s conteria : 'ube del'
já a função Pos(str, subStr : string) : integer retorna a posição inicial de uma determinada sequência de caracteres dentro de uma string.
onde :
str é a string de onde se deseja verificar.
subStr é a sequência de caracteres que se deseja encontrar dentro de str.
exemplo:
i : integer;
i := Pos('Clube delphi', 'delphi');
após a execução dessa linha i receberia 7, pois a substring 'delphi' tem seu primeiro caracter na posição 7.
caso subStr não for encontrada em str, a função str retorna -1.
obs.: em pascal a posição inicial em tipos de dados strings é 1.
Créditos: [url]http://forum.devmedia.com.br/viewtopic.php?t=5756[/url]
Abração e bons códigos!
Qualquer anormalidade estou à disposição!
Gostei + 0
22/10/2013
Fábio Matsuda
Então, eu consegui gravar, fiz o seguinte:
DmTable.qryTribAIDFSERIE.AsString := Copy(DBComboSerie.Items[DBComboSerie.ItemIndex],1,1);
Porém, ao abrir a tela ou- navegar, o combo só mostra 1 ou 2, eu gostaria que ele mostrasse a descrição completa... 1 - F - Serviços ou 2 - M1 - Conjugada...
Eu criei o seguinte código para buscar a descrição, mas não funcionou: DBComboSerie.Items[DBComboSerie.ItemIndex] := DmTable.qryTribAIDFSERIE.AsString;
este código mostra no dbcombo exatamente o que eu gravei.
Posso usar o componente dbLookUp, mas este também não tem uma opção 'values' onde mostro o que gravar na table. Observação, eu não tenho uma tabela com os itens, estes estão descritos somente no meu componente, por isto, não creio que o lookup vá resolver.
Gostei + 0
22/10/2013
Alessandro Yamasaki
- ListField aonde será colocado o seu campo descritivo;
- KeyField aonde será colocará o seu campo codigo.
Gostei + 0
22/10/2013
Fábio Matsuda
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)