Fórum preenchendo um combobox com digitação em um edit trazendo do banco de dados #381139
12/07/2010
0
dm.qry_capitulo.First;
While not dm.qry_capitulo.Eof do begin
combobox1.Items.add(dm.qry_capitulo.Fieldbyname('capitulo').asstring);
dm.qry_capitulo.Next; preciso colocar um filtro neste codigo para filtrar pelo edit. se alguém puder ajudar agradeço muito. geraldo leal
Geraldo Leal
Curtir tópico
+ 0Posts
12/07/2010
Wilson Junior
Gostei + 0
12/07/2010
Geraldo Leal
Gostei + 0
12/07/2010
Wilson Junior
Perguntas:
- Ao selecionar o capítulo ele deve mostrar o conteúdo do mesmo no TRichEdit?
- Onde está gravado o conteúdo do capítulo? e este conteúdo está separado por capítulos?
Aguardo retorno.
Gostei + 0
12/07/2010
Geraldo Leal
Gostei + 0
12/07/2010
Wilson Junior
- TClientDataSet (cdsCapitulo)
- TDataSource (dsCapitulo)
- TDBLookupComboBox (dblcbCapitulo)
- TDBRichEdit (dbreTextoCapitulo)
Ajuste as propriedades:
- dsCapitulo:
* DataSet = cdsCapitulo
- cdsCapitulo:
* CommandText = SELECT ID_Capitulo, TextoCapitulo FROM TABLE_CAPITULO WHERE Livro = 'Nome_Livro' ORDER BY ID_Capitulo
- dblcbCapitulo
* ListSource = dsCapitulo
* ListField = ID_Capitulo (Campo que será mostrado na lista, pode ter mais do que 1, sendo separados por ";". Exemplo: Capitulo;Nome)
* KeyField = ID_Capitulo (Campo índice)
- dbreTextoCapitulo
* DataSource = dsCapitulo
* DataField = TextoCapitulo
Ao selecionar o livro, assim como você já está fazendo, altere o "cdsCapitulo.CommandText" filtrando pelo nome do livro selecionado, ele automaticamente preencherá o dblcbCapitulo.
Bom, agora quando for selecionado o capítulo, automaticamente será preenchido o seu RichEdit (dbreTextoCapitulo).
Qualquer coisa é só perguntar.
Espero ter claborado.
Gostei + 0
12/07/2010
Geraldo Leal
- TDataSource (dsCapitulo) = TdataSource (ds_tabela) --este mesmo
- TDBLookupComboBox (dblcbCapitulo) = TDBLookupComboBox (dblcbCapitulo) - estou com combobox mais tudo bem com dblookupcombobox.
- TDBRichEdit (dbreTextoCapitulo) = TDBRichEdit (dbreTextoCapitulo) - aqui estou com richedit mais também pode ser tdbrichedit.
Ajuste as propriedades:
- dsCapitulo:
* DataSet = cdsCapitulo aqui eu colocaria ds_tabela = cdstabela.
- cdsCapitulo:
* CommandText = SELECT ID_Capitulo, TextoCapitulo FROM TABLE_CAPITULO WHERE Livro = 'Nome_Livro' ORDER BY ID_Capitulo aqui eu não sei como colocar esta linha na query. seria assim, o inicio! = select capitulo,texto from tabela qhere livro = .......................
- dblcbCapitulo
* ListSource = dsCapitulo aqui coloquei o ds tabela
* ListField = ID_Capitulo (Campo que será mostrado na lista, pode ter mais do que 1, sendo separados por ";". Exemplo: Capitulo;Nome) aqui coloquei o campo capitulo
* KeyField = ID_Capitulo (Campo índice) e aqui coloquei o campo capitulo.
- dbreTextoCapitulo
* DataSource = dsCapitulo
* DataField = TextoCapitulo aqui - coloquei o ds tabela e aqui o campo texto. o dblookup, preenche quando eu abro o programa, os dados vem para o listbox, eu clico em um campo , o nome vai para o edit, ai eu clico em um botão para mostrar, por enquanto ele mostra em um dbgrid. somente ai, quando mostra o nome no dbgrid o campo capitulo preenche o lookupcombobox. obrigado pela paciencia. sucesso geraldo leal
Gostei + 0
12/07/2010
Marco Salles
DataSet.Filtered:=false; DataSet.Filter:='Seu Filtro'; DataSet.Filtered:=True; while Not DataSet.Eof do carregarCombo;
Gostei + 0
12/07/2010
Geraldo Leal
DataSet.Filtered:=false; DataSet.Filter:='Seu Filtro'; DataSet.Filtered:=True; while Not DataSet.Eof do carregarCombo;
dm.qry_tabela.close;
dm.qry_tabela.sql.add('select *');
dm.qry_tabela.sql.add('from tabela');
dm.qry_tabela.sql.add(' where livro = ' + quotedstr(edt_livro.text));
dm.qry_tabela.sql.add('and capitulo = '+ quotedstr(edit4.text));
ddm.qry_tabela.open;
dm.qry_tabela.open; assim funciona. falta prencher o combo. obrigado mais uma vez por participar geraldo leal
Gostei + 0
12/07/2010
Marco Salles
dm.qry_tabela.close;
dm.qry_tabela.sql.add('select *');
dm.qry_tabela.sql.add('from tabela');
dm.qry_tabela.sql.add(' where livro = ' + quotedstr(edt_livro.text));
dm.qry_tabela.sql.add('and capitulo = '+ quotedstr(edit4.text));
ddm.qry_tabela.open;
dm.qry_tabela.open; assim funciona. falta prencher o combo. obrigado mais uma vez por participar geraldo leal
Gostei + 0
12/07/2010
Marco Salles
dm.qry_tabela.close;
dm.qry_tabela.sql.add('select *');
dm.qry_tabela.sql.add('from tabela');
dm.qry_tabela.sql.add(' where livro = ' + quotedstr(edt_livro.text));
dm.qry_tabela.sql.add('and capitulo = '+ quotedstr(edit4.text));
ddm.qry_tabela.open;
dm.qry_tabela.open; assim funciona. falta prencher o combo. obrigado mais uma vez por participar geraldo leal
Gostei + 0
12/07/2010
Geraldo Leal
capitulo:string;
begin
Result := TStringList.Create; //-- Criar lista
Result.Clear; //-- Limpar lista
Result.BeginUpdate; //-- Acessar a lista mais rapido, melhora o desempenho
with DM.tbl_tabela do //-- Para não repetir este nome begin First; //-- primeiro registro da tabela (tbl_tabela)
while not Eof do //-- Enqto não chegar ao fim da tabela (TbNomeTabela) begin
Result.Add(FieldByName('capitulo').AsString); //-- Copiar o registro para lista
Next; //-- Ir para o proximo registro
end;
end;
Result.EndUpdate; //-- Retornar o status normal da lista
end; Mais uma vez obrigado pelo tempo de vocês dois saude e paz geraldo leal.
Gostei + 0
13/07/2010
Marco Salles
Gostei + 0
13/07/2010
Wilson Junior
Portanto, nos passe a estrutura das suas tabelas.
E Marco, quando se quer ajudar não é se INTROMETER, e sempre percebo que você quer ajudar.
Aguardo retorno da estrutura.
Gostei + 0
13/07/2010
Geraldo Leal
Gostei + 0
13/07/2010
Geraldo Leal
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)
Inserção de url
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.