Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Проблемы с использованием Даты в Access и Sql Server  [new]
1
Guest
Используемые программы: SQL Server 2000 во взаимодействии с Access Xp

База данных переносится с Access 97 на SQL Server. Дело новое, неосвоенное )) и возникли проблемы с датой.

На SQL Servere создана хранимая процедура:

ALTER PROCEDURE dbo.СохраненнаяПроцедура2

@Nal_bezn1 int,
@DayDate1 datetime

As SELECT DayDate, RecNumber, ExpID, TextField, Total, EmployeeID, ValutaID, Closed, Nal_bezn
FROM Расходы
WHERE Nal_bezn = @Nal_bezn1 and DayDate=@DayDate1
ORDER BY RecNumber

в Access на открытии формы, использующей данные этой процедуры следующий код:
Me.RecordSource = "exec СохраненнаяПроцедура2 " & Str(1) & ",'" & Format(Me.DayDate1, "yyyymmdd Hh:Nn:ss") & "'"

Где Me.DayDate1 - это поле на форме. Если в это поле на форме в качестве значения по умолчанию завести скажем =#30.04.2003# - все отлично работает.

Если же поставить например =Now() или =Date() происходит ругань - Type Mismatch, т.е Sql Server такую дату не воспринимает.

Что делать?
14 окт 05, 14:02    [1969799]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с использованием Даты в Access и Sql Server  [new]
Latuk
Member

Откуда: N 54°38', E 037°35'
Сообщений: 7310
поставь точку останова на Me.RecordSource =
Запусти профайлер п посмотри что на самом деле передается на сервер

скорее всего дело в том, что значение в вычисляемом поле появляется позже
чем выполняется код на открытии формы
т.е. надо вызов функции ставить непоссредственно в код
14 окт 05, 14:12    [1969860]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с использованием Даты в Access и Sql Server  [new]
1
Guest
Latuk
поставь точку останова на Me.RecordSource =
Запусти профайлер п посмотри что на самом деле передается на сервер

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


Не думаю. Если поставить перед
Me.RecordSource = "exec СохраненнаяПроцедура2 " & Str(1) & ",'" & Format(Me.DayDate1, "yyyymmdd Hh:Nn:ss") & "'"

MsgBox Me.DayDate1
MsgBox Format(Me.DayDate1, "yyyymmdd Hh:Nn:ss")

Получим: 14.10.2005
20051014 00:00:00
и не работает

а если стоит =#14.10.2005# то же самое
14.10.2005
20051014 00:00:00
и работает
14 окт 05, 14:22    [1969910]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с использованием Даты в Access и Sql Server  [new]
1
Guest
А вот и наврал:
Тоже не работает

Работает с =#30.04.2005#

Что за дела такие не пойму
14 окт 05, 14:25    [1969930]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с использованием Даты в Access и Sql Server  [new]
1
Guest
Так кажется начинаю понимать:

Выборка на 30.04.2003 существует, а на 14.10.2005 - ничего нет.
Так что все видимо работает, а проблемы начинаются в форме
14 окт 05, 14:29    [1969956]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с использованием Даты в Access и Sql Server  [new]
MsDatabaseru
Member

Откуда: Hobby.MsDatabase.ru
Сообщений: 10938
положи свою форму в качестве подчиненной на главную

на главной создай два поля
Nal_bezn1
DayDate1
c дефолтными значениями или устанавливаемыми при открытии

для подчиненной задай такой источник:
RecordSource = "СохраненнаяПроцедура2"
14 окт 05, 14:29    [1969960]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с использованием Даты в Access и Sql Server  [new]
1
Guest
MsDatabaseru
положи свою форму в качестве подчиненной на главную

на главной создай два поля
Nal_bezn1
DayDate1
c дефолтными значениями или устанавливаемыми при открытии

для подчиненной задай такой источник:
RecordSource = "СохраненнаяПроцедура2"


Да это тоже работает - но в случае если Процедура возвращает какие-либо данные. Если запрос пустой - возникает вот такая ошибка.

Так что дело не в Дате, а в том что форма не так настроена, наверное. уду разбираться, что с ней не так.
14 окт 05, 14:40    [1970050]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с использованием Даты в Access и Sql Server  [new]
1
Guest
Создал две формы с нуля - все нормально работает ))
14 окт 05, 14:57    [1970205]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить