始める前に、不明な点がある場合はお詫び申し上げますが、最善を尽くします。私はvbnetを使用して、リストボックス(およびテキストボックス)とcaseステートメントを使用するプログラムを作成しています。後でユーザー入力をアクセスデータベースに送信できるようにするクラスを作成しようとしています。私が抱えている問題は、データベースに送信されるcaseステートメントを含む変数値を取得できないことです。
これがコードです、そしておそらく誰かが私が問題を解決するのを手伝ってくれるでしょう:
これは私がユーザー入力を受け入れるフォームにあるものです(テキストボックスも含まれていますが、私はそれらを理解しています):
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Fill Listbox with items
Me.Controls.Add(ListBox1)
ListBox1.Items.Add("Shoot in-laws")
ListBox1.Items.Add("Become a paparazzi")
ListBox1.Items.Add("Drive 5 mph over speed limit")
ListBox1.Items.Add("Treat for rabies once a week")
ListBox1.Items.Add("Cheat on income taxes")
ListBox1.Items.Add("Breathe uder water")
ListBox1.Items.Add("Recite the Gettysburg Address")
ListBox1.Items.Add("Smile while being staked")
ListBox1.Items.Add("Stay calm while getting help on C#")
ListBox1.Items.Add("Day dream about playing chess")
ListBox1.Items.Add("Take candy from a baby")
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Select Case ListBox1.SelectedIndex
Case 0
dblTestScore = 50
Case 1
dblTestScore = 15
Case 2
dblTestScore = 25
Case 3
dblTestScore = 55
Case 4
dblTestScore = 10
Case 5
dblTestScore = 20
Case 6
dblTestScore = 40
Case 7
dblTestScore = 65
Case 8
dblTestScore = 30
Case 9
dblTestScore = 35
Case 10
dblTestScore = 45
End Select
End Sub
これで、次のコードがクラスに含まれます。
Public Class ClsWriteRecord
Public Sub addNewRecordMore(ByVal listTestScore As ListBox, ByVal listTEST As ListBox,
'declare variables
Dim dblTestScore As Double
Dim strTEST As String
'Get values
strTEST = listTEST.GetItemText(listTEST.SelectedItem)
dblTestScore = listTEST.GetItemText(listTEST.SelectedIndex)
End Sub
End Class
strTESTは正しく機能し、リストボックスアイテムを取得してデータベースに送信します(例:「Shootin-laws」)が、dblTestScoreは機能しません。代わりに、たとえば50、15、25などの値は、ケース番号である0、1、2を送信します。
誰かが私がそれを理解するのを手伝ってもらえますか?インターネットを検索しましたが、答えが見つかりませんでした。前もって感謝します。