LISTVIEW COM 2 ICONES

XXXANGELSXXX 23/12/2009 10:51:19
#330368
Caros amigos, estou aqui para perguntar uma coisinha simples para vcs.. tenho uma listview que carrega do banco algumas informaçoes que necessito, como é uma tela financeira, de entrada e saida de valores, eu queria carregar ela com dois icones diferentes, os valores negativos com um icone e os positivos com outro icone.. sei que tem como fazer que ja vi sistemas desse jeito.. eu so nao sei fazer, vou mandar a funçao que faço para preencher a list.

Dim rs As Recordset
On Error GoTo ErrorHandler

If Combo2.Text = [Ô][Ô] Then
MsgBox [Ô]Informe o número da conta para Prosseguir![Ô], vbExclamation, [Ô]Aviso[Ô]
Combo2.SetFocus
Else
caminho = ReadINI([Ô]Geral[Ô], [Ô]Caminho[Ô], App.Path & [Ô]\Config.ini[Ô])
Set dB = DBEngine.OpenDatabase(caminho)
[Ô]Select * from MVBCO001 where ENTRADA between #[Ô] & Format(txtIni.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]# and #[Ô] & Format(txtFim.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]# AND CONTA=[ô][Ô] & Combo2.Text & [Ô][ô] order by ENTRADA[Ô]

Set rs = dB.OpenRecordset(sql)


With Me.ListView1
.View = lvwReport
.GridLines = True
.FullRowSelect = True
.ListItems.Clear
.ColumnHeaders.Clear
End With

With Me.ListView1.ColumnHeaders
.Add , , [Ô]Documento:[Ô], 1100, lvwColumnLeft
.Add , , [Ô]Dta.Entrada:[Ô], 1100, lvwColumnLeft
.Add , , [Ô]Valor: [Ô], 2000, lvwColumnRight
.Add , , [Ô]Parcela:[Ô], 1000, lvwColumnLeft
.Add , , [Ô]Histórico:[Ô], 800, lvwColumnLeft
.Add , , [Ô]Operação:[Ô], 800, lvwColumnRight
.Add , , [Ô]Emissão:[Ô], 1100, lvwColumnLeft
.Add , , [Ô]XREF:[Ô], 900, lvwColumnCenter

End With

rs.MoveFirst
Do Until rs.EOF
Set lstItem = Me.ListView1.ListItems.Add(, , [Ô][Ô], 1, 1)
lstItem.Text = IIf(IsNull(rs!DOCUMENTO), [Ô][Ô], rs!DOCUMENTO)
lstItem.SubItems(1) = rs!ENTRADA
lstItem.SubItems(2) = (Format(rs!Valor, [Ô]CURRENCY[Ô]))
lstItem.SubItems(3) = IIf(IsNull(rs!PARCELA), [Ô][Ô], rs!PARCELA)
lstItem.SubItems(4) = IIf(IsNull(rs!HPB), [Ô][Ô], rs!HPB)
lstItem.SubItems(5) = rs!OPERACAO
lstItem.SubItems(6) = rs!EMISSAO
lstItem.SubItems(7) = rs!INTERNO

rs.MoveNext

Loop

rs.Close
dB.Close


End If

ErrorHandlerExit:
Exit Sub
ErrorHandler:
If Err = 3021 Then
MsgBox [Ô]Não existe resultados a serem apresentados com esse critério![Ô] & _
Chr(13) & [Ô]Tente pesquisar com menos campos selecionados![Ô], vbInformation, [Ô]Mensagem[Ô]

ElseIf Err = 94 Then
Resume Next
ElseIf Err = 3420 Then
Resume Next

Else
MsgBox [Ô]Um erro inesperado Ocorreu![Ô] & _
Chr(13) & [Ô]Código do Erro : [Ô] & Err.Number & _
Chr(13) & [Ô]Descrição : [Ô] & Err.Description & _
Chr(13) & [Ô]Rotina : [Ô] & [Ô]FiltrarPeriodo[Ô], vbCritical, [Ô]Erro do Sistema[Ô]
Resume ErrorHandlerExit
End If
End Sub
WEBMASTER 23/12/2009 11:49:52
#330375
  
Option Explicit

Private Sub Form_Load()
Dim I As Integer
Dim ITEMX As ListItem
Dim SUBX As ListSubItem

With ListView1
.SmallIcons = ImageList1
.View = lvwReport
.ColumnHeaders.Add , , [Ô][Ô], 400
.ColumnHeaders.Add , , [Ô][Ô], 400
.ColumnHeaders.Add , , [Ô]Titulo[Ô], .Width - (800 + 360)
.FullRowSelect = True
End With


For I = 1 To 30
Set ITEMX = ListView1.ListItems.Add(, , , , IIf((I Mod 2) = 0, 1, 2))
ITEMX.ListSubItems.Add , , , IIf((I Mod 2) = 0, 3, 4)
ITEMX.ListSubItems.Add , , [Ô]Um teste simples com : [Ô] & Chr(65 + Rnd(30) + I)

Next

End Sub

XXXANGELSXXX 23/12/2009 18:57:48
#330403
WebMaster, obrigado meu irmão.. era isso mesmo que necessitava, vou estudar como vou colocar para funcionar no meu codigo, agora outra coisinha, é possivel colocar os dados de duas tabelas no mesmo listviewer? ou seja, tenho duas tabelas, elas tem a indexaçao por um codigo interno chamado XREF, os dados do nome do fornecedor esta em uma tabela, e os dados do lancamento em outra tabela, eu precisaria colocar os dados do fornecedor no mesmo listviewer dos dados do lancamento.. tem possibilidade de fazer isso ???
TECLA 23/12/2009 19:31:49
#330407
O problema do tópico foi RESOLVIDO.
Referente à outra questão, abra um NOVO TÓPICO pois o seu novo problema é referente à QUERY SQL (mas precisamente, um JOIN).
A idéia é ter problemas ESPECÍFICOS nos tópicos, para que outros USUÁRIOS possam também ser beneficiados.
Tópico encerrado , respostas não são mais permitidas