Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/26: Рейтинг темы: голосов - 26, средняя оценка - 4.69
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121

Перенос записей из подчиненной формы в поле Memo

19.08.2019, 18:19. Показов 5809. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть главная форма "Заказ" и подчиненная форма с "состав заказа".
там к номеру заказа присвоены несколько строк с позициями заказа

мне нужно данные из "состав заказа" построчно записать в поле Memo

Понимаю Нужно циклом перебрать "состав заказа", по ключу "Заказ" и построчно закинуть в мемо.

Не знаю синтаксис для этого цикла

Понимаю что Нужна переменная Recordset в которую загрузить "состав заказа"
дальше не пойму как перебрать записи именно по нужному заказу (какое условие для цикла)
Visual Basic
1
2
3
4
Dim tbl1 As Recordset
Set tbl1 = CurrentDb.OpenRecordset("Состав_заказа", dbOpenDynaset)
 
Do While tbl1.EOF = False
подскажите плиз
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2019, 18:19
Ответы с готовыми решениями:

Обновить поле Memo подчиненной формы
всем привет, избитая наверное тема... но никак не могу доехать)) есть главная форма "копия абонент", на ней подчиненная...

Подсчет количества записей в подчиненной форме из другой подчиненной формы
Форумчане, всем привет. На форме 2 подчиненной формы. При переходе по одной отображаются данные другой. Сделал кнопку...

Сумма из подчиненной формы, отмена записей в подчиненной форме
Нужна сразу помощь по четырем пунктам, форма КвитанцияСкупкиОбмена надо: 1. Суммирование поля Сумма в подчиненной форме с занесением в...

41
Эксперт MS Access
 Аватар для Eugene-LS
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
19.08.2019, 18:38
Цитата Сообщение от anklbenz Посмотреть сообщение
подскажите плиз
Можно проще.
У подчинённой формы есть свойство RecordsetClone - можно пройтись по по нему.
.MoveNext - вам в помощь.

ну например:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim rst As DAO.Recordset
    Set rst = Me!ObjSubForm.Form.RecordsetClone
    
'Перебор всех записей в наборе
    With rst
        Do Until .EOF = True 'Цикл до конца набора
            'Тут операции с записью:
            '...
            .MoveNext
        Loop
    End With
    
    On Error Resume Next
    rst.Close
    Set rst = Nothing
0
Модератор
Эксперт MS Access
6231 / 2909 / 708
Регистрация: 12.06.2016
Сообщений: 7,839
19.08.2019, 19:10
Лучший ответ Сообщение было отмечено mobile как решение

Решение

Цитата Сообщение от anklbenz Посмотреть сообщение
нужно данные из "состав заказа" построчно записать в поле Memo...
..............................
...не пойму как перебрать записи именно по нужному заказу (какое условие для цикла)
Не нужно никакого цикла.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Public Function To_Memo() As String
 Dim Rs As Object
 Set Rs = CreateObject("adodb.Recordset")
 With Rs 
  .Open "SELECT *, chr(13) & chr(10) FROM Состав_заказа WHERE ...", CurrentProject.Connection, 3, 3
  If Not .EOF Then
   My_Memo = .getstring(, , , "; ")
  End If
  .Close
 End With  
 Set Rs = Nothing
End Function
1
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121
19.08.2019, 19:51  [ТС]
FROM Состав_заказа WHERE ...

From - подчиненная форма
Where - главная

что значит chr(13) & chr(10)

My_Memo имеется ввиду To_Memo
0
Модератор
Эксперт MS Access
6231 / 2909 / 708
Регистрация: 12.06.2016
Сообщений: 7,839
19.08.2019, 20:35
anklbenz,

???
Вы спрашиваете или утверждаете?

Добавлено через 28 минут
Молчание затянулось...

Допустим, спрашиваете.
Отвечу.

Цитата Сообщение от anklbenz Посмотреть сообщение
FROM Состав_заказа WHERE ...
From - подчиненная форма
Where - главная
Мммм...
Это запрос.

Цитата Сообщение от anklbenz Посмотреть сообщение
что значит chr(13) & chr(10)
Это vbCrLf.

Цитата Сообщение от anklbenz Посмотреть сообщение
My_Memo имеется ввиду To_Memo
Нет, конечно.
Имеется в виду (кстати, пишется в таких случаях раздельно) поле Memo, в которое нужно "закинуть".
0
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121
19.08.2019, 20:49  [ТС]
Спрашиваю конечно... извините если выразился не корректно

в запросе после WHERE нужно указать какие поля в нашей таблице нужны, правильно я понял? Если да, то Их нужно указывать через "And"

To_Memo - Я подумал это же функция должна возвращать значение
0
Модератор
Эксперт MS Access
6231 / 2909 / 708
Регистрация: 12.06.2016
Сообщений: 7,839
19.08.2019, 21:07
Лучший ответ Сообщение было отмечено anklbenz как решение

Решение

Цитата Сообщение от anklbenz Посмотреть сообщение
в запросе после WHERE нужно указать какие поля в нашей таблице нужны, правильно я понял?
Нет.
WHERE задает условие отбора.
Вы же пишете:
Цитата Сообщение от anklbenz Посмотреть сообщение
перебрать "состав заказа", по ключу "Заказ"
Значит, условие какое-то такое: WHERE Заказ = НужныйНомер
Вы SQL знаете? Как-то же собирались Recordset открывать.

Добавлено через 2 минуты
Цитата Сообщение от anklbenz Посмотреть сообщение
это же функция должна возвращать значение
Не обязательно.
У меня сразу заполняется поле.
Но можете и возвращать.
1
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121
19.08.2019, 21:54  [ТС]
Спасибо Большое. Сделал! Все корректно возвращает

