Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Есть форма Crew List.
В ней есть подформа с полями, для заполнения данных об экипаже судна.
Так вот первое поле - это номер. Обыкновенный номер. Возможно ли сделать так, чтобы Акцес сам нумеровал? И если не сложно, подскажите как.
Спасибо.
23 дек 04, 11:34    [1203381]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Iskander68
Member

Откуда: Королев М.О.
Сообщений: 877

Возможно. Нужно использовать процедуру, добавляющую следующий номер по
событию BeforeInsert либо AfterInsert. Также предусмотреть пересчет
нумерации, связанный с удалением записи. Поищи - кодов найдешь больше, чем
сможешь испльзовать :-)

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1

23 дек 04, 12:06    [1203552]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Я не знаю, как правильно процедуры писать, с помощью простых возможностей акцесса это возможно сделать?
И как?
Пробовал автономер поставить с индексом повторяющимся, но при новой записи дела, нужно, чтобы нумерация начиналась сначала. А Акцесс продолжает ее.
23 дек 04, 12:11    [1203582]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
RVI
Member

Откуда: Москва
Сообщений: 5373
FAQ
23 дек 04, 12:18    [1203624]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
В факе написано : Надо написать функцию, к которой обращаться либо в DefaultValue контрола (к сожалению, DefaultValue
мне кажется, что для меня это наименее сложный способ.
Можно про него подробней, ибо в факе про него ничего не нашел...вроде искал...
23 дек 04, 12:26    [1203684]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Roma R
Member

Откуда:
Сообщений: 457
Пишешь в модуле функцию

Function Num(ИмяПоля As String, Значение As Long) As Long
Me.RecordsetClone.FindFirst ИмяПоля & " = " & Значение
Num = Me.RecordsetClone.AbsolutePosition + 1
End Function

А в поле
=num("ИмяПоляСчетчика";[ИмяПоляСчетчика])
23 дек 04, 12:29    [1203699]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Roma R
Пишешь в модуле функцию

Function Num(ИмяПоля As String, Значение As Long) As Long
Me.RecordsetClone.FindFirst ИмяПоля & " = " & Значение
Num = Me.RecordsetClone.AbsolutePosition + 1
End Function

А в поле
=num("ИмяПоляСчетчика";[ИмяПоляСчетчика])


Вобщем, имя таблицы CREW LIST
Имя поля NO со значением Теxt.
Напиши плиз как сейчас будет выглядеть все? Я не понял, что подставить в значение и тд.
И можно так сделать: я зайду в Modules, create new module = > впишу туда твою функцию, а затем, в контроле поставлю ее имя, Module1.
23 дек 04, 12:42    [1203796]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Function Num(NO As String, 100 As Long) As Long
Me.RecordsetClone.FindFirst NO & " = " & 100
Num = Me.RecordsetClone.AbsolutePosition + 1
End Function

Так правильно?
23 дек 04, 12:57    [1203875]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Roma R
Member

Откуда:
Сообщений: 457
Пишешь в модуле функцию без изменений, вот так как написано

Function Num(ИмяПоля As String, Значение As Long) As Long
Me.RecordsetClone.FindFirst ИмяПоля & " = " & Значение
Num = Me.RecordsetClone.AbsolutePosition + 1
End Function

В свойстве Данные пишешь
=num("ИмяПоляСчетчика";[ИмяПоляСчетчика])

только вместо ИмяПоляСчетчика подставляешь Имя поля из таблицы CREW LIST
у которого тип поля счетчик. Если такого поля нет, то создай в таблице такое поле
23 дек 04, 13:07    [1203939]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
у МЕНЯ АНГЛИЙСКАЯ ВЕРСИЯ АКЦЕСА.
23 дек 04, 13:09    [1203956]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Iskander68
Member

Откуда: Королев М.О.
Сообщений: 877

Мулат, учебник не купил еще судя по всему? А зря
Кстати, для человека, использующего "английскую" версию, букву "ц" в слове
"Акцесс" использовать как-то не comme il faut. Знаю, что тебе это по
барабану, но все же.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1

23 дек 04, 13:14    [1203986]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Осталось несколько вопросов:
Как будет правильно выглядить эта функция на англицком?
Еще непонятка - куда вписать этот модуль? After Update? Before Update? Или куда?


В свойстве Данные пишешь
=num("ИмяПоляСчетчика";[ИмяПоляСчетчика])

Имеется ввиду RecordSource контрола NO ?

Ром, ты не злись, я первый раз решил все-таки написать процедура - это первая попытка :)
23 дек 04, 13:18    [1204017]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Mulat
Осталось несколько вопросов:
Как будет правильно выглядить эта функция на англицком?
Еще непонятка - куда вписать этот модуль? After Update? Before Update? Или куда?


