質問するログイン新規登録

回答編集履歴

8

コメント修正

2016/09/04 11:16

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -27,7 +27,8 @@
27
27
  Dim answer(4) As String
28
28
 
29
29
  '繰り返し文の記載(不十分な点です)
30
- For count = 0 To answer.Length - 1
30
+ 'For count = 0 To 4
31
+ For count = 0 To answer.Length - 1 '配列などのループ処理上限は要素数(LengthやCount)から取得する方が変更に強い
31
32
  Select Case RadioButtonList.SelectedValue
32
33
  Case 1
33
34
  answer(count) = "1"

7

コメント修正

2016/09/04 11:16

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -42,6 +42,8 @@
42
42
 
43
43
  '最後にtbl_testRgにデータを格納します
44
44
  Dim strSQL As String
45
+
46
+ ' 下記SQLのanswer(5)は余計では?
45
47
  ' strSQL = "INSERT INTO tbl_testRg" &
46
48
  ' " (ID, result1, result2, result3, result4, result5, date)" &
47
49
  ' " VALUES(" & newid & "," & answer(0) & "," & answer(1) & "," & answer(2') & "," & answer(3) & "," & answer(4) & "," & answer(5) & "," & dtToday & ")"

6

コード修正

2016/09/04 11:02

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -20,11 +20,12 @@
20
20
  配列のインデックス指定がそもそもの原因ではないでしょうか?
21
21
  下のように変更したらどうなりますか?
22
22
 
23
- ```VB
23
+ ``` VB
24
24
  ' ソース引用一部修正
25
- 'Dim answer(4) As Boolean 'データ型はどうすれば?
26
- Dim answer(5) As String
27
25
 
26
+ 'Dim answer(4) As Boolean
27
+ Dim answer(4) As String
28
+
28
29
  '繰り返し文の記載(不十分な点です)
29
30
  For count = 0 To answer.Length - 1
30
31
  Select Case RadioButtonList.SelectedValue
@@ -39,12 +40,13 @@
39
40
 
40
41
  '中略
41
42
 
42
- 最後にtbl_testRgにデータを格納します
43
+ '最後にtbl_testRgにデータを格納します
43
44
  Dim strSQL As String
44
45
  ' strSQL = "INSERT INTO tbl_testRg" &
45
46
  ' " (ID, result1, result2, result3, result4, result5, date)" &
46
47
  ' " VALUES(" & newid & "," & answer(0) & "," & answer(1) & "," & answer(2') & "," & answer(3) & "," & answer(4) & "," & answer(5) & "," & dtToday & ")"
48
+
47
- strSQL = "INSERT INTO tbl_testRg" &
49
+ strSQL = "INSERT INTO tbl_testRg" &
48
50
  " (ID, result1, result2, result3, result4, result5, date)" &
49
51
  " VALUES(" & newid & "," & answer(0) & "," & answer(1) & "," & answer(2) & "," & answer(3) & "," & answer(4) & "," & "," & dtToday & ")"
50
52
  ```

5

コード修正2

2016/09/04 10:59

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -36,4 +36,15 @@
36
36
  answer(count) = "NULL"
37
37
  End Select
38
38
  Next count
39
+
40
+ '中略
41
+
42
+ 最後にtbl_testRgにデータを格納します
43
+ Dim strSQL As String
44
+ ' strSQL = "INSERT INTO tbl_testRg" &
45
+ ' " (ID, result1, result2, result3, result4, result5, date)" &
46
+ ' " VALUES(" & newid & "," & answer(0) & "," & answer(1) & "," & answer(2') & "," & answer(3) & "," & answer(4) & "," & answer(5) & "," & dtToday & ")"
47
+ strSQL = "INSERT INTO tbl_testRg" &
48
+ " (ID, result1, result2, result3, result4, result5, date)" &
49
+ " VALUES(" & newid & "," & answer(0) & "," & answer(1) & "," & answer(2) & "," & answer(3) & "," & answer(4) & "," & "," & dtToday & ")"
39
50
  ```

4

回答修正

2016/09/04 10:55

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -12,4 +12,28 @@
12
12
 
13
13
  Dim l = i.Value ' こうするとBoolean型として取り出せる
14
14
  End If
15
+ ```
16
+ **上記回答は見当違いなので忘れて下さい。**
17
+
18
+ ---
19
+ 今気づいたんですが、
20
+ 配列のインデックス指定がそもそもの原因ではないでしょうか?
21
+ 下のように変更したらどうなりますか?
22
+
23
+ ```VB
24
+ ' ソース引用一部修正
25
+ 'Dim answer(4) As Boolean 'データ型はどうすれば?
26
+ Dim answer(5) As String
27
+
28
+ '繰り返し文の記載(不十分な点です)
29
+ For count = 0 To answer.Length - 1
30
+ Select Case RadioButtonList.SelectedValue
31
+ Case 1
32
+ answer(count) = "1"
33
+ Case 0
34
+ answer(count) = "0"
35
+ Case Else
36
+ answer(count) = "NULL"
37
+ End Select
38
+ Next count
15
39
  ```

3

コメント修正2

2016/09/04 10:49

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -10,6 +10,6 @@
10
10
  If i.HasValue Then
11
11
  ' 値がNull(VBではNothing)でない場合
12
12
 
13
- Dim l = i.Value ' こうするとBoolean値で取り出せる
13
+ Dim l = i.Value ' こうするとBoolean型として取り出せる
14
14
  End If
15
15
  ```

2

コメント修正

2016/09/04 08:06

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
  If i.HasValue Then
11
- ' 値がNullでない場合
11
+ ' 値がNull(VBはNothing)でない場合
12
12
 
13
13
  Dim l = i.Value ' こうするとBoolean値で取り出せる
14
14
  End If

1

コード追記

2016/09/04 07:56

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -1,1 +1,15 @@
1
- [Null許容型](https://msdn.microsoft.com/ja-jp/library/cc441755(v=vs.90).aspx)のBoolean型を使ってみてはどうでしょうか?
1
+ [Null許容型](https://msdn.microsoft.com/ja-jp/library/cc441755(v=vs.90).aspx)のBoolean型を使ってみてはどうでしょうか?
2
+
3
+ ``` VB
4
+ ' 宣言方法
5
+ Dim i As Boolean?
6
+ Dim j? As Boolean
7
+ Dim k As Nullable(Of Boolean)
8
+
9
+
10
+ If i.HasValue Then
11
+ ' 値がNullでない場合
12
+
13
+ Dim l = i.Value ' こうするとBoolean値で取り出せる
14
+ End If
15
+ ```