Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос на выборку 
:(
    Опции темы
antonizmailov
Дата 21.5.2008, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



У меня вот такая проблема! Модуль описаный ниже не работает если в запросе есть выборка "Between [Начальная дата] And [Конечная дата]". Без выборки работает отлично. Как только ставишь выборку сразу пишет  "RUN-TIME ERROR 3061 слишком мало пораметров. Требуется 2"  

описание модуля:

Код

Option Compare Database

 Option Explicit
 
 Function GetTimeCardTotal1()

 Dim db As DAO.Database, rs As DAO.Recordset
 Dim totalhours As Long, totalminutes As Long
 Dim days As Long, hours As Long, minutes As Long
 Dim interval As Variant, j As Integer

 Set db = DBEngine.Workspaces(0).Databases(0)
 Set rs = db.OpenRecordset("Zapros po vremeni")
 interval = #12:00:00 AM#
    While Not rs.EOF
       interval = interval + rs![Время выполнения]
       rs.MoveNext
    Wend
 totalhours = Int(CSng(interval * 24))
 totalminutes = Int(CSng(interval * 1440))
 hours = totalhours Mod 24
 minutes = totalminutes Mod 60

 GetTimeCardTotal1 = totalhours & " hours and " & minutes & " minutes"

 End Function



Это сообщение отредактировал(а) skyboy - 21.5.2008, 13:30
PM MAIL   Вверх
skyboy
Дата 21.5.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260




M
skyboy
Не забываем указывать СУБД!
Пользуемся кнопкой "код" для форматирования программного кода!


Добавлено через 51 секунду
язык программирования какой?
что-то я SQL не вижу в приведенном коде....
PM MAIL   Вверх
antonizmailov
Дата 21.5.2008, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Аксес 2003
Сорь! запрос сам:

Код

SELECT [Ввод данных].Скважина, [Вид работ по созданию скважины].[Код этапа работ], [Вид работ по созданию скважины].[Этапы работ], TimeSerial([Ввод данных]![Кон Ч]-[Ввод данных]![Нач Ч],[Ввод данных]![Кон М]-[Ввод данных]![Нач М],0) AS [Время выполнения], [Ввод данных].Дата
FROM ([Вид работ по созданию скважины] 
INNER JOIN [Перечень тез оп 3 гр] 
ON [Вид работ по созданию скважины].[Код этапа работ] = [Перечень тез оп 3 гр].[Код этапа работ]) 
INNER JOIN 
(Бригадир INNER JOIN [Ввод данных] 
                 ON Бригадир.[Номер бригады] = [Ввод данных].[Номер бригады]
) 
ON [Перечень тез оп 3 гр].[Код технологической операции] = [Ввод данных].[Код технологической операции]
GROUP BY [Ввод данных].Скважина, [Вид работ по созданию скважины].[Код этапа работ], [Вид работ по созданию скважины].[Этапы работ], TimeSerial([Ввод данных]![Кон Ч]-[Ввод данных]![Нач Ч],[Ввод данных]![Кон М]-[Ввод данных]![Нач М],0), [Ввод данных].Дата
HAVING ((([Ввод данных].Дата) Between [Начальная дата] And [Конечная дата]));




Я исполлбзую функцию GetTimeCardTotal описаную здесь http://support.microsoft.com/kb/210604/ru ибо ну незняю я как с временем бороться. Надо посчитать сумму отработанного времени по определенному коду операции и по еще нескольким параметрам а она не в какую сумма времени получается 34 часа (ну ето еще нормально мне итог в часах и нужен) но минут то получается 93  smile.
Вот я и прибегнул к помпщи функции встраиваемой в модуле Аксеса.  

Это сообщение отредактировал(а) skyboy - 21.5.2008, 13:31
PM MAIL   Вверх
Akina
Дата 21.5.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Что есть [Начальная дата] и [Конечная дата] в HAVING? Среди полей отбора я их не вижу.
Цитата(antonizmailov @  21.5.2008,  14:18 Найти цитируемый пост)
Надо посчитать сумму отработанного времени 

Код

(long) ElapsedInDays = (EndDatetime - StartDatetime)
(long) ElapsedInHours = (EndDatetime - StartDatetime) * 24
(long) ElapsedInMinutes = (EndDatetime - StartDatetime) * 24 * 60
(long) ElapsedInSeconds = (EndDatetime - StartDatetime) * 24 * 60 * 60



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
antonizmailov
Дата 21.5.2008, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Цитата(Akina @ 21.5.2008,  13:31)
Что есть [Начальная дата] и [Конечная дата] в HAVING? Среди полей отбора я их не вижу.


Когда кликаешь на запрос надо ввести диапазон даты 

[Начальная дата] и [Конечная дата]


Подскажите плз куда ето вставить чтоб оно заработало ато я в ВБА слабовато

Код
код Visual Basic
1:(long) ElapsedInDays = (EndDatetime - StartDatetime)
2:(long) ElapsedInHours = (EndDatetime - StartDatetime) * 24
3:(long) ElapsedInMinutes = (EndDatetime - StartDatetime) * 24 * 60
4:(long) ElapsedInSeconds = (EndDatetime - StartDatetime) * 24 * 60 * 60
        

PM MAIL   Вверх
Akina
Дата 21.5.2008, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(antonizmailov @  21.5.2008,  14:43 Найти цитируемый пост)
Подскажите плз куда ето вставить чтоб оно заработало ато я в ВБА слабовато

 smile Это перевести на русский язык и громко читать вслух, пока не станет понятно о чем речь.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.