powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Несоответствие типов данных в выражении условия отбора
18 сообщений из 18, страница 1 из 1
Несоответствие типов данных в выражении условия отбора
    #32493723
DDT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть все та же таблица "Рассылка", в котрой есть поле "Дата рассылки".

В форме ввожу дату рассылки и добавляю в эту таблицу, предварительно проверяя наличие такой записи. Если записи нет, то все нормально добавляется, если же запись есть то выдается ошибка (см. сабж)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    c = DCount( "*" ,  "Рассылка" ,  "[Дата рассылки] = '" _
    & Form_Главная.Дата_рассылки & "' AND [Код рассылки] = "  _
    & Form_Главная.Код_рассылки &  " AND [Фирма] = "  _
    & ID)
    
    If c =  0  Then
        SQL =  "INSERT INTO [Рассылка]([Дата рассылки], [Код рассылки], [Фирма]) VALUES('" 
        & Form_Главная.Дата_рассылки & " ', "  & Form_Главная.Код_рассылки.Value &  ", "  & ID.Value &  ")" 
        DoCmd.RunSQL SQL
        Form_Главная.Refresh
        MsgBox ( "Запись добавлена" )
    Else
        MsgBox ( "Такая запись уже есть" )
    End If


В чем тут может быть дело? Пробовал проверять и добавлять с Format'ом, Cdate'ом. Пробовал менять формат поля "Дата рассылки". Все равно дает эту ошибку :(
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493733
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493736
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя:
"[Дата рассылки] = ' " & Form_Главная.Дата_рассылки & " ' ... "

Как вариант, можно попробовать так:
"[Дата рассылки] = " & CLng(Form_Главная.Дата_рассылки) & " ... "
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493749
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поясню :)
Ты пытаешся вставить текст ('" & ... & "') в поле с форматом "Дата\Время"
-----
paparomeКак вариант, можно попробовать так:
"[Дата рассылки] = " & CLng(Form_Главная.Дата_рассылки) & " ... "тебе по той же ссылке :)
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493802
DDT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формат поля "Дата рассылки" таблицы "Рассылка":
Краткий формат даты (19.06.1994)

Пробую:
Код: plaintext
Format(Form_Главная.Дата_рассылки,  "dd.mm.yyyy" )

или
Код: plaintext
Format(Form_Главная.Дата_рассылки,  "mm.dd.yyyy" )


Все равно ругается
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493804
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Vsevolod V

Спасибо, я уже сходил :)

1. Сам я использую ХП и мну таких заморочек нет :) (но есть другие)
2. Если дата используется только для хранения даты без времени, то предложенный мною способ на mdb (с adp - т.е. MSSQL такое не катит) работает (проверено)
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493811
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
 "#"  & Format(Form_Главная.Дата_рассылки,  "mm/dd/yyyy" ) &  "#" 
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493824
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Format(Form_Главная.Дата_рассылки, "\#dd\/mm\/yy\#")
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493827
DDT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а "Н" - это тоже обязательно в поле записывать?
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493836
DDT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А запиывать и проверять надо по одинаковому шаблону или разным?
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493839
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В поле дата запишется

А # это для того, чтобы в запросе (который является текстом) Акс смог отличить дату от стринги или числа
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493841
DDT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А запиывать и проверять надо по одинаковому шаблону или разным?
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493848
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А запиывать и проверять надо по одинаковому шаблону или разным?

Работа с датами через запросы всегда ведется одинаково (вне зависимости от типа запроса)

DCount (и иже с ним) - тоже разворачиваются в запросы - просто вы этого не видите
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493861
DDT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имею в виду вот что. Записываю дату:
Код: plaintext
1.
SQL =  "INSERT INTO [Рассылка]([Дата рассылки], [Код рассылки], [Фирма]) VALUES('" & Form_Главная.Дата_рассылки & " ', "  & Form_Главная.Код_рассылки.Value &  ", "  & ID.Value &  ")" 


Проверяю на наличие:
Код: plaintext
1.
2.
3.
4.
c = DCount( "*" ,  "Рассылка" ,  "[Дата рассылки] = '" _
    & Format(Form_Главная.Дата_рассылки, "dd\/mm\/yyyy") & "' AND [Код рассылки] = "  _
    & Form_Главная.Код_рассылки &  " AND [Фирма] = "  _
    & ID)


Или вставлять и проверять дату надо по одинаковому:
Format(Form_Главная.Дата_рассылки, "dd\/mm\/yyyy")
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493867
DDT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А формат поля при этом каким должен быть? Может в этом дело?
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493880
DDT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, спасибо. Заработало.

У меня в тексте запроса проверки значение даты было заключено в апстрофы, а надо только #.
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493884
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мля! DDT - не тупи!

1. Формат при проверке, при вставке при ...
везде пишешь одинаково

2. Убери свои апострофы (там где дата) и поставь вместо них #

3. Формат такой: mm/dd/yyyy
Пример (выбрать из таблицы все записи от сегодняшнего числа):

Select *
From [таблица]
Where MyDate = #04/23/2004#

Чего не понятного-то?
...
Рейтинг: 0 / 0
Несоответствие типов данных в выражении условия отбора
    #32493969
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Roma R:

mm/dd!
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Несоответствие типов данных в выражении условия отбора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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