Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос на условие / 25 сообщений из 34, страница 1 из 2
01.05.2004, 15:40
    #32505407
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Кто-нибудь знает, как можно осуществить такую фичу:
Код: plaintext
1.
2.
3.
Есть список машин и каждой машине соответствует несколько дат покупки (*).
На форме, пользователь, из списка выбирает авто и в поле ставит свою дату покупки.
Если эта дата совпадает с (*), то выводится сообщение и пользователю предлагается изменить дату.
...
Рейтинг: 0 / 0
01.05.2004, 21:44
    #32505502
schakh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Напимер:

sSQL = "SELECT * FROM tblDatiProdaj WHERE IDMashina = " & IDMashina & _
" AND DataProdaji = #" & DataProdaji & "#"

'Открываем рекордсет
......
EstTakaja = Not rs.EOF

А вообще вариантов море...
...
Рейтинг: 0 / 0
01.05.2004, 21:51
    #32505503
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
автор...и в поле ставит свою дату покупки.
Если эта дата совпадает с (*), то выводится сообщение и пользователю предлагается изменить дату.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
private sub КонтролДаты_BeforeUpdate(cancel as integer)
if isnull(me.КонтролДаты) then
  msgbox "Введи дату!"
  cancel=true
  ' Это можно перенести в "Условие отбора" и "Сообщение об ошибке контрола"' 
  exit sub
endif
if not isnull(dlookup("ПолеДаты","ТаблицаПокупок","ПолеДаты=#" & _
                  format(me.КонтролДаты,"mm-dd-yyyy") & _
                  " And КодАвто=" & nz(me.КонтролАвто, 0 ))) then
  msgbox "Уже есть такие значения"
  cancel = true
  exit sub
endif
end sub
...
Рейтинг: 0 / 0
02.05.2004, 12:30
    #32505597
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Спасибо за реализацию! Попытался сделать по Вашему примеру (но т.к. за Access сел несколько дней назад), то синтаксис еще толком не знаю, и как следствие наделал кучу ошибок! Если не сложно, помогите разобраться:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
'Поле36 - поле куда пользователь вводит новое значение;
[Назначенное время] - столбец таблицы, в котором уже есть какие-то даты  
покупок;
Поле38 - КодАвто;
ПолеСоСписком34 -список, из которого пользователь выбирает авто;
'

Private Sub Поле36_BeforeUpdate(Cancel As Integer)
If IsNull(Поле36) Then
  MsgBox "Введи дату!"
  Cancel = True
  ' Это можно перенести в "Условие отбора" и "Сообщение об ошибке контрола"'
  Exit Sub
End If
If Not IsNull(DLookup("Поле36", "[Назначенное время]", "Поле36=#" & _
                  Format(Поле36, "mm-dd-yyyy") & _
                  " And Поле38 =" & Nz(ПолеСоСписком34,  0 ))) Then
  MsgBox "Уже есть такие значения"
  Cancel = True
  Exit Sub
End If
End Sub
...
Рейтинг: 0 / 0
02.05.2004, 12:47
    #32505599
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
If Not IsNull(DLookup("Поле36", "[Назначенное время]", "Поле36=#" & _
Format(Поле36, "mm/dd/yyyy") & _
"# And Поле38 =" & Nz(ПолеСоСписком34, 0))) Then

По-моему, это опечатки оригинала.
...
Рейтинг: 0 / 0
02.05.2004, 20:42
    #32505765
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Внес исправления, однако ошибка все равно осталась. Ругается примерно так:
Код: plaintext
1.
2.
Дата содержит систаксическую ошибку в выражении запроса
'Поле36=#12.12.2222# And Поле38=BMW7'. 
...
Рейтинг: 0 / 0
02.05.2004, 21:32
    #32505777
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
авторДата содержит систаксическую ошибку в выражении запроса
'Поле36=#12.12.2222# And Поле38=BMW7'.
Первую ошибку тебе поправили, надо вторую. Почитай FAQ (прямо под единственной рекламой на форуме ссылка) про формирование строки SQL у
тебя создается то, что ты написал

Поле36=#12.12.2222# And Поле38=BMW7

А должно быть, коль скоро последнее поле строковое,

Поле36=#12.12.2222# And Поле38='BMW7'

или

Поле36=#12.12.2222# And Поле38="BMW7"

(не в случае с mssql), т.е. поправить поправить последню последнюю строку последнего условия так:

" And Поле38 ='" & Nz(ПолеСоСписком34) & "'")) Then

ЗЫ. Обязательно прочти FAQ. Этот раздел с небольшими уточнениями справедлив для всех языков.
...
Рейтинг: 0 / 0
02.05.2004, 21:34
    #32505779
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
> Первую ошибку тебе поправили


Первую мою ошибку :))
...
Рейтинг: 0 / 0
02.05.2004, 23:25
    #32505798
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Хорошо, FAQ почитаю! :) Спасибо за помощь.
...
Рейтинг: 0 / 0
03.05.2004, 23:14
    #32506167
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Здравствуйте! Прошу прощения за назойливость и тупость, но помогите мне.
Сегодня целый день просидел с этой фичей, FAQ прочитал, статьи почитал, примеры посмотрем, даже в MSDN залез и все безтолку!!!

Я понимаю, что глупо просить о помощи, когда тебе уже написали готовый теск (исходник). Но, правда, не получается у меня...

