Ciao a tutti, ho dei problemi con l'oggetto MsFlexGrid.

In questa griglia vengono visualizzati dei record contenente dati,
le righe totali della griglia di norma sono due.
Una riga contiene le etichette delle varie colonne, l'altra i dati effettivi.
Può capitare però che ci siano piu righe.

Ho dovuto aggiungere due nuovi campi, per cui due nuove colonne alla struttura della griglia.

Eseguo poi un test su un dato che deve contenere nella griglia un solo record (a parte ovviamente le etichette)

Invece me ne visualizza due record quasi identici:

Al primo record mancano i dati (guarda caso) delle ultime due colonne che ho aggiunto,
al secondo record anche i dati delle ultime colonne aggiunte sono presenti.

Ho pensato che forse dovevo controllolare l'incremento delle colonne, ma il codice mi sembra corretto.

Nelle proprietà dell'oggetto griglia ovviamente ho modificato il n. di colonne riportando l'esatto n.

Ve lo riporto:


codice:
Sub VisualizzaListaContratti47(ByVal CodiceCliente As String)

Dim strListaC As String
Dim NumCliente As String
Dim NumPolizza, Lib9, Lib10, Lib11, Lib12, Lib13, Lib14, Lib15, Lib37, Col29, Col30 As String
Dim SqlVisCoCli As String

On Error GoTo ErrExec

MSFlexGridContratti.Clear

'Inserisco il titolo della colonna
MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 0
MSFlexGridContratti.ColWidth(0) = 1200
MSFlexGridContratti.Text = "N. Polizza"

MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 1
MSFlexGridContratti.ColWidth(1) = 1600
MSFlexGridContratti.Text = "Tipologia Polizza"

MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 2
MSFlexGridContratti.ColWidth(2) = 1100
MSFlexGridContratti.Text = "Frazionamento"

MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 3
MSFlexGridContratti.ColWidth(3) = 2200
MSFlexGridContratti.Text = "Premio Annuo"

MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 4
MSFlexGridContratti.ColWidth(4) = 1000
MSFlexGridContratti.Text = "Rate non pagate"

MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 5
MSFlexGridContratti.ColWidth(5) = 1400
MSFlexGridContratti.Text = "Importo"

MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 6
MSFlexGridContratti.ColWidth(6) = 1200
MSFlexGridContratti.Text = "Data ult. vers. effet."

MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 7
MSFlexGridContratti.ColWidth(7) = 1200
MSFlexGridContratti.Text = "Data Sottoscr."

MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 8
MSFlexGridContratti.ColWidth(8) = 1700
MSFlexGridContratti.Text = "Mod. pagamento"

' Modifica Elena Aggiunta colonne 20030622

MSFlexGridContratti.Row = 0
MSFlexGridContratti.Col = 9
MSFlexGridContratti.ColWidth(9) = 1400
MSFlexGridContratti.Text = "Revoca da BM"

NumCliente = CodiceCliente

SqlVisCoCli = "Select * from Recall47 where colonna14 = '" & CodiceCliente & "'"
Set Rs = CnRdo.OpenResultset(SqlVisCoCli)

If Rs("libero14") <> vbNullString Then
    NumPolizza = Rs("libero14")
Else
    NumPolizza = ""
End If

If Rs("libero9") <> vbNullString Then
    Lib9 = Rs("libero9")
Else
    Lib9 = ""
End If

If Rs("libero10") <> vbNullString Then
    Lib10 = Rs("libero10")
Else
    Lib10 = ""
End If

If Rs("libero11") <> vbNullString Then
    Lib11 = Rs("libero11")
Else
    Lib11 = ""
End If

If Rs("libero12") <> vbNullString Then
    Lib12 = Rs("libero12")
Else
    Lib12 = ""
End If

If Rs("libero13") <> vbNullString Then
    Lib13 = Rs("libero13")
Else
    Lib13 = ""
End If

If Rs("libero15") <> vbNullString Then
    Lib15 = Rs("libero15")
Else
    Lib15 = ""
End If

'Modifica elena 20030622- inserimento nuove colonne
If Rs("colonna29") <> vbNullString Then
    Col29 = Rs("colonna29")
Else
    Col29 = ""
End If

If Rs("libero37") <> vbNullString Then
    Lib37 = Rs("libero37")
Else
    Lib37 = ""
End If

If Rs("colonna30") <> vbNullString Then
    Col30 = Rs("colonna30")
Else
    Col30 = ""
End If

'Fine modifica Elena 20030622

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 0
MSFlexGridContratti.Text = Trim(NumPolizza)

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 1
MSFlexGridContratti.Text = Trim(Lib9)

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 2
MSFlexGridContratti.Text = Trim(Lib15)

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 3
MSFlexGridContratti.Text = Trim(Lib10)

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 4
MSFlexGridContratti.Text = Trim(Lib11)

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 5
MSFlexGridContratti.Text = Trim(Lib12)

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 6
MSFlexGridContratti.Text = Trim(Lib13)

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 7
MSFlexGridContratti.Text = Trim(Col29)

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 8
MSFlexGridContratti.Text = Trim(Lib37)

' Modifica Elena - aggiunta nuova colonna - 20030622

MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 9
MSFlexGridContratti.Text = Trim(Col30)

'Fine Modifica Elena 20030622

Rs.MoveNext

Do While Not Rs.EOF

If Rs("libero14") <> vbNullString Then
    NumPolizza = Rs("libero14")
Else
    NumPolizza = ""
End If

If Rs("libero9") <> vbNullString Then
    Lib9 = Rs("libero9")
Else
    Lib9 = ""
End If

If Rs("libero10") <> vbNullString Then
    Lib10 = Rs("libero10")
Else
    Lib10 = ""
End If

If Rs("libero11") <> vbNullString Then
    Lib11 = Rs("libero11")
Else
    Lib11 = ""
End If

If Rs("libero12") <> vbNullString Then
    Lib12 = Rs("libero12")
Else
    Lib12 = ""
End If

If Rs("libero13") <> vbNullString Then
    Lib13 = Rs("libero13")
Else
    Lib13 = ""
End If

If Rs("libero15") <> vbNullString Then
    Lib15 = Rs("libero15")
Else
    Lib15 = ""
End If

' Modifica Elena Aggiunta nuove colonne 20030622

If Rs("colonna29") <> vbNullString Then
    Col29 = Rs("colonna29")
Else
    Col29 = ""
End If

If Rs("libero37") <> vbNullString Then
    Lib37 = Rs("libero37")
Else
    Lib37 = ""
End If

If Rs("colonna30") <> vbNullString Then
    Col30 = Rs("colonna30")
Else
    Col30 = ""
End If

' Fine Modifica Elena 20030622


'----------------------------------------------------------------------------
Dim strListaCGrid As String

strListaCGrid = ""
strListaCGrid = strListaCGrid & Trim(NumPolizza)
strListaCGrid = strListaCGrid & Chr(9) & Trim(Lib9)
strListaCGrid = strListaCGrid & Chr(9) & Trim(Lib15)
strListaCGrid = strListaCGrid & Chr(9) & Trim(Lib10)
strListaCGrid = strListaCGrid & Chr(9) & Trim(Lib11)
strListaCGrid = strListaCGrid & Chr(9) & Trim(Lib12)
strListaCGrid = strListaCGrid & Chr(9) & Trim(Lib13)
'Modifica Elena - Aggiunta colonne - 20030622
strListaCGrid = strListaCGrid & Chr(9) & Trim(Col29)
strListaCGrid = strListaCGrid & Chr(9) & Trim(Lib37)
strListaCGrid = strListaCGrid & Chr(9) & Trim(Col30)
'Fine Modifica Elena - Aggiunta colonne - 20030622


MSFlexGridContratti.AddItem strListaCGrid

Rs.MoveNext
Loop

Exit Sub
Trovate qualcosa di sbagliato?? o che manca??? :master: