Chyba může být v použití v ElseIf. Pokud je v řádku více buněk s DBNull, pak se změní jen první v pořadí. Po ElseIf s pravdivou podmínkou totiž následuje jen Else nebo End If, žádné další ElseIf se po splněné podmínce již nevyhodnocuje! Kdyby nešel změnit zdroj (nakonec je to i zbytečné), použijte pro každou buňku podmínku tak, že pokud není IsDBNull, naplníte buňku Wordu hodnotou z DataGridWiev, jinak s "" (popř. tím, co Word očekává).
For i As Integer = 0 To Form1.DataGridView1.Rows.Count - 2
With w.ActiveDocument.Tables(1).Rows.Add()
If Not IsDBNull(Form1.PříjmyDataGridView.Rows(i).Cells(0).Value) Then
.Cells(1).Range.Text = Form1.DataGridView1.Rows(i).Cells(0).Value
else
.Cells(1).Range.Text = ""
End If
' a obdobně pro všechny další buňky v řádku...
'...
End With
Next
|