Написание функций в Visual Basic

NNNata:)
Дата: 06.09.2005 16:57:59
Здравствуйте!!!
Столкнулась я со следующей проблемой: мне надо найти точную разницу между 2-мя датами. Функцию, реализующую это, я нашла на форуме, но как ее имплементировать я не знаю (я новичек в этой области). Вот та функция

Function aaa(Дата1 As Date, Дата2 As Date)
Dim y As Integer, m As Integer, d As Integer

y = Year(Дата2) - Year(Дата1)
m = Month(Дата2) - Month(Дата1)
If m < 0 Then m = m + 12: y = y - 1
d = Day(Дата2) - Day(Дата1)
If d < 0 Then
d = d + Day(DateSerial(Year(Дата2), Month(Дата2) - 1, 1) - 1)
m = m - 1
If m = -1 Then m = 11: y = y - 1
endif
Debug.Print d & "-" & m & "-" & y
End Function

Я создала новый модуль и туда поместила эту функцию, но когда одному полю на форме присваиваю Данные=aaa(2004-1-23;2005-2-24), то никакого результата не получаю в этом поле. Помогите справится с проблемой использования функции,pls!!
Владимир Саныч
Дата: 06.09.2005 17:04:30
Есть стандартная функция DateDiff. Все остальное - только если очень хочется посоревноваться с Майкрософтом.
Владимир Саныч
Дата: 06.09.2005 17:05:22
А в самой функции просто в конце пропущена строчка
aaa = ...
Владимир Саныч
Дата: 06.09.2005 17:06:21
Больше того, разницу между именно датами можно получать простым вычитанием. Результат будет в днях.
NNNata:)
Дата: 06.09.2005 17:14:07
Владимир Саныч
Больше того, разницу между именно датами можно получать простым вычитанием. Результат будет в днях.


В том то и делоб что мне надо получить данные в виде "кол-во лет.месяцев.дней".Может 3 разным полям присвоить соответственно кол-во лет, кол-во месяцев, кол-во днейю Только как сделать с помощью этой функции я не очень знаю.
NNNata:)
Дата: 06.09.2005 17:15:28
Владимир Саныч
А в самой функции просто в конце пропущена строчка
aaa = ...


A что написать aaa=????
Polev
Дата: 06.09.2005 17:16:43
NNNata:)
Владимир Саныч
А в самой функции просто в конце пропущена строчка
aaa = ...


A что написать aaa=????

вероятнее всего
aaa = d & "-" & m & "-" & y

Ведь именно это должна вычислить функция aaa
?
NNNata:)
Дата: 06.09.2005 17:25:22
Polev
NNNata:)
Владимир Саныч
А в самой функции просто в конце пропущена строчка
aaa = ...


A что написать aaa=????

вероятнее всего
aaa = d & "-" & m & "-" & y

Ведь именно это должна вычислить функция aaa
?


Да это. У меня новая проблема: когда вызывается макрос при открытии формы(тот макрос содержит "открыть модуль" - я указала какой модуль и написала Имя Процедуры aaa(2005-01-23;2004-01-22)), то при открытии формы он мне выдает ошибку что не может найти функцию aaa. Значит я раннее что-то неправильно сделала?
fdsa
Дата: 06.09.2005 17:46:41
Чего-то типа
Select Date1, Date2, 'Дней: ' & DateDiff('d',[Date1],[Date2]) & ', Месяцев: ' & DateDiff('m',[Date1],[Date2]) & ', лет: ' & DateDiff('yyyy',[Date1],[Date2]) as Разница
From YourTable
fdsa
Дата: 06.09.2005 17:49:48
Не, не то.