Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Подсчет конкретного имени столбца

Автор вопроса: Intan Nur ShafienazОтветов: 1

Я просто хочу знать, почему vb не выполняет данные за октябрь? Вот мой код.

For col As Integer = 4 To ldtData.Columns.Count - 1
If ldtData.Columns(col).ColumnName.Substring(0, 1) = "1"
Then cnt1 = cnt1 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "2"
Then cnt2 = cnt2 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "3"
Then cnt3 = cnt3 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "4"
Then cnt4 = cnt4 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "5"
Then cnt5 = cnt5 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "6"
Then cnt6 = cnt6 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "7"
Then cnt7 = cnt7 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "8"
Then cnt8 = cnt8 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "9"
Then cnt9 = cnt9 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 2) = "10"
Then cnt10 = cnt10 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 2) = "11"
Then cnt11 = cnt11 + 1
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 2) = "12"
Then cnt12 = cnt12 + 1
End If
Next

Для месяца с 1 по 9 будет учитываться количество данных на основе отдельного месяца, но для месяца 10, 11, 12. он будет выполняться как cnt1. Почему?

  • Вы проверили, что возвращает ldtData.Columns(col).ColumnName.Substring(0, 2)? JohnyL 07.05.2018
  • @JohnyL да, он возвращает 10, но почему он все еще может выполняться в If ldtData.Columns(col).ColumnName.Substring(0, 1) = "1" Если в моем столбце данных 10-296GP затем выполнить команду ldtData.Columns(col).ColumnName.Substring(0, 2) = "10" должно получить 10 Intan Nur Shafienaz 07.05.2018

Ответы

Ответ 1 · Intan Nur Shafienaz

Проблема решена путем добавления - в каждый ожидаемый результат после метода подстроки.

If ldtData.Columns(col).ColumnName.Substring(0, 1) = "1-"
.
.
.

ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "10-"

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы