2010-11-27 32 views
0

J'essaie d'affecter à un tableau un enregistrement qui doit être divisé en plusieurs éléments pour des raisons de critères de recherche. Par exemple, si le critère est défini sur Prénom, recherchez le mot clé correspondant dans l'élément de tableau 0 car c'est là que le prénom sera placé après que l'enregistrement actuellement sélectionné est Split().NullReferenceException n'a pas été gérée VB.NET

Source pour le formulaire de recherche:

Public Class frmSearch 
    Dim arrayCurrentRecord(6) As String 
    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click 
     Me.DialogResult = DialogResult.Cancel 
    End Sub 

    Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click 
     'fill array with list box items 
     Dim arraySearch(frmMain.numberOfRecords) As String 
     For i = 0 To frmMain.numberOfRecords - 1 
      arraySearch(i) = frmMain.lstListBox.Items(i) 
     Next i 

     If rbtnFirstName.Checked = True Then 
      For i = 0 To UBound(arraySearch) 
       arrayCurrentRecord = arraySearch(i).Split(" ") 
       If InStr(arrayCurrentRecord(0), txtSearch.Text) = True Then 
        lstSearch.Items.Add(arraySearch(i)) 
       End If 
      Next i 
      MsgBox("search complete") 
     End If 
    End Sub 
End Class 

Répondre

0

Changement For i = 0 To UBound(arraySearch) à For i = 0 To UBound(arraySearch) - 1 résolu le problème, mais il ne trouvera rien dit simplement que la recherche était complète.

-1

Changer la ligne

If InStr(arrayCurrentRecord(0), txtSearch.Text) = True 

à

If InStr(arrayCurrentRecord(0), txtSearch.Text) 

résolu le problème.