powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Передача Даты в UDFфункцию SQL Server
7 сообщений из 7, страница 1 из 1
Передача Даты в UDFфункцию SQL Server
    #32406979
NataKolenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя функция должна вычислить ближайшую дату поступления указанного товара, т.е. входные параметры: @Tov – кодТовара, @DatTov – дата. Эту функцию я вызываю из формы, где объявляю два параметра:

tov = Me.Код
dtov = Forms!Возврат!Дата
Set cmd = New ADODB.Command
cmd.Parameters.Append cmd.CreateParameter("@Tov", adInteger, adParamInput, , tov)
cmd.Parameters.Append cmd.CreateParameter("@DatTov", adDBDate, adParamInput, , dtov)

Т.е. дата берется из формы, и функция ничего не вычисляет, а если в функции принудительно проставить дату, то все нормально. Что нужно переделать??? Помогите!!!!!!!!!!!


CREATE FUNCTION getSebest2
(@Tov int, @DatTov datetime )
RETURNS datetime
AS
BEGIN
DECLARE @dMax AS datetime
declare @TovS as real
set @dMax = (SELECT MAX(dbo.Поездка.Дата) AS MaxD
FROM dbo.Поездка INNER JOIN
dbo.Товар ON dbo.Поездка.НомерПоездки = dbo.Товар.КодПоездки
WHERE (dbo.Поездка.Дата <= CONVERT(DATETIME, @DatTov, 102)) AND (dbo.Поездка.Отмечено = 1) AND
(dbo.Товар.ПоездкаПередачаПродажа = 1) AND (dbo.Товар.КТН = @Tov))


RETURN @dMax
END
...
Рейтинг: 0 / 0
Передача Даты в UDFфункцию SQL Server
    #32407123
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вероятно, нужно подсунуть дату SQL'ю в правильно отформатированном виде.
...
Рейтинг: 0 / 0
Передача Даты в UDFфункцию SQL Server
    #32407129
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоп... А почему adDBDate?
А если adDate?
...
Рейтинг: 0 / 0
Передача Даты в UDFфункцию SQL Server
    #32407316
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cmd.Parameters.Append cmd.CreateParameter("@Tov", adInteger, adParamInput, , tov)
cmd.Parameters.Append cmd.CreateParameter("@DatTov", adInteger , adParamInput, , CDBL(dtov)-2 )
...
Рейтинг: 0 / 0
Передача Даты в UDFфункцию SQL Server
    #32407335
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще вопрос, зачем делать так:

CREATE FUNCTION getSebest2
(@Tov int, @DatTov datetime )
...
WHERE (dbo.Поездка.Дата <= CONVERT(DATETIME, @DatTov, 102)) ...
...
Рейтинг: 0 / 0
Передача Даты в UDFфункцию SQL Server
    #32409927
NataKolenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)тип adDBDate - indicates a date value - yyyymmdd
2) когда создаем представление, и там задаем отбор по дате, то автоматически введення дата преобразуется в строку - CONVERT(DATETIME, @DatTov, 102)) - что задает формат ANSI - yyyy.mm.dd
В общем может есть еще какие - нибудь идеи у кого-нибудь, а то пока никак
Заранее огромное СПАСИБО
...
Рейтинг: 0 / 0
Передача Даты в UDFфункцию SQL Server
    #32409936
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея тут простая - передавать дату в том виде, в котором её понимают все и вся. А именно, в символьном представлении. Далее преобразовывать её к штатному типу datetime соответствующими ф-иями преобразования сервера.
Можно, также, воспользоваться способностью сервера к неявному преобразованию, передав ему в качестве входного параметра строковое представление для даты в том формате, из которого он всегда сделает сам неявное преобразование. А именно, в формате ISO 'yyyymmdd'. См. FAQ , например.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Передача Даты в UDFфункцию SQL Server
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]