Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Формирование строки из значений таблицы / 19 сообщений из 19, страница 1 из 1
29.04.2016, 20:50
    #39227798
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
Уважаемые профессионалы! Подскажите, как можно сформировать строку в поле "формула" из значений подчиненной формы.
Строка такого вида: Гамма: белый(22)+красный(12)+синий(5).
Количество цветов в подч. форме может быть разным.
...
Рейтинг: 0 / 0
29.04.2016, 23:12
    #39227863
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
Эта задача, в принципе, имеет решение?
...
Рейтинг: 0 / 0
29.04.2016, 23:22
    #39227867
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
Для сборки строки проще всего пользовать ADODB Recordset GetString.
Вот только сохранять эту строку имеет ли смысл?
Правильнее получать ее "на лету" по мере надобности.
...
Рейтинг: 0 / 0
29.04.2016, 23:56
    #39227876
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
Predeclared, я "чайник" в sql, только изучаю. Может дадите решение полностью?
...
Рейтинг: 0 / 0
05.05.2016, 17:08
    #39230179
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
Что, нет решения у этой задачи? Какие есть мнения, поделитесь пожалуйста.
...
Рейтинг: 0 / 0
05.05.2016, 19:15
    #39230296
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
wladimirrr,
вам для отчета это надо или для формы
и там и там надо писать код, достаточно небольшой
...
Рейтинг: 0 / 0
05.05.2016, 20:43
    #39230342
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
ПЕНСИОНЕРКА, мне надо эту строку сформировать в форме, а потом я ее буду использовать в отчетах.
...
Рейтинг: 0 / 0
05.05.2016, 21:18
    #39230361
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
Вот способ без ADO.
1. В свойстве ControlSource поля Формула поставить =FuncG()
2. В модуле формы создать функцию
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Function FuncG() As String
 Dim Rst As DAO.Recordset, _
     S As String
 Set Rst = <имя контрола, содержащего подчиненную форму>.Form.RecordsetClone
 With Rst
  Do Until .EOF
   S = S & "+" & !цвет & "(" & !насыщенность & ")"
   Rst.MoveNext
  Loop
  .Close
 End With
 FuncG = Mid(S, 2)
End Function
...
Рейтинг: 0 / 0
05.05.2016, 21:34
    #39230370
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
wladimirrr
а какой длины может достигать эта строка
если более 254 символа --возможны проблемы
...
Рейтинг: 0 / 0
05.05.2016, 21:43
    #39230382
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
ПЕНСИОНЕРКАа какой длины может достигать эта строка
если более 254 символа --возможны проблемыПочему?
Какие могут быть проблемы, если поле Формула свободное?
...
Рейтинг: 0 / 0
05.05.2016, 22:04
    #39230389
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
__Michelle,
Если у меня имя формы "гамма", а имя подчиненной формы "подчформа Запрос1", то как будет выглядеть <имя контрола, содержащего подчиненную форму> ? Извините, только осваиваю программирование, до этого пользовался исключительно макросами.
...
Рейтинг: 0 / 0
05.05.2016, 22:12
    #39230393
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
Все, разобрался! Огромное спасибо!
...
Рейтинг: 0 / 0
05.05.2016, 22:19
    #39230395
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
__Michelle,
А как сделать, чтобы эта строка формировалась в следующих записях формы "гамма". В первой записи она сформировалась, а когда я создал 2-ю запись, поле осталось пустым. Команда меню "обновить" не помогает.
...
Рейтинг: 0 / 0
05.05.2016, 22:21
    #39230397
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
__Michelle,
Строка формируется только если переключиться в режим конструктора, а затем в режим формы.
...
Рейтинг: 0 / 0
05.05.2016, 23:45
    #39230426
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
wladimirrr,

Добавьте выделенную строку
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Function FuncG() As String
 Dim Rst As DAO.Recordset, _
     S As String
 Set Rst = <имя контрола, содержащего подчиненную форму>.Form.RecordsetClone
 With Rst
  .MoveFirst
  Do Until .EOF
   S = S & "+" & !цвет & "(" & !насыщенность & ")"
   Rst.MoveNext
  Loop
  .Close
 End With
 FuncG = Mid(S, 2)
End Function
...
Рейтинг: 0 / 0
06.05.2016, 00:08
    #39230436
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
__Michelle,
Да, теперь работает. При создании новой записи, после выбора цветов надо фокус перевести в поле формула и задать команду меню Обновить.
...
Рейтинг: 0 / 0
06.05.2016, 09:54
    #39230558
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
__Michelle, при вводе новой записи, если цвета не выбраны, в поле формула выводится "#Ошибка". Можно как то заменить ее на символы или цифры, что бы потом использовать значение этого поля (формула) в операторе Iif?
...
Рейтинг: 0 / 0
06.05.2016, 10:18
    #39230580
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
Например, так - добавить выделенное желтым.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Function FuncG() As String 
  Dim Rst As DAO.Recordset, _ 
      S As String 
  Set Rst = [подчформа Запрос1].Form.RecordsetClone 
  With Rst
    If .RecordCount = 0 Then
      S = "+AAAAAAAA"
    Else
      .MoveFirst 
      Do Until .EOF 
        S = S & "+" & !цвет & "(" & !насыщенность & ")" 
        .MoveNext 
      Loop 
      .Close 
    End If
  End With 
  FuncG = Mid(S, 2) 
End Function
...
Рейтинг: 0 / 0
06.05.2016, 14:53
    #39230913
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование строки из значений таблицы
__Michelle, классно! Спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Формирование строки из значений таблицы / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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