Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2009, 18:15   #1
y11235
 
Регистрация: 22.10.2009
Сообщений: 3
По умолчанию Автозаполнение в таблице

В таблице Access 2003 была возможность заполнять числовые данные автоматически. Например: при вводе в числовое поле - 12, в следующие такое же поле другой записи - 13, то при нажатии на клавишу (стрелка в низ) происходило автоматическое заполнение нижележащих полей 14, 15,16.... при условии отсутствия в них данных. В Access 2007 такой фичи нету. Как решить даный вопрос ?
y11235 вне форума Ответить с цитированием
Старый 22.10.2009, 20:10   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте y11235.
"В таблице ... заполнять" не лучший способ работы с данными.
для ввода и редактирования данных, должны создаваться формы.
Назначение форм это прежде всего удобный интерфейс, ограничения действий пользователей для корректности выполнения задачи. И в том числе возможность задать значение по умолчанию для поля ввода.
"Как решить..." - создайте форму и в ней разместите подобный код:
Код:
Private Sub Form_Current()
s = "SELECT Max(F2) AS f FROM Table1"
Dim rs As DAO.Recordset
Set Db = CurrentDb()
Set rs = Db.OpenRecordset(s)
If Not rs.EOF Then
    F2.DefaultValue = rs(0) + 1
End If
End Sub
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 23.10.2009, 11:37   #3
y11235
 
Регистрация: 22.10.2009
Сообщений: 3
По умолчанию

Спасибо за помощь. В базах я еще не очень силен.
Уменя ошибка
Private Sub Form_Current()
s = "SELECT Max(F2) AS f FROM Нова"
Dim rs As DAO.Recordset
Set Db = CurrentDb()
в этой строчке Set rs = Db.OpenRecordset(s)
If Not rs.EOF Then
F2.DefaultValue = rs(0) + 1
End If
End Sub

Проблема в том что в базу сперва заносится много названий документов, а потом нужным присваиваются номера
y11235 вне форума Ответить с цитированием
Старый 23.10.2009, 21:00   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте y11235.
в Вашей таблице "Нова" и на форме действительно поля имеют имя F2 ?
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 23.10.2009, 23:05   #5
y11235
 
Регистрация: 22.10.2009
Сообщений: 3
По умолчанию

Большое спасибо! Все получилось. Только не могу понять как пропускать поле (не изменять) в котором уже есть значение.
y11235 вне форума Ответить с цитированием
Старый 24.10.2009, 14:11   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте y11235.
"пропускать поле" нет необходимости, т.к. строка кода :
F2.DefaultValue =...
задает полю F2 значение по умолчанию, т.е. только в новой записи, при отсутствии явного указания значение для этого поля, оно (поле) принимает значения из заданного ему свойства DefaultValue.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 08.12.2009, 19:57   #7
Romonk
Новичок
Джуниор
 
Регистрация: 08.12.2009
Сообщений: 1
По умолчанию

Скажите пожалуйста как сделать автоматическое заполнение в Excel. Допустим запускаем файл Excel вводим Ф.И.О. и сумму, а макрос автоматически прописывает это в нужных мне ячейках, причём сумму цифрами и прописью
Romonk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозаполнение. ksu25 Microsoft Office Excel 3 06.10.2009 18:50
Слияние шаблона с данными из таблице, и как подсичтать значение количества полей в таблице n4ela Microsoft Office Access 3 07.03.2009 12:04
автозаполнение таблицы. Warlock Microsoft Office Excel 6 25.12.2008 11:13
Автозаполнение! ANT35 Microsoft Office Access 1 30.10.2008 08:24
Автозаполнение в TEdit neodream Компоненты Delphi 9 15.08.2007 15:03