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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кол-во дней между датами 
V
    Опции темы
Rodman
Дата 6.6.2007, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Дароф.

Есть таблица "Доноры", в ней поле ДатаСдачи

считаю DateDiff ('d', Дата_забора,Date), выдает ошибку "Пропущен операнд или оператор, введен недопустимый  знак или лишняя запятая, либо задана строка без кавычек!"


Что не так?

Сенкс!

PM MAIL WWW Skype GTalk YIM MSN   Вверх
Dimbuch
Дата 6.6.2007, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор



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

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



Вот, этот метод взял с какого-то форума. У меня работает. Я доволен  smile 
Код

Public Function FormatInterval(Interval As Variant, Fmt As String) As String
'
' Formats the difference between 2 dates or sum of 2 times
' to show day as well as hours, minutes, and seconds.
'
' Supports the following formats:
' D H 5 Days 5 Hours
' D H:MM 5 Days 5:15
' D HH:MM 5 Days 05:15
' D H:MM:SS 5 Days 5:15:45
' D HH:MM:SS 5 Days 05:15:45
' H M 125 Hours 15 Minutes
' H:MM 125:15
' HH:MM 05:15
' H:MM:SS 125:15:45
' M S 7515 Minutes 45 Seconds
'
Dim Days As Long, Hours As Long, Minutes As Long, Seconds As Long
'
' Check for Date or Double
'
If VarType(Interval) <> vbDate And VarType(Interval) <> vbDouble Then Exit Function
'
' Parse Days
'
Days = Int(Interval)
Interval = Interval - Days
If Interval > #11:59:59 PM# Then
Days = Days + 1
Interval = 0#
End If
'
' Parse Hours
'
Interval = Interval * 24
Hours = Int(Interval)
Interval = Interval - Hours
If Interval > 3599# / 3600# Then
  Hours = Hours + 1
  Interval = 0#
End If
'
' Parse Minutes
'
Interval = Interval * 60
Minutes = Int(Interval)
Interval = Interval - Minutes
If Interval > 59# / 60# Then
  Minutes = Minutes + 1
  Interval = 0#
End If
'
' Parse Seconds
'
Seconds = Int(Interval * 60 + 0.5)
'
' Normalize
'
If Seconds = 60 Then
  Minutes = Minutes + 1
  Seconds = 0
End If
If Minutes > 59 Then
  Hours = Hours + 1
  Minutes = Minutes - 60
End If
If Hours > 23 Then
  Days = Days + 1
  Hours = Hours - 24
End If
'
' Create format
'
Select Case Fmt
  Case "D H"
    FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Hours & IIf(Hours <> 1, " Hours", " Hour")
  Case "D H:MM"
    FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Hours & ":" & Format(Minutes, "00")
  Case "D HH:MM"
    FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Format(Hours, "00") & ":" & Format(Minutes, "00")
  Case "D H:MM:SS"
    FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Hours & ":" & Format(Minutes, "00") & ":" & Format(Seconds, "00")
  Case "D HH:MM:SS"
    FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Format(Hours, "00") & ":" & Format(Minutes, "00") & ":" & Format(Seconds, "00")
  Case "H M"
    Hours = Hours + Days * 24
    FormatInterval = Hours & IIf(Hours <> 1, " Hours ", " Hour ") & Minutes & IIf(Minutes <> 1, " Minutes", " Minute")
  Case "H:MM"
    Hours = Hours + Days * 24
    FormatInterval = Hours & ":" & Format(Minutes, "00")
  Case "HH:MM"
    Hours = Hours + Days * 24
    FormatInterval = Format(Hours, "00") & ":" & Format(Minutes, "00")
  Case "H:MM:SS"
    Hours = Hours + Days * 24
    FormatInterval = Hours & ":" & Format(Minutes, "00") & ":" & Format(Seconds, "00")
  Case "M S"
    Minutes = Minutes + (Hours + Days * 24) * 60
    FormatInterval = Minutes & IIf(Minutes <> 1, " Minutes ", " Minute ") & Seconds & IIf(Seconds <> 1, " Seconds", " Second")
  Case Else
    FormatInterval = Null
End Select
End Function

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


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


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

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



Цитата(Rodman @  6.6.2007,  14:38 Найти цитируемый пост)
считаю DateDiff ('d', Дата_забора,Date), выдает ошибку 

Еще бы!!! где считаете, в коде? ну и расскажите, как интерпретатор сможет понять, что Дата_забора - поле БД, а не переменная? что Date - функция, а не переменная? 

Слишком грязно пишете, отсюда и проблемы.


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

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


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Сенкс!!! 
PM MAIL WWW Skype GTalk YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




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


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

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