Все равно выдает ошибку синтаксиса (даже после внесенных исправлений).
...
Рейтинг: 0 / 0
04.05.2004, 08:12
    #32506207
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Исправленный код - в студию...
авторIf Not IsNull(DLookup("Поле36", "[Назначенное время]", "Поле36=#" & _
Format(Поле36, "mm-dd-yyyy") & _
" And Поле38 =" & Nz(ПолеСоСписком34, 0))) Then
Тут я не совсем понял.
первый аргумент DlookUp должно быть поле в таблице, т.е [Назначенное время], здесь почему-то, как я понимаю, поле формы. Второй -должен быть имя таблицы, здесь поле в таблице. В третьем (Where)- Поле36 и Поле38 это поля в таблице? что-то не похоже.
...
Рейтинг: 0 / 0
04.05.2004, 18:14
    #32506558
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Вот немного подправил:
Код: plaintext
1.
2.
If Not IsNull(DLookup("[Назначенное время]", "Покупка_Машин", "[Назначенное время]=#" & _
                                  Format(Me.Controls("Поле36"), "dd/mm/yyyy") & _
                                  "# And Номер_машины = '" & Nz(Me.Controls("ПолеСоСписком34"), 0) & "'")) Then


' Поле36- сюда пользователь на форме заносит дату
' ПолеСоСписком34- здесть пользовватель выбирает авто
' Номер_машины - код авто, взят из поля таблицы
' Покупка_Машин - непосредственно сама таблица данных о машинах

Но ошибка осталась!? :(
...
Рейтинг: 0 / 0
04.05.2004, 18:26
    #32506562
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
dd/mm/yyyy - надо заменить на mm/dd/yyyy

Апострофы вокруг Nz(Me.Controls("ПолеСоСписком34"), 0) - лишние (если я правильно понял, что это поле в таблице числовое).
...
Рейтинг: 0 / 0
04.05.2004, 19:26
    #32506610
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Format(Me.Поле36, "mm\/dd\/yyyy")
...
Рейтинг: 0 / 0
04.05.2004, 19:30
    #32506617
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Даже после исправлений с
авторdd/mm/yyyy - надо заменить на mm/dd/yyyy
ничего не изменилось.
А апострофы надо оставить, т.к. "ПолеСоСписком34" - поле в таблице текстовое. Т.е. там находятся данные типа:

Код: plaintext
1.
2.
3.
4.
BMW7
Волга
Жигули
и т.п.
...
Рейтинг: 0 / 0
04.05.2004, 20:34
    #32506646
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Эти Волги и Жигули находятся именно в самом Me.Controls("ПолеСоСписком34")? Или в Me.Controls("ПолеСоСписком34") сидят их коды, а они сами в каком-нибудь Me.Controls("ПолеСоСписком34").column(1)?
...
Рейтинг: 0 / 0
04.05.2004, 21:25
    #32506663
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
автор
...они сами в каком-нибудь Me.Controls("ПолеСоСписком34").column(1)


Сами волги и жигули сидят в таблице "Покупка_машин", и отсюда они заносятся в поле со списком.
Т.е. вот так:
авторв Me.Controls("ПолеСоСписком34") сидят их коды, а они сами в каком-нибудь Me.Controls("ПолеСоСписком34").column(1)
...
Рейтинг: 0 / 0
04.05.2004, 22:50
    #32506687
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Таким образом,

Номер_машины = '" & Nz(Me.Controls("ПолеСоСписком34"), 0) & "'

- это неверно, потому что здесь в кавычки заключается код, а не название.
...
Рейтинг: 0 / 0
05.05.2004, 00:21
    #32506709
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Правда за вами! Но, даже без апострофов, ошибка осталась без изменений!!! :(
Код: plaintext
1.
2.
Дата содержит систаксическую ошибку в выражении запроса
'[Назначенное время]=#12.12.2222# And Номер_машины=BMW7'.
...
Рейтинг: 0 / 0
05.05.2004, 00:26
    #32506714
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Блин. Если это BMW7, то разве это код???
...
Рейтинг: 0 / 0
05.05.2004, 00:32
    #32506717
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Код авто - это номер авто, полученный с помощью счетчика?
...
Рейтинг: 0 / 0
05.05.2004, 00:36
    #32506720
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
У комбобокса ПолеСоСписком34 есть ЗНАЧЕНИЕ, которое является числом, и есть ТО, ЧТО ПОКАЗЫВАЕТСЯ НА ЭКРАНЕ, которое является текстом. Я не знаю, кто из них должен равняться полю Номер_машины (мне всегда казалось, что номер машины и марка машины - это разные вещи), но в любом случае текст надо заключать в кавычки, а число не надо.

http://www.zooclub.ru/tales/63.shtml
Р.КиплингМоя маменька учила меня, что, если я увижу Ежа, я должен швырнуть его в воду, и тогда он сам собою развернётся, а если я увижу Черепаху, я должен выцарапать её лапой из панциря.
...
Рейтинг: 0 / 0
05.05.2004, 00:36
    #32506721
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Если можно, оставь в базе кусочек таблицы и форму, сожми, заархивируй и прицепи к посту (должно влезть), посмотрим и разберемся. Это быстрее будет.
...
Рейтинг: 0 / 0
05.05.2004, 01:13
    #32506731
Jack666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Вот то что Вы просили (только тот кусочек, где возникает ошибка)
...
Рейтинг: 0 / 0
05.05.2004, 01:25
    #32506734
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос на условие
Я не вижу в этом файле того запроса, о котором идет речь. Где он должен быть, тоже непонятно.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос на условие / 25 сообщений из 34, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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