Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Открыть форму ? для добавления ОДНОЙ записи / 17 сообщений из 17, страница 1 из 1
24.05.2004, 23:10
    #32531538
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Люди умные! :D
Clic-открывается форма.
Каким параметром установить чтоб в ней можно было добавить только дну
запись.
Чтоб она не реагировала на колесо мыша, и т.п. поползновения пользователя?

Спасибо!
...
Рейтинг: 0 / 0
24.05.2004, 23:13
    #32531541
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
DataEntry = True.

При этом существующие записи будут не видны, а можно будет только вводить новые. Ввел запись, она скрылась с глаз, вводишь следующую.
...
Рейтинг: 0 / 0
24.05.2004, 23:24
    #32531547
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Саныч, наверное немного не умно объяснил.
Есть 2 таблицы, соотвветственно 2 формы, связь 1-1.
Надо открыть из 1-й формы 2-ю для ввода\редактирования только одной записи.
Объясню почему:
Случайно юзер дернет колесом и начнет добавлять езе одну запись, Access
начнет орать типа -повторяющиеся данные- и юзер побежит ко мне!
Пугливые они у меня!

PS
Наверное опять хочу невозможного?
...
Рейтинг: 0 / 0
24.05.2004, 23:28
    #32531551
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Догоняю:
Фильтр отбирает только одну запись во 2 таблице, исходя из записи 1 формы.
Но добавление (теоретическое) по колесу всеравно возможно, с последующим матом.
...
Рейтинг: 0 / 0
24.05.2004, 23:28
    #32531552
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Тогда просто достаточно открыть на селекте такого вида:

...where id=15

где
id - название ключевого поля
15 - его значение в главной форме
...
Рейтинг: 0 / 0
24.05.2004, 23:30
    #32531554
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Можно и фильтр. Этого тоже достаточно. Пока он не будет отменен, другие записи в форме не появятся и никакого колеса можно будет не бояться.
...
Рейтинг: 0 / 0
24.05.2004, 23:35
    #32531557
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Да. Надо еще вот что:

1. На OnOpen проверить наличие записей и соответственно разрешить или запретить добавление:

me.allowadditions=me.recordsetclone.bof

2. На AfterInsert и OnDelete - то же самое.
...
Рейтинг: 0 / 0
24.05.2004, 23:44
    #32531564
Bely
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
А еще на AfterInsert можно закрывать форму - пусть потом вводит куда хочет :)
А чтобы народ не пугался на колесо мыши - на BeforeInsert запрашивать "Сохранять? Y/N"
...
Рейтинг: 0 / 0
24.05.2004, 23:55
    #32531570
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Спасибо!
AfterInsert оказалось (покачто) достаточно!
me.allowadditions=me.recordsetclone.bof - запретить, как разрешить?
*Ну маленький яще в Access* :)

RE: "Сохранять? Y/N"

Они у меня по кнопкам и так с третьего раза попадают.
А один одним пальцем?! сразу 4 клавиши нажимает!
...
Рейтинг: 0 / 0
25.05.2004, 00:02
    #32531573
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Говорила мама, слушай старших!
Open тоже нужен!
...
Рейтинг: 0 / 0
25.05.2004, 00:03
    #32531574
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
авторзапретить, как разрешить?
Если me.recordsetclone.bof даст True, то эта команда сработает как me.allowadditions=True.
Если me.recordsetclone.bof даст False, то эта команда сработает как me.allowadditions=False.

Точно так же, как:
Если A=8, то команда B=A сработает как B=8.
Если A=15, то команда B=A сработает как B=15.
И т.д.
...
Рейтинг: 0 / 0
25.05.2004, 10:43
    #32531820
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
мадж
твой вопрос уже десятки раз задавался. тебе саныч все разжевал. если непонятно, тогда замени все мыши с колесом на без колеса
...
Рейтинг: 0 / 0
01.06.2004, 08:17
    #32541892
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Я не совсем (или совсем не?) туп.
ВС огромадное спасибо!.
Раньеше поблагодарить не мог, GPRS сдох.
RE: ИЩ
Нервные клетки не восстанавливаются.
...
Рейтинг: 0 / 0
01.06.2004, 09:29
    #32541979
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
если нужно Добавлять а не редактировать одну запись то тут
можно использовать два подхода:

1 если требуется вводить необязательные поля (допускающие повторы, не требующие проверок или пустые)

то можно указать в качестве источника записей SQL c заведомо ложным where
Select * from mytable where 1=0

на мой взгляд это лучше чем изменять свойства allowaddition и dataentry
так как после попытки сохранения записи форма не переходит к новой записи.


2 если требуется заполнять обязательные поля или значения нужно проверить перед добавлением то предпочтительнее оставить источник данных формы пустым а значения добавлять из кода кнопки используя ADO рекордсет
...
Рейтинг: 0 / 0
01.06.2004, 12:18
    #32542500
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
В том то и дело, что надо
1.добавить запись (до момента сохранения Access
всеравно не даст переходить по полям)
2. При повторном просмотре (для редактирования или еще чего) открыть
только ЭТУ запись, без возможности добавления еще одной, а лучше
и без возможности перемещения между записями (не полями) формы.

WHERE не работает, кто хочет попробуйте, открываешь форму для отобранных
записей, колесом дернул, и можно добавить запись!

Пример Саныча работает, (для моего случая):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Form_AfterInsert()
Me.AllowAdditions = Me.RecordsetClone.BOF
End Sub
Private Sub Form_Load()
Me.RecordSource = "Select*FROM Klient WHERE (((ID_titul)='" & Forms![Titul]!&_
[ID_delo] & "'))"
Me.AllowAdditions = Me.RecordsetClone.BOF
End Sub


Спасибо Саныч!

PS/
Хотя думал, что в Access будет свой способ, из стандартных.
ну нет, так нет.
...
Рейтинг: 0 / 0
01.06.2004, 13:59
    #32542785
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Как ещё один из вариантов использовать таблицу без источника данных. А на событие ПотеряФокуса у ТекстБокса повесить:
1. Проверку введенного (чтобы записи не двоились) (можно Dlookup использовать).
2. Запрос на добавление в нужную тебе таблицу.
...
Рейтинг: 0 / 0
01.06.2004, 14:02
    #32542797
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть форму ? для добавления ОДНОЙ записи
Блин опечатался: ...

Как ещё один из вариантов использовать форму без источника данных. А на событие ПотеряФокуса у ТекстБокса повесить:
1. Проверку введенного (чтобы записи не двоились) (можно Dlookup использовать).
2. Запрос на добавление в нужную тебе таблицу.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Открыть форму ? для добавления ОДНОЙ записи / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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