Pessoal, estou precisando montar um data report com registros selecionados através de um list box. Obs.: não estou usando e nem quero usar data environment, estou fzd td no código mesmo.
O caso é o seguinte, eu tenho num msflexgrid todos os registros de um bd e o usuário pode selecionar alguns e adicioná-los em um listbox. O problema está em gerar uma listagem (relatório com data report do vb6) com apenas os dados que estão no listbox.
estou usando o código abaixo, até dá certo, só que no data report só fica o último registro do listbox, ele substitui os anteriores.
Private Sub cmdGerar_Click()
Dim prancheta As Integer
Dim i As Integer
Dim z As Integer
Dim total As Integer
total = lstPrancheta.ListCount
For prancheta = 0 To total - 1
sql = "SELECT CodPro, Req_Recl, Rcld, EndRcld, NumRcld, Motivo, TipoDoc From TabProtocolo WHERE TabProtocolo.CodPro = '" & Mid(lstPrancheta.ItemData(prancheta), 1, 4) & "' ORDER BY CodPro" 'aqui é pra pegar só o código do registro, ex.: "0011 - Nome do Reclamante", só pega o 0011
ReabreRst Rst 'função para reabrir meu recordset
Rst.Open sql, Cnn, adOpenKeyset, adLockOptimistic
z = 0
With rptVisitar 'meu data report
.Hide
Set .DataSource = Rst
.DataMember = ""
With .Sections("Section1").Controls
For i = 1 To .Count
If TypeOf .Item(i) Is RptTextBox Then
.Item(i).DataMember = ""
.Item(i).DataField = Rst(z).Name
z = z + 1
End If
Next i
End With
.Refresh
End With
Next prancheta
rptVisitar.Caption = "Total de Reclamações: " & total
rptVisitar.Show
End Sub
abaixo segue a tela do meu data report com os RptTextBox com os nome dos campos do select.
http://img87.imageshack.us/img87/4599/rptvisitarwx0.jpgalguém pode dar uma força? já quebrei a cabeça e não achei a bendita falha...
Banco: Access 2003
Acesso: AD