Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Макрос на добавление заводских номеров Помогите чайнику!)  [new]
GliderAlex
Member

Откуда: Воронеж
Сообщений: 275
Есть проблемка, и как к ней подходить не в курсе... Не сможете ли мне поэтапно обьяснить как сделать макрос на добавление заводских номеров. Исходные данные берутся из верхней подчинённой формы и вставляются в нижнюю. Проект ADP.
Номер состоит из

год, договор, лот(позиция), номер изд в лоте, добав номер
04 001 01 001 0

Вместе 04 001 01 001 0


К сообщению приложен файл. Размер - 0Kb
5 ноя 04, 11:37    [1085844]     Ответить | Цитировать Сообщить модератору
 Re: Макрос на добавление заводских номеров Помогите чайнику!)  [new]
Витал
Member

Откуда: Россия, Санкт-Петербург
Сообщений: 2021
Попробуй на событие текущая запись первой формы менять DefaultValue поля ID_Number второй формы... Ессессно, подставляя туда результат конкатенации полей текущей записи первой формы...
5 ноя 04, 13:10    [1086261]     Ответить | Цитировать Сообщить модератору
 Re: Макрос на добавление заводских номеров Помогите чайнику!)  [new]
GliderAlex
Member

Откуда: Воронеж
Сообщений: 275
Ничего не понял((
Вот как я это вижу...
Заполняется подчинённая форма f_p_Lot(верхняя)
Нажимается кнопка (сделать нужно)
И на основе данных из формы f_p_Lot заполняется форма f_p_Length
Заводскими номерами и Наименованием кабеля.

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

В первом лоте например 4 длины значит номера будут

04 001 01 001 0
04 001 01 002 0
04 001 01 003 0
04 001 01 004 0
Во втором лоте 3 длины

04 001 02 001 0
04 001 02 002 0
04 001 02 003 0
5 ноя 04, 13:49    [1086443]     Ответить | Цитировать Сообщить модератору
 Re: Макрос на добавление заводских номеров Помогите чайнику!)  [new]
GliderAlex
Member

Откуда: Воронеж
Сообщений: 275
Меня интересует как это вообще делается?
По нажатию кнопки...
Какие переменные нужно обьявлять? Как забрать данные из верхней формы и последовательно, сперва на основе первого лота создать заводские номера, потом на основе второго и т.д.
5 ноя 04, 13:57    [1086472]     Ответить | Цитировать Сообщить модератору
 Re: Макрос на добавление заводских номеров Помогите чайнику!)  [new]
SBL
Member

Откуда: Tallinn
Сообщений: 666
хмммм.......сумбурно
собрать это все можно имхо вот так

Select [год] & " " & [договор] & " " & [лот] & " " & [номер изд в лоте] & " " & '0' from table;

единственное, я не понял каким образом оно должно различатся......
5 ноя 04, 14:10    [1086557]     Ответить | Цитировать Сообщить модератору
 Re: Макрос на добавление заводских номеров Помогите чайнику!)  [new]
GliderAlex
Member

Откуда: Воронеж
Сообщений: 275
Обьясняю с нуля... Кабельный завод. Есть договор. В договоре есть позиции - (лот)
В первой позиции 4 длины во второй позиции например 3
Для того что бы продукцию идентифицировать ей присваиваются заводские номера
Номер состоит из


год 04
договор 001
лот(позиция) 01, 02
номер изд в лоте 001, 002, 003, 004 и т.д.
добав номер 0

На выходе должны получить

В первом лоте например 4 длины значит номера будут

04 001 01 001 004 001 01 002 004 001 01 003 004 001 01 004 0
Во втором лоте 3 длины

04 001 02 001 004 001 02 002 004 001 02 003 0
5 ноя 04, 14:30    [1086654]     Ответить | Цитировать Сообщить модератору
 Re: Макрос на добавление заводских номеров Помогите чайнику!)  [new]
GliderAlex
Member

Откуда: Воронеж
Сообщений: 275
Извиняюсь)

04 001 01 001 0
04 001 01 002 0
04 001 01 003 0
04 001 01 004 0
Во втором лоте 3 длины

04 001 02 001 0
04 001 02 002 0
04 001 02 003 0
5 ноя 04, 14:32    [1086666]     Ответить | Цитировать Сообщить модератору
 Re: Макрос на добавление заводских номеров Помогите чайнику!)  [new]
Витал
Member

Откуда: Россия, Санкт-Петербург
Сообщений: 2021
Теперь, кажись, понял, что нужно.
Если N_Lenght - количество длин, то

Dim I as Long, rs As New ADODB.Recordset

rs.Open "Select * from TableDestination", CurrentProject.Connection

With Me.f_p_Lot.Form
  For I =  1 To .N_Lenght 
    rs.Add
    rs.Fields("ZavNum") = .год & " " & .договор & " " & .лот & " " & Format(I,"000") & " 0"
... ' остальные поля 
   rs.Update
  Next I
End With
Me.f_p_Length.Requery

примерно так
5 ноя 04, 16:48    [1087285]     Ответить | Цитировать Сообщить модератору
 Re: Макрос на добавление заводских номеров Помогите чайнику!)  [new]
Витал
Member

Откуда: Россия, Санкт-Петербург
Сообщений: 2021
ZavNum - это у меня ID_Number картинка при ответе не видна. Так что пардон-с.
5 ноя 04, 16:50    [1087288]     Ответить | Цитировать Сообщить модератору
 Re: Макрос на добавление заводских номеров Помогите чайнику!)  [new]
GliderAlex
Member

Откуда: Воронеж
Сообщений: 275
Странно, обработчик ошибок останавливается на строке
For I = 1 To .N_Lenght
и пишет ошибка 2465.
9 ноя 04, 08:25    [1090251]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить