kipl20
asked on
problem on closing form in vb.net (Object reference not set to an instance of an object.)
hi,
i have an error when closing a form, the error is
Object reference not set to an instance of an object.
i have included the code below and the line of code the error comes from is
voc = curRow.Row.Item(1)
how do i overcome this, im stuck. have tried setting the selected index value of the combox on the exit button but this does not work
any ideas?
thanks in advance
i have an error when closing a form, the error is
Object reference not set to an instance of an object.
i have included the code below and the line of code the error comes from is
voc = curRow.Row.Item(1)
how do i overcome this, im stuck. have tried setting the selected index value of the combox on the exit button but this does not work
any ideas?
thanks in advance
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim curRow As DataRowView = ComboBox1.SelectedItem
Dim voc
Dim SQLString As String
Dim dtevents As New DataTable()
Dim dbDataAdapter As OleDbDataAdapter
'Dim ConnectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=A470s media.mdb;Persist Security Info=True"
' ComboBox1Event.ValueMember
'Dim ConnectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\Desktop\Copy of vb 30th march\A470s Media Manager\A470sMedManager\A470s media.mdb;Persist Security Info=True"
voc = curRow.Row.Item(1)
'events = Me.ComboBox1Event.SelectedIndex + 1
'events = Me.ComboBox1Event.SelectedItem
SQLString = "SELECT * FROM [MediaAsset] WHERE [Vocalist Code] = " & voc & ""
dbDataAdapter = New OleDbDataAdapter(SQLString, ConnectString)
dbDataAdapter.Fill(dtevents)
Dgvsearch.DataSource = dtevents
ListBox3.DataSource = dtevents
ListBox3.DisplayMember = "AssetFileName"
ListBox3.ValueMember = "AssetSource"
Or
Dim curRow As DataRowView = ComboBox1.SelectedItem
If curRow Isnot Nothing Then
'You code
End if
ASKER
hi, thanks for the reply but his doesnt seem to change any thing. my comboboxes are filled wit data from my access database using the code supplied. so i have a search from and on this form is a combobox, if the combobox text is Vocalist then it will fill another combo with the data.
does this have anything to do with it?
does this have anything to do with it?
ElseIf Me.ComboBox3.Text = "Vocalist" Then
Dim dbConn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(strConn)
dbConn.Open()
Dim DSet As New DataSet, SQLStr As String
Dim cmd As System.Data.OleDb.OleDbCommand
Dim dbAdaptr As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter
Dim tTbl As DataTable
With dbAdaptr
.TableMappings.Add("Table", "Vocalist ")
SQLStr = "Select [Vocalist Name],[Vocalist Code] from Vocalist"
cmd = New System.Data.OleDb.OleDbCommand(SQLStr, dbConn)
cmd.CommandType = CommandType.Text
.SelectCommand = cmd
.Fill(DSet)
.Dispose()
End With
' DSet.AcceptChanges() ' --> This line is useless
tTbl = DSet.Tables.Item(0)
DSet.Dispose()
dbConn.Close()
'fill out array by Event Names for combobox
ComboBox1.DataSource = tTbl
ComboBox1.DisplayMember = "Vocalist Name"
ComboBox1.ValueMember = "Vocalist Code"
'ComboBox1Event.SelectedItem = Nothing
Me.ComboBox1.Show()
Me.Label1.Show()
DataGridView1.Hide()
ComboBox1.Text = "---Select---"
txtSearchEvent.Hide()
txtSearchAr.Hide()
txtSearchVoc.Show()
Label2.Show()
Me.Label1.Text = "Search By Vocalist"
ListBox3.DataSource.clear()
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
hi sorry jpaulino i read your code wrong, i was putting it down as
Dim curRow As DataRowView = ComboBox1.SelectedItem
If curRow Isnot Nothing Then
'You code
else
voc = curRow.Row.Item(1)
End if
instead of the other way round which works, i think i was readin the isnot nothing as it is nothing
thanks alot
Dim curRow As DataRowView = ComboBox1.SelectedItem
If curRow Isnot Nothing Then
'You code
else
voc = curRow.Row.Item(1)
End if
instead of the other way round which works, i think i was readin the isnot nothing as it is nothing
thanks alot
Glad I could help!
Open in new window