Salve a tutti, sto creando un programma che da un file excel passa i dati a una datagridview e attraverso una ricerca in questa dgv porto i dati trovati in alcune label. Funziona bene, il problema è che c'è una colonna contenete per la maggior parte cifre (che vengono visualizzate correttamente) ma alcune celle hanno sia cifre che lettere. Quest'ultime non vengono lette e viene passato un valore DBnull. Io dovrei riuscire a leggere anche queste ultime. Spero di essere stato chiaro.
qua il codice della connesione tra excel e dgv:
codice:
cn = New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & frmhome.IndirizzoCatalogo & "\" & frmhome.NomeCatalogo & ".xls;Extended Properties=Excel 8.0;")
cn.Open()
FillDataGridView("Select * FROM [" & frmhome.NomeFoglio & "$]")
Public Sub FillDataGridView(ByVal Query As String)
'-------riempio la dgw--------
da = New OleDbDataAdapter(Query, cn)
dt = New DataTable
da.Fill(dt)
With dgwCatalogo
.DataSource = dt
End With
End Sub
qua il codice della ricerca:
codice:
Dim found As Boolean = False
Dim count As Single
count = dgwCatalogo.RowCount
For Each row As DataGridViewRow In dgwCatalogo.Rows
If row.Cells.Item(0).Value = frmhome.testo Then
found = True
Dim Acquisto As String = row.Cells(5).Value.ToString()
lblAcquisto.Text = Acquisto '& " €"
Exit For
End If
Next
il problema dovrebbe essere qua: Dim Acquisto As String = row.Cells(5).Value.ToString() dove value ha valore dbnull (poi convertito a string, ma rimane sempre vuoto).
Spero di essere stato chiaro,grazie in anticipo