SELECAO EM UM FLEXGRID - URGENTE
cara..ele nao carrega...só carrega os registros se for assim(abaixo): o problema é no duploclick, ao clicar na linha/coluna q quero, o campo lsv.ListItems(lsv.SelectedItem.Index).Text sempre está como [Ô][Ô] ......nao sei mais o q fazer...
wl_select = [Ô]SELECT * FROM CLIENTE [Ô]
wl_select = wl_select & [Ô] WHERE [Ô]
wl_select = wl_select & [Ô] NM_CLIENTE = [ô][Ô] & DTX_NM_CLIENTE & [Ô][ô][Ô]
If KTX_NR_CGC <> [Ô]0[Ô] Then
wl_select = wl_select & [Ô] AND NR_CGC = [Ô] & KTX_NR_CGC & [Ô][Ô]
End If
Set cur_DadosForm = db.OpenRecordset(wl_select)
With cur_DadosForm
If .EOF Then
sl_limparDadosForm
End If
Do While Not .EOF
Set Lis = lsv.ListItems.Add
wl_Cont = wl_Cont + 1
WL_CONTRATO = IIf(IsNull(!nr_contrato), [Ô]0[Ô], !nr_contrato)
WL_EXCLUIDO = IIf(IsNull(!FL_CLIENTE_EXCLUIDO), [Ô]0[Ô], !FL_CLIENTE_EXCLUIDO)
Lis.SubItems(1) = WL_CONTRATO
If WL_EXCLUIDO = [Ô]0[Ô] Then
Else
Lis.ListSubItems(1).ForeColor = vbRed
End If
.MoveNext
Loop
.Close
End With
wl_select = [Ô]SELECT * FROM CLIENTE [Ô]
wl_select = wl_select & [Ô] WHERE [Ô]
wl_select = wl_select & [Ô] NM_CLIENTE = [ô][Ô] & DTX_NM_CLIENTE & [Ô][ô][Ô]
If KTX_NR_CGC <> [Ô]0[Ô] Then
wl_select = wl_select & [Ô] AND NR_CGC = [Ô] & KTX_NR_CGC & [Ô][Ô]
End If
Set cur_DadosForm = db.OpenRecordset(wl_select)
With cur_DadosForm
If .EOF Then
sl_limparDadosForm
End If
Do While Not .EOF
Set Lis = lsv.ListItems.Add
wl_Cont = wl_Cont + 1
WL_CONTRATO = IIf(IsNull(!nr_contrato), [Ô]0[Ô], !nr_contrato)
WL_EXCLUIDO = IIf(IsNull(!FL_CLIENTE_EXCLUIDO), [Ô]0[Ô], !FL_CLIENTE_EXCLUIDO)
Lis.SubItems(1) = WL_CONTRATO
If WL_EXCLUIDO = [Ô]0[Ô] Then
Else
Lis.ListSubItems(1).ForeColor = vbRed
End If
.MoveNext
Loop
.Close
End With
só pra tirar uma duvida tente assim
daqui a pouco a gente acerta, rs
Private Sub lsv_DblClick()
DTX_QUAIS_CONTRATOS = lsv.ListItems(lsv.SelectedItem.Index).ListSubItems(1).text
End Sub
daqui a pouco a gente acerta, rs
marcelo,consegui fazer funcionar...fiz assim ... valeu pela força..
wl_select = [Ô]SELECT * FROM CLIENTE [Ô]
wl_select = wl_select & [Ô] WHERE [Ô]
wl_select = wl_select & [Ô] NM_CLIENTE = [ô][Ô] & DTX_NM_CLIENTE & [Ô][ô][Ô]
If KTX_NR_CGC <> [Ô]0[Ô] Then
wl_select = wl_select & [Ô] AND NR_CGC = [Ô] & KTX_NR_CGC & [Ô][Ô]
End If
Set cur_DadosForm = db.OpenRecordset(wl_select)
With cur_DadosForm
If .EOF Then
sl_limparDadosForm
End If
Do While Not .EOF
wl_Cont = wl_Cont + 1
WL_CONTRATO = IIf(IsNull(!nr_contrato), [Ô]0[Ô], !nr_contrato)
WL_EXCLUIDO = IIf(IsNull(!FL_CLIENTE_EXCLUIDO), [Ô]0[Ô], !FL_CLIENTE_EXCLUIDO)
Set Lis = lsv.ListItems.Add(, , WL_CONTRATO)
Lis.SubItems(1) = WL_CONTRATO
If WL_EXCLUIDO = [Ô]0[Ô] Then
Lis.ListSubItems(1).ForeColor = vbBlue
Else
Lis.ListSubItems(1).ForeColor = vbRed
End If
.MoveNext
Loop
.Close
End With
If wl_Cont > 1 Then
lsv.Height = wl_Cont * 27
Else
lsv.Height = 57
lsv.Width = 160
End If
lsv.Refresh
wl_select = [Ô]SELECT * FROM CLIENTE [Ô]
wl_select = wl_select & [Ô] WHERE [Ô]
wl_select = wl_select & [Ô] NM_CLIENTE = [ô][Ô] & DTX_NM_CLIENTE & [Ô][ô][Ô]
If KTX_NR_CGC <> [Ô]0[Ô] Then
wl_select = wl_select & [Ô] AND NR_CGC = [Ô] & KTX_NR_CGC & [Ô][Ô]
End If
Set cur_DadosForm = db.OpenRecordset(wl_select)
With cur_DadosForm
If .EOF Then
sl_limparDadosForm
End If
Do While Not .EOF
wl_Cont = wl_Cont + 1
WL_CONTRATO = IIf(IsNull(!nr_contrato), [Ô]0[Ô], !nr_contrato)
WL_EXCLUIDO = IIf(IsNull(!FL_CLIENTE_EXCLUIDO), [Ô]0[Ô], !FL_CLIENTE_EXCLUIDO)
Set Lis = lsv.ListItems.Add(, , WL_CONTRATO)
Lis.SubItems(1) = WL_CONTRATO
If WL_EXCLUIDO = [Ô]0[Ô] Then
Lis.ListSubItems(1).ForeColor = vbBlue
Else
Lis.ListSubItems(1).ForeColor = vbRed
End If
.MoveNext
Loop
.Close
End With
If wl_Cont > 1 Then
lsv.Height = wl_Cont * 27
Else
lsv.Height = 57
lsv.Width = 160
End If
lsv.Refresh
Ainda bem que funcionou, e o dblclick também funcionou?
sim Marcelo,funcionou..ficou assim: DTX_CONTRATO_SELECIONADO = lsv.ListItems(lsv.SelectedItem.Index).Text
cara ,deixa te perguntar o seguinte: tenho um combobox e queria carregar ele(já faço isso) so que algumas linhas teriam que ficar na cor vermelha, já tentei de tudo mas não funciona,sempre fica em preto apesar de passar onde deveria jogar para vermelho,tu sabe como fazer ?? abaixo como fiz mas não funciona...
wl_select = [Ô]SELECT * FROM CLIENTE (INDEX = IK_CLIENTE_POR_NOME)[Ô]
wl_select = wl_select & [Ô] WHERE [Ô]
wl_select = wl_select & [Ô] NM_CLIENTE = [ô][Ô] & DTX_NM_CLIENTE & [Ô][ô][Ô]
If KTX_NR_CGC <> [Ô]0[Ô] Then
wl_select = wl_select & [Ô] AND NR_CGC = [Ô] & KTX_NR_CGC & [Ô][Ô]
End If
Set cur_DadosForm = db.OpenRecordset(wl_select)
With cur_DadosForm
If .EOF Then
sl_limparDadosForm
End If
Do While Not .EOF
Set Lis = lsv.ListItems.Add
wl_Cont = wl_Cont + 1
DTX_QUAIS_CONTRATOS.AddItem IIf(IsNull(!nr_contrato), [Ô]0[Ô], !nr_contrato)
WL_EXCLUIDO = IIf(IsNull(!FL_CLIENTE_EXCLUIDO), [Ô]0[Ô], !FL_CLIENTE_EXCLUIDO)
If WL_EXCLUIDO = [Ô]0[Ô] Then
DTX_QUAIS_CONTRATOS.itemData(DTX_QUAIS_CONTRATOS.NewIndex) = vbBlue
Else
DTX_QUAIS_CONTRATOS.itemData(DTX_QUAIS_CONTRATOS.NewIndex) = vbred
End If
.MoveNext
Loop
.Close
End With
cara ,deixa te perguntar o seguinte: tenho um combobox e queria carregar ele(já faço isso) so que algumas linhas teriam que ficar na cor vermelha, já tentei de tudo mas não funciona,sempre fica em preto apesar de passar onde deveria jogar para vermelho,tu sabe como fazer ?? abaixo como fiz mas não funciona...
wl_select = [Ô]SELECT * FROM CLIENTE (INDEX = IK_CLIENTE_POR_NOME)[Ô]
wl_select = wl_select & [Ô] WHERE [Ô]
wl_select = wl_select & [Ô] NM_CLIENTE = [ô][Ô] & DTX_NM_CLIENTE & [Ô][ô][Ô]
If KTX_NR_CGC <> [Ô]0[Ô] Then
wl_select = wl_select & [Ô] AND NR_CGC = [Ô] & KTX_NR_CGC & [Ô][Ô]
End If
Set cur_DadosForm = db.OpenRecordset(wl_select)
With cur_DadosForm
If .EOF Then
sl_limparDadosForm
End If
Do While Not .EOF
Set Lis = lsv.ListItems.Add
wl_Cont = wl_Cont + 1
DTX_QUAIS_CONTRATOS.AddItem IIf(IsNull(!nr_contrato), [Ô]0[Ô], !nr_contrato)
WL_EXCLUIDO = IIf(IsNull(!FL_CLIENTE_EXCLUIDO), [Ô]0[Ô], !FL_CLIENTE_EXCLUIDO)
If WL_EXCLUIDO = [Ô]0[Ô] Then
DTX_QUAIS_CONTRATOS.itemData(DTX_QUAIS_CONTRATOS.NewIndex) = vbBlue
Else
DTX_QUAIS_CONTRATOS.itemData(DTX_QUAIS_CONTRATOS.NewIndex) = vbred
End If
.MoveNext
Loop
.Close
End With
è assim colega o combo não foi feito para ter linhas coloridas então fica meio dificil, o que vc poderia fazer seria inventar seu combo, usando um textbox e um listview criando o efeito do combo, lembrando que com um listview vc poderá mudar a cor e até colocar icones.
Tópico encerrado , respostas não são mais permitidas