0

私はここにコードを持っていますこれはレコードをデータベースに保存するためのものです:

If mstrMaintMode = "ADD" Then

    lngIDField = GetNextCustID()

    strSPName = "InsertCustomer"

    Set objNewListItem = mylistview.ListItems.Add(, , txtname.Text)
    PopulateListItem objNewListItem
    With objNewListItem
        **.SubItems(mlngCUST_ID_IDX) = CStr(lngIDField)**
        .EnsureVisible
    End With
    Set mylistview.SelectedItem = objNewListItem
    Set objNewListItem = Nothing
Else
    lngIDField = CLng(mylistview.SelectedItem.SubItems(mlngCUST_ID_IDX))

    strSPName = "UpdateCustomer"

    mylistview.SelectedItem.Text = txtname.Text
    PopulateListItem mylistview.SelectedItem
End If

エラーは次のとおりです。アスタリスクが付いた行のプロパティ値が無効です。iveはこのコードを別のデータベースに使用しようとしましたが、機能しません。他の場合はそうではありません。ストアドプロシージャをチェックしました。正しいです。テーブルフィールドも正しいですが、それでもこのエラーが発生します。iveは答えを見つけるのに3時間かかりましたが、私はそれを理解できませんでした。

4

1 に答える 1

2

リストビューの列数を指定して範囲外のサブアイテムインデックスを指定すると、強調表示した行が「無効なプロパティ値」で失敗します。

インデックスは1ベースですが、2番目の列から始まり、インデックスが7であるため、少なくとも8つの列を追加する必要があります。

于 2013-03-06T14:50:17.580 に答える