powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как осуществить проход по записям ленточной формы?
15 сообщений из 15, страница 1 из 1
Как осуществить проход по записям ленточной формы?
    #39908963
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется ленточная форма, источник данных задаётся посредством простого запроса на выборку из одной таблицы,т.е. Me.Recordsource="Select ..."
Каким образом можно "пробежаться" программно по записям формы(а не таблицы/запроса) и получить значение того или иного поля формы,или нет например сделать неактивным элемент 3-ей и 5-ой записей ленточной формы,такое возможно?
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39909033
drafty
Каким образом можно "пробежаться" программно по записям формы(а не таблицы/запроса) и получить значение того или иного поля формы

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
With Me.RecordsetClone
  If .RecordCount > 0 Then .MoveFirst
  Do Until .EOF
Debug.Print ![ИмяПоля]
    .MoveNext
  Loop
End With


У формы есть св-во
drafty
сделать неактивным элемент 3-ей и 5-ой записей ленточной формы,такое возможно?
Чем отличаются эти записи от других? Если наложить фильтр или сортировку, то другие записи станут 3-ей и 5-ой. И еще, "сделать неактивным элемент", когда запись текущая или вообще?
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39909038
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий
drafty
Каким образом можно "пробежаться" программно по записям формы(а не таблицы/запроса) и получить значение того или иного поля формы

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
With Me.RecordsetClone
  If .RecordCount > 0 Then .MoveFirst
  Do Until .EOF
Debug.Print ![ИмяПоля]
    .MoveNext
  Loop
End With


У формы есть св-во
drafty
сделать неактивным элемент 3-ей и 5-ой записей ленточной формы,такое возможно?
Чем отличаются эти записи от других? Если наложить фильтр или сортировку, то другие записи станут 3-ей и 5-ой. И еще, "сделать неактивным элемент", когда запись текущая или вообще?

Премного благодарен!👍
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39909132
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий
drafty
Каким образом можно "пробежаться" программно по записям формы(а не таблицы/запроса) и получить значение того или иного поля формы

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
With Me.RecordsetClone
  If .RecordCount > 0 Then .MoveFirst
  Do Until .EOF
Debug.Print ![ИмяПоля]
    .MoveNext
  Loop
End With


У формы есть св-во
drafty
сделать неактивным элемент 3-ей и 5-ой записей ленточной формы,такое возможно?
Чем отличаются эти записи от других? Если наложить фильтр или сортировку, то другие записи станут 3-ей и 5-ой. И еще, "сделать неактивным элемент", когда запись текущая или вообще?

Когда запись не текущая,но присутствует на форме
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39909219
drafty
Когда запись не текущая,но присутствует на форме
Вы не ответили на вопрос "Чем отличаются эти записи от других?".
Если "сделать неактивным элемент" зависит от его значения или значений других полей записи, и этот элемент - поле или поле со списком, то решение - условное форматирование.
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926092
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
With Me.RecordsetClone
  If .RecordCount > 0 Then .MoveFirst
  Do Until .EOF
Debug.Print ![ИмяПоля]
    .MoveNext
  Loop
End With


Вчера применил этот метод,и столкнулся с тем,что Movenext не срабатывает,т.е. переход не осущесвляется,на печать выводится только первая строка формы,хотя количество проходов соответствует количеству строк ленточной формы.
Поменял RecordsetClone на Recordset - тогда заработало как надо
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926111
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
With Me.RecordsetClone
  If .RecordCount > 0 Then .MoveFirst
  Do Until .EOF
Debug.Print .Fields("ИмяПоля") ' ![ИмяПоля]
    .MoveNext
  Loop
End With

Вчера применил этот метод,и столкнулся с тем,что Movenext не срабатывает,т.е. переход не осущесвляется,на печать выводится только первая строка формы,хотя количество проходов соответствует количеству строк ленточной формы.
Поменял RecordsetClone на Recordset - тогда заработало как надо
пиши как надо
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926130
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
А каким образом можно сделать тоже самое,только в отчете?
Смотрю https://docs.microsoft.com/ru-ru/office/vba/api/access.report.recordset и вообще ничего не вижу...
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926154
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
А каким образом можно сделать тоже самое,только в отчете?
зачем тебе?
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926168
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
drafty
А каким образом можно сделать тоже самое,только в отчете?
зачем тебе?

Например делать какие-либо метки на полях записей по определенному критерию содержимого строк отчета.Ну например изменить значения поля1 Отчета1 с значения "Текст" на значение "ТекстМетка" где поле2 Формы1 равно=1 (при условии,что у формы1 и отчета1 одинаковый рекордсоурс)...
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926169
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Панург
пропущено...
зачем тебе?

Например делать какие-либо метки на полях записей по определенному критерию содержимого строк отчета.Ну например изменить значения поля1 Отчета1 с значения "Текст" на значение "ТекстМетка" где поле2 Формы1 равно=1 (при условии,что у формы1 и отчета1 одинаковый рекордсоурс)...

Условное форматирование не всчет...
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926185
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty, ближе к телу! (с)
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926189
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий
drafty
Когда запись не текущая,но присутствует на форме
Вы не ответили на вопрос "Чем отличаются эти записи от других?".
Если "сделать неактивным элемент" зависит от его значения или значений других полей записи, и этот элемент - поле или поле со списком, то решение - условное форматирование .

Да,только что проэкспериментировал -это решение...
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926196
drafty
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
With Me.RecordsetClone
  If .RecordCount > 0 Then .MoveFirst
  Do Until .EOF
Debug.Print ![ИмяПоля]
    .MoveNext
  Loop
End With


Вчера применил этот метод,и столкнулся с тем,что Movenext не срабатывает,т.е. переход не осущесвляется,на печать выводится только первая строка формы,хотя количество проходов соответствует количеству строк ленточной формы.
Поменял RecordsetClone на Recordset - тогда заработало как надо
На то он и Recordset Clone , что перемещение по записям никак не отражается на форме. Что бы перейти в форме на найденную запись, нужно выполнить Me.Bookmark = Me.RecordsetClone.Bookmark (внутри With Me.RecordsetClone просто Me.Bookmark = .Bookmark).
Если перемещаться по Recordset , то этого не нужно, и записи на форме будут двигаться синхронно, что не есть гуд.

Панург
Код: vbnet
1.
Debug.Print .Fields("ИмяПоля") ' ![ИмяПоля]

пиши как надо Панург, аргументируйте, что .Fields("ИмяПоля") - как надо, а ![ИмяПоля] - как не надо. Понятно, что в .Fields(...) можно применить строковую переменную или номер поля в коллекции, но это не тот случай.
...
Рейтинг: 0 / 0
Как осуществить проход по записям ленточной формы?
    #39926302
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий
Панург, аргументируйте, что .Fields("ИмяПоля") - как надо, а ![ИмяПоля] - как не надо.
Не в одном холиваре уже обсуждалась применимость точки и восклицательного знака при обращении к коллекциям. И все оставались при своём мнении. Но уже два десятка лет как было рекомендовано (рекомендации происходили из MS) всё же использовать точку. Восклицательный знак оставили лишь в запросах (построитель). Мне не охота перечислять все аргументы, сошлюсь пожалуй на книгу Гетца&Со "Разработка настольных приложений...".
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как осуществить проход по записям ленточной формы?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]