Fórum 2 Coluna no TCombobox #373002
01/08/2009
0
//////////////////////////////// begin Close; SQL.Text := ´SELECT NUMERO_DOC,TIPO_MOV FROM MOVIMENTO´ +#13+ ´WHERE (´ +13+´ (MOVIMENTO.TIPO_MOV = ´+IntToStr(i_Compra_Venda)+´)´ +13+´ )´; Open; if not IsEmpty then while not Eof do begin cb_numero_doc.Items.Add(Fields[0].AsString+´ - ´+Fields[1].AsString); Next; end; Close; end; ////////////////////////////////////////
Tchucky
Curtir tópico
+ 0Posts
02/08/2009
Danielrsanches
o texto selecionado no combo box é o seguinte:
09543 - JOSE DA SILVA SANTOS
sendo 09543 o código e JOSE DA SILVA SANTOS o nome...
agora, se o primeiro campo não for devidamente formatado, sendo de um tamanho indeterminado, vc utiliza um separador para retirar o que deseja, sendo o separador no caso acima o ´-´ (hifem) ...
09543 [color=red:a5373f0b7e]-[/color:a5373f0b7e] JOSE DA SILVA SANTOS
para retirar o texto que precisa (tudo antes do hífem por exemplo) faça um for ...
[code]
for I:=1 to Lenght(ComboBox1.Text) do
begin
if Copy(ComboBox1.Text,I,1) <> ´-´ then
vPesq:= vPesq + Copy(ComboBox1.Text,I,1)
else
break;
end;
assim, vc colocou na variável vPesq, tudo que vem antes do hífen ...
se não for o que procura, post novamente ...
abraços !!!
Gostei + 0
03/08/2009
Tchucky
naum entendi como funciona essa funçao e como devo colocar em meu form de consulta
e essas variaveis I, VPesq qual o formato delas... pq no meu Combobox vai receber numero e letras
Gostei + 0
03/08/2009
Alanporto
Gostei + 0
03/08/2009
Tchucky
Gostei + 0
03/08/2009
Tchucky
Length
Gostei + 0
03/08/2009
Tchucky
sendo q na seleçao ele so pode aparecer 09543
Gostei + 0
03/08/2009
Alanporto
Você quer que o código fique sozinho no Text da ComboBox depois de selecionado um item, é isso?
Se possível, poste o código que usa a seleção do ComboBox.
Gostei + 0
03/08/2009
Tchucky
begin Close; SQL.Text := ´SELECT NUMERO_DOC,TIPO_MOV FROM MOVIMENTO´ +#13+ ´WHERE (´ +13+´ (MOVIMENTO.TIPO_MOV = ´+IntToStr(i_Compra_Venda)+´)´ +13+´ )´; Open; if not IsEmpty then while not Eof do begin cb_numero_doc.Items.Add(Fields[0].AsString+´ - ´+Fields[1].AsString); Next; end; Close; end;
Gostei + 0
03/08/2009
Emerson Nascimento
Gostei + 0
03/08/2009
Alanporto
Esse vai preencher o ComboBox com
´NUMERO_DOC - TIPO_MOV´ toda vez mesmo...
Todos os itens da ComboBox ficarão nesse formato...
Mas depois da ComboBox preenchida, qual o procedimento?
Como ele utiliza o item selecionado na ComboBox?
Se for em um where (por exemplo:
SELECT CAMPO FROM MOVIMENTO WHERE NUMERO_DOC = :NUM
) funciona perfeitamente, basta passar o vPesq como parâmetro.
Agora se você está querendo que apareça só o código no Text quando dá OnCloseUp na ComboBox, sinto dizer que aqui testei e não funcionou, porque ele deve sobrescrever.
Gostei + 0
03/08/2009
Danielrsanches
procedure TForm1.Button1Click(Sender: TObject); var I: integer; vPesq: String; begin vPesq:= ´´; for I:=1 to Length(ComboBox1.Text) do begin if Copy(ComboBox1.Text,I,1) <> ´-´ then vPesq:= vPesq + Copy(ComboBox1.Text,I,1) else break; end; //aki vc faz a pesquisa utilizando a variável vPesq. Ex: query1.SQL.Text:= ´select * from TABELA where CAMPO = :pCampo´; query1.ParamByName(´pCampo´).AsString:= vPesq; query1.Open; end; qq coisa é só postar novamente ... abraços !!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)