Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Имя контрола программно.
 
 автор: час   (20.04.2013 в 22:51)   личное сообщение
 
 

На форме 9 контролов
с именами
LV_AVTO_1
LV_AVTO_2
.......
как в цикле поработать по очереди со всеми контролами точнее
как сформировать имена, что бы компилятор понял...

Dim lvw As MSComctlLib.ListView
For F = 1 To 9
Set lvw = Me("LV_AVTO_" & str(F)) - ругается (типа не найден такой контрол.)

  Ответить  
 
 автор: snipe   (20.04.2013 в 23:05)   личное сообщение
 
 

а так
Set lvw = Me("LV_AVTO_" & Trim(str(F)))

или просто
Set lvw = Me("LV_AVTO_" & F)

Синтаксис функции в VBA:

Str (Number)

Функция Str (Expression) возвращает значение Number, преобразованное в текстовый тип данных String.
При преобразовании в начале строки возвращаемого значения резервируется место для знака числа. Если число положительно, то в этом месте будет пробел, если число отрицательно, то выводится знак минус.
В качестве десятичного разделителя дроби функция Str воспринимает только точку. При использовании других десятичных разделителей (например, запятой) следует использовать функцию CStr
Параметры функции

Number — Любое выражение, которое можно записать в виде строки
Пример кода на языке программирования VBA (Visual Basic for Applications):

Dim retval

retval = Str (123)' получаем “ 123“

retval=Str (-12.3)' получаем “-12.3»

  Ответить  
 
 автор: snipe   (20.04.2013 в 23:11)   личное сообщение
 
 

еще вариант
Set lvw = Me("LV_AVTO_" & Cstr(F))

  Ответить  
 
 автор: час   (20.04.2013 в 23:17)   личное сообщение
 
 

класс!!!
Вот этот вариант
Set lvw = Me("LV_AVTO_" & Cstr(F))
работает!!!
====================
Спасибо за помощь.
Ты стал спецом в этом деле!!!

  Ответить  
 
 автор: snipe   (20.04.2013 в 23:27)   личное сообщение
 
 

я все еще учусь

  Ответить  
 
 автор: час   (20.04.2013 в 23:31)   личное сообщение
 
 

  Ответить  
 
 автор: Дядя Федор   (22.04.2013 в 07:53)   личное сообщение
 
 

me.controls("LV_AVTO_" & F)

  Ответить  
 
 автор: час   (22.04.2013 в 11:28)   личное сообщение
 
 

Привет!!!
нисавсем..
================
Dim F As integer

  Ответить  
 
 автор: Дядя Федор   (22.04.2013 в 12:52)   личное сообщение
 
 

Вот у меня работает уже 100 лет

Dim KolPrmZag As Long

For KolPrmZag = 1 To 4
Me.Controls("L" & KolPrmZag) = ...
Next KolPrmZag

  Ответить  
 
 автор: час   (22.04.2013 в 19:32)   личное сообщение
 
 

100 лет...
тада верю!

  Ответить  
 
 автор: Йожык   (24.04.2013 в 23:10)   личное сообщение
 
 

Пять копеек:

Если имя контрола с пробелами то в форме пишется Имя_Контрола_С_Пробелами_1
Но в конструкции с Ме - пишется: Me("Имя Контрола С Пробелами " & 1)
- - -
Пригодится воды напиться...
Поэтому часто пишу без подчерка: ИмяКонтролаБезПробелов :)

  Ответить  
 
 автор: час   (25.04.2013 в 12:22)   личное сообщение
 
 


СПАСИБО.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList