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:
qua il codice della ricerca: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
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).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
Spero di essere stato chiaro,grazie in anticipo

Rispondi quotando