Yes - and looking at your code, you show the message box after you have accessed the row and it has excepted (see your pic 3)
That means that there are no rows - which means that the SELECT is returning none, which means that there are no rows where mat_sub_no in the DB matches teh current contents of Mat_Sub_NoComboBox.SelectedValue
So, when you get the exception - use the debugger to look at the other variables.
What is the value of Mat_Sub_NoComboBox.SelectedValue? Just hover your mouse over it and it will tell you...And I'm just guessing "Nothing" here! :laugh: