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

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

19.08.2019, 18:19. Показов 5350. Ответов 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
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,446
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 / 707
Регистрация: 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 / 707
Регистрация: 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 / 707
Регистрация: 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 / 707
Регистрация: 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
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,446
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
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,446
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
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,446
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
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,446
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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru