CAMPOS MULTIPLOS EM DATA REPORT
Olá Pessoal
Estou fazendo um projeto, usando uma ListView e os dados dela vão para um DataReport, usando ADO!
Porém eu gostaria de que todos os campos da listview aparececem no report mas só aparece os campos da primeira linha. Eu tentei usar o comando for mas também não tá dando certo!
O Código:
Alguém sabe como arrumar? Eu sou novato no VB ^^
Vlw
Estou fazendo um projeto, usando uma ListView e os dados dela vão para um DataReport, usando ADO!
Porém eu gostaria de que todos os campos da listview aparececem no report mas só aparece os campos da primeira linha. Eu tentei usar o comando for mas também não tá dando certo!
O Código:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim i As Integer
rs.ActiveConnection = Nothing
rs.CursorLocation = adUseClient
rs.Fields.Append [Ô]Dia[Ô], adChar, 100
rs.Fields.Append [Ô]Semana[Ô], adChar, 100
rs.Fields.Append [Ô]Horario[Ô], adChar, 100
rs.Fields.Append [Ô]Residencia[Ô], adChar, 400
rs.Fields.Append [Ô]Local[Ô], adChar, 400
rs.Fields.Append [Ô]Reponsavel[Ô], adChar, 400
rs.Open
rs.AddNew
For i = 1 To ListView1.ListItems.Count
rs.Fields(0) = ListView1.ListItems(i).Text
rs.Fields(1) = ListView1.ListItems(i).SubItems(1)
rs.Fields(2) = ListView1.ListItems(i).SubItems(2)
rs.Fields(3) = ListView1.ListItems(i).SubItems(3)
rs.Fields(4) = ListView1.ListItems(i).SubItems(4)
rs.Fields(5) = ListView1.ListItems(i).SubItems(5)
Next
rs.Update
Set DataReport2.DataSource = rs
DataReport2.Show
Alguém sabe como arrumar? Eu sou novato no VB ^^
Vlw
Você está atribuindo valores ao Rs mas não está salvando. Só o ultimo salva. Teta isso
rs.Open
For i = 1 To ListView1.ListItems.Count
rs.AddNew
rs.Fields(0) = ListView1.ListItems(i).Text
rs.Fields(1) = ListView1.ListItems(i).SubItems(1)
rs.Fields(2) = ListView1.ListItems(i).SubItems(2)
rs.Fields(3) = ListView1.ListItems(i).SubItems(3)
rs.Fields(4) = ListView1.ListItems(i).SubItems(4)
rs.Fields(5) = ListView1.ListItems(i).SubItems(5)
rs.Update
Next
Funcionou
Vlw mesmo amigo! Perfeito
Vlw mesmo amigo! Perfeito
Meu problema é semaelhante. Com o código abaixo, o problema é que quero que APENAS os itens no listview repitam em sequencia, mas as imagens e o nome do cliente se repetem tantos quantos forem os itens do list.
Private Sub btnReprint_Click() [ô]/-/ Gerar Relatório
Dim dtx As ADODB.Recordset
Set dtx = New ADODB.Recordset
[ô]Recordset desconectado
dtx.ActiveConnection = Nothing
dtx.CursorLocation = adUseClient
[ô]Criar colunas em Run-Time
dtx.Fields.Append [Ô]Nome[Ô], adChar, 100
dtx.Fields.Append [Ô]Procedimento[Ô], adChar, 100
dtx.Fields.Append [Ô]Total[Ô], adChar, 100
[ô]Passar o recordset como parâmetro para o Report
Set Dt_proc.DataSource = dtx
Set Dt_proc.Sections([Ô]Section1[Ô]).Controls([Ô]d18[Ô]).Picture = d(18).Picture
Set Dt_proc.Sections([Ô]Section1[Ô]).Controls([Ô]d17[Ô]).Picture = d(17).Picture
Set Dt_proc.Sections([Ô]Section4[Ô]).Controls([Ô]img_logo[Ô]).Picture = LoadPicture(App.Path & [Ô]\IMAGENSPACIENTES\[Ô] & [Ô]logotipo.jpg[Ô])
[ô]Abrir Recordset e popular em Run-Time
dtx.Open
For BAM = 1 To Me.lv1.ListItems.Count
dtx.AddNew
dtx.Fields(0) = cmb_clientes
dtx.Fields(1) = lv1.ListItems(BAM).ListSubItems(4).Text [ô]procedimento
dtx.Fields(7) = valor_tt.Text
dtx.Update
Next [ô]BAM
Set Dt_proc.DataSource = dtx
Dt_proc.Show
End Sub
Private Sub btnReprint_Click() [ô]/-/ Gerar Relatório
Dim dtx As ADODB.Recordset
Set dtx = New ADODB.Recordset
[ô]Recordset desconectado
dtx.ActiveConnection = Nothing
dtx.CursorLocation = adUseClient
[ô]Criar colunas em Run-Time
dtx.Fields.Append [Ô]Nome[Ô], adChar, 100
dtx.Fields.Append [Ô]Procedimento[Ô], adChar, 100
dtx.Fields.Append [Ô]Total[Ô], adChar, 100
[ô]Passar o recordset como parâmetro para o Report
Set Dt_proc.DataSource = dtx
Set Dt_proc.Sections([Ô]Section1[Ô]).Controls([Ô]d18[Ô]).Picture = d(18).Picture
Set Dt_proc.Sections([Ô]Section1[Ô]).Controls([Ô]d17[Ô]).Picture = d(17).Picture
Set Dt_proc.Sections([Ô]Section4[Ô]).Controls([Ô]img_logo[Ô]).Picture = LoadPicture(App.Path & [Ô]\IMAGENSPACIENTES\[Ô] & [Ô]logotipo.jpg[Ô])
[ô]Abrir Recordset e popular em Run-Time
dtx.Open
For BAM = 1 To Me.lv1.ListItems.Count
dtx.AddNew
dtx.Fields(0) = cmb_clientes
dtx.Fields(1) = lv1.ListItems(BAM).ListSubItems(4).Text [ô]procedimento
dtx.Fields(7) = valor_tt.Text
dtx.Update
Next [ô]BAM
Set Dt_proc.DataSource = dtx
Dt_proc.Show
End Sub
Tópico encerrado , respostas não são mais permitidas