Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > В VBA Взять из нужной формы нужное поле


Автор: BMNDED 15.2.2008, 15:17
В форме есть несколько полей(более 30), при нажатии кнопки данные из них закатуются в табличку, чтобы не писать код на присвоение каждого поля, пронумеровал их по порядку(L_PK_1,L_PK_2...L_PK_28), хотел циклом. Но Naim воспринимается как имя поля, можно ли это как нить обойти?


Dim i As Integer 
Dim Naim As String
Dim Vs As Recordset

...

i=1

...
do
...
    Naim = "L_PK_" & i
    Vs!Pokazat = Forms![F_SEB_N].Form!Naim.Value
...
i=i+1
loop while i<29
...

Автор: alexIrish 15.2.2008, 15:39
Вот интересно, а как ты организуешь перенос данных в таблицу с цыклом?
А просто связать форму с таблицей не пробовал smile 
Получится что данные вводятся в таблицу и все не надо циклов ни каких

Автор: BMNDED 15.2.2008, 15:44
Есле бы можно было так сделать то и вопроса небыло бы!!!
Всю задачу долго описывать, заносить данные с помощью Vs.AddNew можно и в цикле.
По существу вопроса можешь что нить сказать?

Автор: alexIrish 15.2.2008, 15:49
Тогда через коллекцию Controls.

Автор: BMNDED 15.2.2008, 16:01
Naim = "L_PK_" & i
Vs!Pokazat = Forms![F_SEB_N].Form!Naim.Value


Вопрос есче раз повторяю, конкретней.  Есть ли возможность сделать, что бы Naim воспринимался ни как имя а как ссылка на имя! Если можно конкретный совет. Пожалуйста.

Автор: alexIrish 15.2.2008, 16:14
Forms![F_SEB_N].Controls("Naim").Value

Автор: BMNDED 15.2.2008, 16:26
на : 
Vs!Pokazat = Forms![F_SEB_N].Controls(Naim).Value

выдало:
objekt doesn't support this property of method.


В кавычках воспринимается как имя Naim.

Автор: alexIrish 15.2.2008, 17:12
Сравни:
Код

Vs!Pokazat = Forms![F_SEB_N].Controls(Naim).Value

и
Код

Vs!Pokazat = Forms![F_SEB_N].Controls("Naim").Value


У меня работает smile 

Автор: bopoha 15.2.2008, 17:16
Теперь осталось узнать какой объект завалился...

Если код расположен на форме, то можно и так написать
Код

Vs("Pokazat") = Me(Naim)


или так
Код

Vs("Pokazat") = Forms("F_SEB_N").Controls(Naim).Value


Запомните Объект!Элемент эквивалентно Объект.Свойство_по_умолчанию("Элемент").

Добавлено через 11 минут и 51 секунду
alexIrish, какой из двух работает?

Автор: BMNDED 15.2.2008, 17:34
Все, сенкс мужики, заработало.

Автор: alexIrish 15.2.2008, 17:35
У меня Все работают, Только NAIM Should be in ""
Весь вопрос откуда проишодит вызов. 
Я вызываю с одной формы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)