|
количество строк в запросе
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть простая табличка в БД на аксесс с полями Код(счетчик) и Дата(Дата). Табличка нужна для записи праздничных выходных. Занес данные на текущий годи теперь надо сделать запрос, который выводил бы количество праздничных дней в заданном интервале дат. Сделал запрос конструктором запросов: Код: plsql 1. 2. 3.
этот запрос работает правильно,например с 15.01 по 25.02 выводит 2. Мне надо использовать результат запроса в коде VBA. Поэтому я написал код для выборки количества праздников с выводом в поле формы: Код: vbnet 1. 2. 3. 4. 5.
вот здесь творится непонятное: 15.01 по 25.02 выводит 5, с 15.01 по 17.01 например тоже 5... откуда это? что не так? помогите пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 09:54 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlexЗдравствуйте. Есть простая табличка в БД на аксесс с полями Код(счетчик) и Дата(Дата). Табличка нужна для записи праздничных выходных. Занес данные на текущий годи теперь надо сделать запрос, который выводил бы количество праздничных дней в заданном интервале дат. Сделал запрос конструктором запросов: Код: plsql 1. 2. 3.
этот запрос работает правильно,например с 15.01 по 25.02 выводит 2. Мне надо использовать результат запроса в коде VBA. Поэтому я написал код для выборки количества праздников с выводом в поле формы: Код: vbnet 1. 2. 3. 4. 5.
вот здесь творится непонятное: 15.01 по 25.02 выводит 5, с 15.01 по 17.01 например тоже 5... откуда это? что не так? помогите пожалуйстаУ вас сейчас на какое событие вызывается этот кусок кода? Чтобы Поле130 показывало актуальные данные (соответствующие текущим значениям ДатаНачала и ДатаОкончания), нужно чтобы показанный кусок кода вызывался при любом изменении значений этих дат. Т.е. например в AfterUpdate контролов этих дат, как минимум. А если форма с источником - то еще и в Form_Current. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 10:09 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlexя написал код А теперь напиши нормально: Код: vbnet 1. 2. 3.
Такая форма позволит, остановив выполнение, посмотреть полученный текст запроса, и даже выполнить его напрямую. Что, в свою очередь, позволит быстро и без потерь обнаружить свою ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 10:10 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
И да - точка останова позволит понять, когда именно выполняется данный код. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 10:10 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
извиняюсь, забыл указать событие. Код выполняется на событии ДатаОкончания.AfterUpdate() ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 10:14 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlex, а так попробуй Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 10:21 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlexизвиняюсь, забыл указать событие. Код выполняется на событии ДатаОкончания.AfterUpdate() еще надо иметь ввиду, что ваш If ... >0 запрещает менять Поле130, если праздников за выбранный период нет. поэтому если "15.01 по 25.02 выводит 5" а потом вы меняете 25.02 на 17.01 - и при этом с "15.01 по 17.01" у вас празников нет, то у вас, согласно вашему коду, в Поле130 останется 5. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 10:24 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
Попробовал. ругается на строку Код: vbnet 1.
: "Невозможно присвоить значение объекту". Попробовал так: Код: vbnet 1.
- опять выводит 5... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 10:37 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
покажите, что в дебаг пишет (для обоих ваших вариантов дат) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 11:00 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlex, а чё не так (может я что-то не понимаю) Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 11:02 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
я понял, за цифра в результате за проса - количество заполненных строк, но без учета условия. Добавил еще строку - теперь 6 строк и результат запроса - тоже 6...а почему условие не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 11:10 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
опять ругается на строке Код: vbnet 1.
,что не может присвоить значение объекту...что за... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 11:18 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlexопять ругается на строке Код: vbnet 1.
,что не может присвоить значение объекту...что за...Me.Поле130 - это обычный TextBox? что у него написано в свойстве "Данные" (ControlSource)? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 11:23 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
да, с полем разобрался, попробовал предложенный вариант кода...опять хрень...опять выводит 6...а праздников всего2,например 22 и 23 февраля... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 11:34 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlexда, с полем разобрался, попробовал предложенный вариант кода...опять хрень...опять выводит 6...а праздников всего2,например 22 и 23 февраля...ответ где-то там:непоймучкаDebug.Print SQL Debug.Print "Count=" & rs.Fields(0).Value покажите, что в дебаг пишет (для обоих ваших вариантов дат) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 11:43 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
дебаг выдал следующее: Count=6 SELECT Count(Код) AS КолВых FROM ПраздничныеДаты WHERE Дата>=#01/08/2016# AND Дата<=#02/27/2016# Count=6 откуда 6? вот что в таблице: 1 21.02.2016 2 22.02.2016 3 23.02.2016 4 25.02.2015 5 07.03.2015 6 08.03.2015 Если задаю интервал до 21.02,то выводит 0,если до 22.02 или 23.02 или позже - то 6... почему все записи учитываются? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 11:44 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlex, Count без группировки? Сгруппируются ли записи если в SQL присутствует ключ(код) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 12:00 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
запрос Код: plsql 1. 2. 3.
выполняется правильно никаких группировок нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 12:07 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlexдебаг выдал следующее: Count=6 SELECT Count(Код) AS КолВых FROM ПраздничныеДаты WHERE Дата>=#01/08/2016# AND Дата<=#02/27/2016# Count=6 откуда 6? вот что в таблице: 1 21.02.2016 2 22.02.2016 3 23.02.2016 4 25.02.2015 5 07.03.2015 6 08.03.2015 Если задаю интервал до 21.02,то выводит 0,если до 22.02 или 23.02 или позже - то 6... почему все записи учитываются? DEBUGSELECT Count(Код) AS КолВых FROM ПраздничныеДаты WHERE Дата>=#01/15/2016# AND Дата<=#02/20/2016# Count=0 SELECT Count(Код) AS КолВых FROM ПраздничныеДаты WHERE Дата>=#01/15/2016# AND Дата<=#02/21/2016# Count=1 SELECT Count(Код) AS КолВых FROM ПраздничныеДаты WHERE Дата>=#01/15/2016# AND Дата<=#02/22/2016# Count=2 SELECT Count(Код) AS КолВых FROM ПраздничныеДаты WHERE Дата>=#01/15/2016# AND Дата<=#02/23/2016# Count=3что я делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 12:11 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
у меня пример не открывается выдается ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 12:13 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlexу меня пример не открывается выдается ошибкаваш пример выложите ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 12:16 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
открылся все таки пример, пробую - та же хрень... пишет 6 и все...предложенный пример запустил, да, все четко, у меня бесполезно... задаю интервал например с 20.01.16 по 26.02.16 дебаг пишет: Count=0 SELECT Count(Êîä) AS ÊîëÂûõ FROM Ïðàçäíè÷íûåÄàòû WHERE Äàòà>=#01/22/2016# AND Äàòà<=#02/26/2016# Count=0 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 13:50 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
jediAlexоткрылся все таки пример, пробую - та же хрень... пишет 6 и все...предложенный пример запустил, да, все четко, у меня бесполезно... задаю интервал например с 20.01.16 по 26.02.16 дебаг пишет: Count=0 SELECT Count(Êîä) AS ÊîëÂûõ FROM Ïðàçäíè÷íûåÄàòû WHERE Äàòà>=#01/22/2016# AND Äàòà<=#02/26/2016# Count=0 так и покажите ваш пример таблица+форма, желательно не выше msa2007 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 14:08 |
|
количество строк в запросе
|
|||
---|---|---|---|
#18+
вот у меня акс увы 2013... могу выложить только код формы полностью с предложенной функцией tst: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87.
у меня по прежнему выбираются все записи... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 14:23 |
|
|
start [/forum/topic.php?fid=45&msg=39147974&tid=1614065]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 160ms |
0 / 0 |