В свойстве Данные пишешь
=num("ИмяПоляСчетчика";[ИмяПоляСчетчика])

Имеется ввиду RecordSource контрола NO ?

Ром, ты не злись, я первый раз решил все-таки написать процедура - это первая попытка :)


Я в шутку его так называю, нравится.
23 дек 04, 13:19    [1204027]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Roma R
Member

Откуда:
Сообщений: 457
М-да! Тяжелый случай!

Прикрепи базу к сообщению
23 дек 04, 13:38    [1204142]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Ром, только ты сможешь открыть в конструкторе, так как связи там...

К сообщению приложен файл (db4.rar - 23Kb) cкачать
23 дек 04, 13:52    [1204215]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Рома, как там дела у тебя?
23 дек 04, 14:13    [1204354]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Roma R
Member

Откуда:
Сообщений: 457


К сообщению приложен файл (db4.rar - 22Kb) cкачать
23 дек 04, 14:30    [1204463]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Ошибки одни, Рома.
Нифига не нумеруется а в поле, которое ты приделал ошибка #Name...А когда пытаюсь запись сделать - ActitveX Control OLE error какая-то.....блин....
23 дек 04, 14:40    [1204531]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Iskander68
Member

Откуда: Королев М.О.
Сообщений: 877

Рома, ты попал...

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1

23 дек 04, 15:00    [1204681]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Рома, посмотри еще.
Может ты процедуру забыл написать? Я что-то не нашел...
Нашел лишь то, что ты сделал новое поле Код с примари кей.
В форме Крю Лист увидел новый контрол, там соурз у него именно к полю Код.
Только процедуры не нашел (модуль)
23 дек 04, 15:09    [1204749]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Ребят, помогите.
23 дек 04, 15:21    [1204822]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Leenoox
Member

Откуда: Москва
Сообщений: 239
очередной увлекательно-юмористический топик :)
2 Mulat:
Может просто создать в таблице поле типа счетчик?
23 дек 04, 15:28    [1204864]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Mulat
В факе написано : Надо написать функцию, к которой обращаться либо в DefaultValue контрола (к сожалению, DefaultValue
мне кажется, что для меня это наименее сложный способ.

В факе написано:

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

То есть функцию написать все равно надо. А обращаться к ней -
* либо в DefaultValue контрола,
* либо в программе,
* либо в запросе.
23 дек 04, 15:31    [1204885]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Так у Ромы нет самой программы (модуля), я не нашел.
А как этот модуль, что он написал, будет выглядить на английском - я не знаю.
Вот откройте же Ромин файл, как я понял, исправить нужно совсем чуточку (для Вас). А я не умею, уровень не тот.
23 дек 04, 15:48    [1205005]     Ответить | Цитировать Сообщить модератору
 Re: Автосчетчик в сабформе.  [new]
Mulat
Member

Откуда:
Сообщений: 248
Leenoox
очередной увлекательно-юмористический топик :)
2 Mulat:
Может просто создать в таблице поле типа счетчик?

Я бы с радостью так сделал, только при добавлении новой записи в главной таблице, когда заново начинаю вводить экипаж, то нумерация начинается сначала.
Судно один: Экипаж:
1) володя
2) Данила весь такой Багров
3) Денис

Судно два: Экипаж:
4) Саша (тихий дятел)
5) Гриша (просто дятел).

А надо так:
Судно один: Экипаж:
1) володя
2) Данила весь такой Багров
3) Денис

Судно два: Экипаж:
1) Саша (тихий дятел)
2) Гриша (просто дятел).
23 дек 04, 15:54    [1205040]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить