Как кодировать несколько наборов данных в VB.NET? - PullRequest
0 голосов
/ 13 июля 2011

У меня есть отчет, в котором мне нужны те же данные, но для четырех отдельных диапазонов дат.В настоящее время эти данные основаны на одном месяце, поэтому это всего лишь один набор данных.Но сейчас я пытаюсь сделать это с четырьмя отдельными наборами данных, каждый из которых фильтруется по каждому из четырех диапазонов дат.Я настроил свой цикл WHILE, чтобы проходить все четыре даты.Но сейчас у меня проблемы с четким именованием этих наборов данных.Это лучший способ сделать это?Похоже, что если бы я использовал несколько наборов данных для одного набора данных, мне пришлось бы определять каждый столбец данных.Вот моя текущая строка команд набора данных:

commandstring = "SELECT Batch_Records.Part_Number, Batch_Records.Lot_Number, Batch_Records.Date_Received, " & _
                                           "IsNull([Date_Completed], [Review_Date]) AS CompleteDate, Batch_Records.Error, " & _
                                           "Batch_Records.[Group], Batch_Records.MFG, Batch_Records.MFG2, Batch_Records.QC, Batch_Records.QC2, " & _
                                           "QC_CODES.CODE_DESC " & _
                                           "FROM EXCEL.Batch_Records LEFT JOIN EXCEL.QC_CODES ON Batch_Records.Part_Number = QC_CODES.CODE_ID " & _
                                           "WHERE (Batch_Records.[Group]" & TheGroup & " AND Batch_Records.Date_Received > '" & arrWeekYear(i, j).ToString("d") & "' AND Batch_Records.Date_Received < '" & arrWeekYear(i + 7, j).ToString("d") & "')"

1 Ответ

0 голосов
/ 15 июля 2011

Если я правильно понимаю, вы хотите 4 диапазона в одном запросе:

расширить ГДЕ (и следить за скобками ...)

"WHERE (Batch_Records.[Group]" & TheGroup & 
" AND (Batch_Records.Date_Received > '" & arrWeekYear(i1, j).ToString("d") & "' AND Batch_Records.Date_Received < '" & arrWeekYear(i1 + 7, j).ToString("d") &
") or (Batch_Records.Date_Received > '" & arrWeekYear(i2, j).ToString("d") & "' AND Batch_Records.Date_Received < '" & arrWeekYear(i2 + 7, j).ToString("d") &
") or (Batch_Records.Date_Received > '" & arrWeekYear(i3, j).ToString("d") & "' AND Batch_Records.Date_Received < '" & arrWeekYear(i3 + 7, j).ToString("d") &
") or (Batch_Records.Date_Received > '" & arrWeekYear(i4, j).ToString("d") & "' AND Batch_Records.Date_Received < '" & arrWeekYear(i4 + 7, j).ToString("d") &
"'))"

Или, если вы хотите иметь 4 набора выходных данных, создайте параметризованный запрос. Запустите его 4 раза, просто обновив значения параметров. Таким образом, у вас нет проблем с именами, поскольку у вас есть только 1 запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...