powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / "Суммирование" текстовых строк с опред. условием
15 сообщений из 15, страница 1 из 1
"Суммирование" текстовых строк с опред. условием
    #32261715
Maksimum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть "ТАБЛИЦА1", в ней 2 столбца: 1 - стоимость изделия "СТИЗД", 2- наименование изделия "НАИМИЗД". Создал запрос "ЗАПРОС1": 1 столбец - стоимость изделия с параметром "группировка"
ВОПРОС: Что надо сделать чтобы во втором столбце наим. изделии записывались в одну строку при условии что у них одинаковая стоимость??? Т.е если 5 изделий стоят по 100 руб. значит в графе "стоимость" - 100, в графе "наим изделий" - изд.1, изд.2, ...., изд5.
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32261738
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32262975
Maksimum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!!! ВЫРУЧИЛ!!!
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264403
Maksimum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НИ ФИГА!!! Первый пример склеивает почему-то не все строки, а второй и остальные вообще не работают!
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264404
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и афигительно!!!
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264446
Maksimum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что в этой фигне не так?

Public Function UnionStr2(Optional ID, Optional Fam)
Static IDOld, FamUnion
If IsMissing(ID) Then
IDOld = Empty
Exit Function
End If
If IDOld <> ID Then
IDOld = ID
FamUnion = Null
End If
FamUnion = (FamUnion + ", ") & Fam
UnionStr2 = FamUnion
End Function
При первом же цикле срабатывает Exit Function.
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264468
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С виду все в порядке. Может, ты ее вызываешь криво?
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264491
Maksimum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вызываю я ее так:
Select ID, Last(UnionStr2(ID,Fam)) AS FamUnion
FROM Tab1
WHERE IsEmpty(UnionStr2())
GROUP BY ID;
А все это БАРАХЛО я взял на
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264541
Maksimum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... взял на:
http://hiprog.com/access/article.asp?id=334
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264555
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего влез, спрашивается? "Фигня", "Барахло"...
Ты сам "барахло".

Функция нормальная.
+ к ней если 1/4 мозгов, то все работать будет.

Ты сам понимаешь, что она делает?

А зачем тогда говоришь так?

Ей надо Id по порядку (по возрастанию/убыванию) и в количестве, в котором они встречаются в контексте подсовывать.

А зачем тебе помогать, если ты мою функцию завтра тоже дрянью назовешь?..

Все в сад.
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264577
Maksimum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ладно не кипятись :) Я ей и так и сяк ID подсовываю, но дальше заголовка она не срабатывает.
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264583
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нафик ты нужен, кипятиться об тебя. Просто почем зря чужой труд охаиваешь. Ведь не они виноваты, что ты что-то там недопонял.

Чтоб не пудрить себе мозг, я бы так написал:
[src]Public Function UnionStr2(ID As Long) As String
Dim rs as Recordset,s as string
set rs = currentdb.openrecordest("Select * from MyTable Where IdField=" & ID )
do until rs.eof
s=(s+", ") & rs!FIO
rs.movenext
loop
rs.close
set rs = nothing
unionstr2=s
End Function
Обращаю внимание, что ID я считаю числовым полем, если это строка, надо поправить первую и третью строки.
Функцию не проверял.
По идее, она для каждого ид должна возвращать все его фио из таблицы MyTable, перечисленные через запятую. Работать будет относительно медленно.
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32264586
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вижу ляпсус. Надо во второй строке выкинуть "аs string", либо поправить
if len(s)=0 then
s=...
else
s=s & ...
endif

Конструкция s+", " работает только если IsNull(s)
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32267077
Maksimum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа! У меня уже собралось 5 вариантов программ, но ни одна из них не работает как надо! Видно что-то где-то я не догоняю.
Люди добры! Помогите начинающему!
...
Рейтинг: 0 / 0
"Суммирование" текстовых строк с опред. условием
    #32267085
Maksimum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть функция:
Public Function GetStringForID(ID As Long) As String
Dim rst As ADODB.Recordset
Dim str As String

Set rst = New ADODB.Recordset
rst.Open "Select NAIM from Tab1 Where id=" & CStr(ID), CurrentProject.Connection

str = ""
Do While Not rst.EOF
str = str & rst("NAIM").Value & ", "
rst.MoveNext
Loop
If Len(str) <> 0 Then
GetStringForID = Left(str, Len(str) - 2)
Else
GetStringForID = Null
End If
End Function

И строка запроса:
Select ID, GetStringForID(ID) from (Select distinct ID from tab1) as tmp


Но что-то тут не работает тоже.....
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / "Суммирование" текстовых строк с опред. условием
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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