Visual Basic
1
2
3
    51136   30841   19  2; 
    51137   30841   18  1; 
    51138   30841   7   1;
где
первое число - ключ заказного товара
второе - номер заказа
третье - код товара
четвертое - количество


Можно ли обрабатывать эти поля по отдельности или хотя бы построчно
например: первый ключ вообще не нужно
а на третье поставить подстановку с человеческим названием для пользователя из соответствующей таблицы

или этот метод такого не позволяет

Добавлено через 8 минут
или спец символы какие-то вставить между полями.

Visual Basic
1
2
3
4
Visual BasicВыделить код
    !51136#30841%19$2; 
    !51137#30841%18$1; 
    !51138#30841%7$1;
чтоб уже потом это Мемо построчно преобразовать в человеческий язык
0
Модератор
Эксперт MS Access
6231 / 2909 / 708
Регистрация: 12.06.2016
Сообщений: 7,839
19.08.2019, 21:58
Все позволяет.
Запрос составьте должным образом, и все.
Типа такого:
SQL
1
2
3
4
5
SELECT НомерЗаказа, 
       DLookUp("Название", "Справочник", "Код = " & Код), 
       Количество 
FROM ....
WHERE.....
1
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121
19.08.2019, 22:03  [ТС]
Спасибо! сейчас попробую!
просто SQL для меня темный лес
0
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121
19.08.2019, 23:17  [ТС]
SQL
1
.Open "SELECT chr(13) & chr(10), DLookUp("Наименование", "Католог_Товаров", "КодТовара =" & КодТовара), количество FROM ЗаказанныеТовары WHERE Ном Заказа=30841", CurrentProject.Connection, 3, 3
не пойму почему то ругается на "наименование"

моя таблица на фото
Миниатюры
Перенос записей из подчиненной формы в поле Memo  
0
431 / 239 / 86
Регистрация: 09.04.2018
Сообщений: 1,023
19.08.2019, 23:30
anklbenz, как минимум НОМ ЗАКАЗА должно быть в квадратных скобках.
0
Эксперт MS Access
 Аватар для Eugene-LS
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
19.08.2019, 23:36
anklbenz, выложили бы пример с описанием сохраняемого в мемо поле - давно бы уже .....
0
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121
19.08.2019, 23:37  [ТС]
Там НомерЗаказа буква "р" из-за кодировки не скопировалась
пока не вставил функцию DLookUp не ругалось
0
Эксперт MS Access
 Аватар для Eugene-LS
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
19.08.2019, 23:40
Цитата Сообщение от anklbenz Посмотреть сообщение
вставил функцию DLookUp
А зачем вам DLookUp()? - разве нельзя взять наименование товара из поля формы?
Ну может я какой хитрости не понимаю ...
0
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121
19.08.2019, 23:46  [ТС]
хочу получить текстовую вариант как на фото

SQL
1
2
Stella Artois n-a 500ml    1,000    40,00
Лагер Темный               1,000    40,00
Миниатюры
Перенос записей из подчиненной формы в поле Memo  
0
Эксперт MS Access
 Аватар для Eugene-LS
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
19.08.2019, 23:48
Цитата Сообщение от anklbenz Посмотреть сообщение
хочу получить текстовую вариант как на фото
Это вы кому пишите?
Если мне - не вижу ничего сложного и без медленной функции DLookUp().

Что бы обратится к кому то конкретно на форуме - достаточно щёлкнуть по его нику (слева)
0
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121
19.08.2019, 23:52  [ТС]
А зачем вам DLookUp()? - разве нельзя взять наименование товара из поля формы?
Ну может я какой хитрости не понимаю ...
Как это можно сделать?

Добавлено через 46 секунд
Eugene-LS, не знал, что можно указывать ник.
писал Вам
0
Эксперт MS Access
 Аватар для Eugene-LS
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
19.08.2019, 23:54
Цитата Сообщение от anklbenz Посмотреть сообщение
Как это можно сделать?
У вас наименование в комбобоксе вторым столбцом
Visual Basic
1
Наименование =  Me![Поле товара].Column(1)
А в прочем, делайте как вам нравится.
Тут масса вариантов решения ...
0
8 / 8 / 4
Регистрация: 21.12.2012
Сообщений: 121
19.08.2019, 23:58  [ТС]
Eugene-LS,
У вас наименование в комбобоксе вторым столбцом
записей не всегда одинаковое количество, как их все занести в мемо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.08.2019, 23:58

Запрет на создание записи в подчиненной форме при отсутствии значения в поле главной формы( или в этой же подчиненной форме) Аксесс 2003
Доброго времени суток ! Помогите , пожалуйста, решить проблему! шаг 1. В форме "frmТОиР_2" при вводе в "ПОЛЕ...

Объединение вертикальных полей подчиненной формы в одно поле главной формы
Доброго времени суток уважаемые форумчане! Подскажите пож-та каким образом можно объединить поля из разных записей подчиненной формы в...

Запрос записей из подчинённой формы
Здравствуйте! Подскажите пожалуйста, как запросить данные из подчинённой формы с учётом имеющейся у неё сортировки и фильтра? Чтобы этот...

Поле подчиненной формы
Сделал базу больницы по заданию, и столкнулся с проблемой, нужно чтобы поле из подчиненной формы брало значение из основной, как это...

Перенос строки из подчиненной формы в таблицу
Добрый Всем день. Нужно перенести строку из подчиненной формы Запрос1 в таблицу Tab1,при нажатии кнопки в строке поля "a". ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru