Colega posso ser sincero com você altere sua tabela que ficará mais fácil de listar, ela vai ficar um pouco maior porém você não terá dor de cabeça para exibir os dados.
veja um exemplo de tabela que estou sugestionando pra você:
campos:
cod_paciente ' código do paciente
dose ' indica se é a 1ª, 2ª, 3ª dose ou 1º e 2º reforço
bcg_lote ' lote para vacina BCG
bcg_data ' data da vacina BCG
chep_lote ' lote para vacina Contra Hepatite
chep_data ' data da vacina Contra Hepatite
antp_lote ' Lote da Vacina Anti Pólio
antp_data ' Data da Vacina Anti_Pólio
dtp_lote ' lote da vacina DTP (Tríplice )
dtp_data ' Dta da Vacina DTP
hib_lote ' Lote da Vacina Hib (Haemófilos)
hib_data ' Data da Vacina Hib
fa_lote ' Lote a Vacina para Febre Amarela
fa_data ' Data da Vacina para Febre Amarela
as_lote ' Lote a Vacina Anti Sarampo
as_data ' data da Vacina Anti Sarampo
tri_lote ' Lote da Vacina Triviral
tri_data ' Data a vacina Triviral
dv_lote ' Lote a Vacina Dupla Viral
dv_data ' Data a Vacina Dupla Viral
da_lote ' Lote a Vacina Adulto
da_data ' data da Vacina Adulto
Eu criei em Access uma tabela com esses dados e carreguei asim em um listview:
RST.Open "select * from tbpacientes", CNN
ListView1.ColumnHeaders.Add , , "Vacinas"
ListView1.ColumnHeaders.Add , , "BCG" '
ListView1.ColumnHeaders.Add , , "Contra Hepatite"
ListView1.ColumnHeaders.Add , , "Anti Pólio"
ListView1.ColumnHeaders.Add , , "DTP (Triplíce)"
ListView1.ColumnHeaders.Add , , "Hib (Haemófilos)"
ListView1.ColumnHeaders.Add , , "Febre Amarela"
ListView1.ColumnHeaders.Add , , "Anti Sarampo"
ListView1.ColumnHeaders.Add , , "Triviral"
ListView1.ColumnHeaders.Add , , "Dupla Viral"
ListView1.ColumnHeaders.Add , , "Dupla Adulto"
Do While Not RST.EOF
Set itmx = ListView1.ListItems.Add(, , RST("dose") & "-lote")
itmx.SubItems(1) = "" & RST("bcg_lote")
itmx.SubItems(2) = "" & RST("chep_lote")
itmx.SubItems(3) = "" & RST("antp_lote")
itmx.SubItems(4) = "" & RST("dtp_lote")
itmx.SubItems(5) = "" & RST("hib_lote")
itmx.SubItems(6) = "" & RST("fa_lote")
itmx.SubItems(7) = "" & RST("as_lote")
itmx.SubItems(8) = "" & RST("tri_lote")
itmx.SubItems(9) = "" & RST("dv_lote")
itmx.SubItems(10) = "" & RST("da_lote")
Set itmx = ListView1.ListItems.Add(, , RST("dose") & "-data")
itmx.SubItems(1) = "" & RST("bcg_data")
itmx.SubItems(2) = "" & RST("chep_data")
itmx.SubItems(3) = "" & RST("antp_data")
itmx.SubItems(4) = "" & RST("dtp_data")
itmx.SubItems(5) = "" & RST("hib_data")
itmx.SubItems(6) = "" & RST("fa_data")
itmx.SubItems(7) = "" & RST("as_data")
itmx.SubItems(8) = "" & RST("tri_data")
itmx.SubItems(9) = "" & RST("dv_data")
itmx.SubItems(10) = "" & RST("da_data")
RST.MoveNext
Loop
a exibição dos dados foi essa:
VACINAS | BCG | CONTRA HEPATITE | ANTI PÓLIO
1ª DOSE - LOTE | 013304 | 010030 | 0100101
1ª DOSE - DATA | 01/01/2008 | 02/01/2008 | 03/01/2008
enfim + ou - como você pediu
mas como é apenas para um teste, criei uma função que filtra todos os
arquivos armazenados, você dever´alterar para consultar por clientes
outra coisa meu banco e dados está em access o seu em sql, ou mysql
o que fiz foi apenas te indicar o caminho faça suas adaptações, e que der errado poste para juntos podermos resolver todos problemas
até então um abraço.