Помогите определить какие функции можно реализовать в Access

Shitbox2
Дата: 19.11.2009 21:39:09
Есть база данных mdb из одной таблицы. Одно поле числовое-индексное, остальные текстовые. Нужно следующее:

1. Индексное поле должно автоматически инкрементироваться при добавлении новой записи.

2. Создать форму только для ввода новых строк в таблицу, т.е. ввел данные, нажал «добавить»; ввел данные, нажал «добавить» и т.д.

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

4. Сделать некоторые поля «адресными», т.е. в них можно вводить только адрес до файла, соответственно, нужно реализовать кнопку «Обзор» (как в Винде)

5. Если база находится на сервере, к которому подключаются несколько юзеров, сделать так чтобы каждый мог редактировать то что сам добавил, остальное только смотреть.

Что из этого можно реализовать в Access и каким способом это делается, т.е. дайте пинок в нужную сторону по каждому вопросу. Спасибо :-)
П-Л
Дата: 19.11.2009 22:10:21
3 не получицца, остальное легко штатными средствами. В базу на 1 таблице не верю. Не бывает. Бывает недопонимание задачи.
Shitbox2
Дата: 19.11.2009 22:42:27
А как сделать что можно. Хотя бы наводку дайте, а дальше я сам разберусь.

Приложение, которым я пользуюсь понимает только екселевские и аксесовские БД, а база — это одна таблица-перечень элементов, так что всё бывает :-)
Shadow Of Sun
Дата: 19.11.2009 23:19:39
Shitbox2,

Держи на_водку

http://hiprog.com/index.php?option=com_content&task=view&id=728

но судя по твоему подходу:

в Access ты мелко плаваешь, попу видно
(без обид - это факт)
Shitbox2
Дата: 19.11.2009 23:26:42
Я и не утверждаю, что специалист :-)
Хорошо в нём плавал года 4 назад. Сейчас понадобился, да уже позабыл всё.

Спасибо за наводку, буду разбираться.
Denis V.
Дата: 20.11.2009 10:38:45
Shitbox2
Хорошо в нём плавал года 4 назад. Сейчас понадобился, да уже позабыл всё.

Плавать, как и ездить на велосипеде, разучиться невозможно! Что у Вас даже наработок никаких не осталось, где можно посмотреть что да как? Как говорил один из учителей в школе, в которой я учился: "забыл равносильно равно не сделал"! В Вашем случае "подзабыл = не делал вовсе, т.е. не плавал". И не надо на жалость давить, как в мексиканских сериалах: "ах, бедный Хуан-Антонио, он потерял память... опять, надо ему дать (чего-нибудь, в зависимости от сценария)".
Shitbox2
Дата: 20.11.2009 16:48:49
Я его ещё в универе изучал — делал разные учебные базы. Естественно никаких наработок не осталось. Зря вы думаете, что за несколько лет ничего нельзя забыть.

А если бы я даже и совсем не знал его — это так уж предосудительно? Мне нужно-то всего лишь несколько ключевых слов по каждому вопросу, чтобы было с чего начать искать.
Владимир Саныч
Дата: 20.11.2009 19:02:57
1. Поле типа счетчик (counter).
2. DataEntry=True.
3. Уже сказали - нельзя.
4. На форме придется добавить немного кода.
5. Делаем поле, в которое при создании записи заносится имя юзера из функции CurrentUser(), а в форме в событии OnCurrent сравниваем это поле с тем же CurrentUser() и соответственно меняем свойство формы AllowUpdates.
Shitbox2
Дата: 20.11.2009 21:47:42
Спасибо! Именно это мне и было нужно. Буду копать :-)
Denis V.
Дата: 20.11.2009 22:40:55
Shitbox2,
ладно, может быть и можно всё забыть напрочь за столько-то лет, вспылил ;-)
А наработки даже с универа я храню, мало ли когда может пригодиться. Кстати, мне пригодились как-то наработки: помог с курсовой работой, так сказать проконсультировал за денежное вознаграждение :-).
В общем, ответы на все ваши вопросы (кроме третьего), можно найти в книгах по Access, так что Вам стоит искать в интернете в этом направлении. Могу посоветовать автора: Гетц.
А так ли категорично на счёт третьего пункта - "нельзя"? Почему нет? Делаете клиента к базе данных на чём угодно: VB, Visual C++, Delphi etc. Или я что-то путаю?
На счёт первого пункта. Счётчик при добавлении автоматически увеличивается, но вот при удалении записи не происходит автоматического пересчёта счётчика, чтобы нумерация оставалась без разрывов (понятно почему). Так что, если Вам нужно поддерживать всегда непрерывную последовательность счётчика записей, то тут придётся придумывать свою функцию (ну, или найти готовое решение).