powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как разложить по ячейкам???
20 сообщений из 20, страница 1 из 1
Как разложить по ячейкам???
    #32405962
Q2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Q2
Гость
Мастера! подбросьте идею. В упрощенном виде задача такая
есть таблица
X Y
3
5
7
4

Дается некое число 10 , которое нужно распределить в полях Y. как получить результат

X Y
3 3
5 5
7 2
4 0

т.е как бы заполнить ячейки Y по размеру X
У меня получаются уж очень дикие варианты. ПОМОГИТЕ!
С-пасибо
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32405979
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Типа, олимпиада по программированию? Пожалуй, перенесу-ка я этот топик... Только куда?
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406054
Q2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Q2
Гость
Гусары! МОЛЧАТЬ!!!
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406061
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМастера! подбросьте идею.
авторГусары! МОЛЧАТЬ!!!


И в какой среде это сделать-то надо? А может, ручками? Или запросом?
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406079
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знакомая постановка задачи...помню было такое в институте лет эдак 10 назад.

Ностальгические воспоминания.
Называется это "Транспортная задача" из раздела системного анализа и математического моделирования.
Решается методом весовых коэффицентов.


По теме:
Для таких задач существуют алгортимы решения - все они описываются в соответствующих учебниках.
У меня где-то валяется программка, которую как курсовой проект делал.

Модераторам
Это и вправду не относится к аксесу - но вот куда понятия не имею .
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406087
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
n= 10 
rs.movefirst
do until rs.eof
    rs.edit
    if rs!x<=n then
        rs!y=rs!x
    else
        rs!y=n
    endif
    n=n-rs!y
    rs.update
    if n= 0  then
        rs.close
        exit sub
    endif
    rs.movenext
loop
rs.close
msgbox n
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406090
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Мой ответ написан на Аксессе. Это больше не оффтопик.
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406099
Q2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Q2
Гость
Гусары Молчать! относилось к вопросу Только куда?

А реализовать это безобразие надо в .mdb.
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406104
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А ответ-то мой подошел, али как?
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406127
Q2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Q2
Гость
Владимир Саныч спасибо. Идея ясна и понятна.
Это у меня проблема. Еще не работал с recordset, а это, кажется туда (или оттуда).
Может есть ссылочка, где почитать для начинающих с recordset?
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406141
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Перед моим кодом надо добавить:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
dim n as integer, rs as dao.recordset
set rs=currentdb.openrecordset( "select * from ... order by ..." )
if rs.bof then
    rs.close
    msgbox n
    exit sub
endif

Больше ничего не надо.
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406181
Q2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Q2
Гость
Чегой-то не хватает (то ли у меня, то ли у моего компьютера)
ругается уже на rs as dao.recordset
пишет User-defined type not defined

Стоит Offise XP на W98
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406187
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Из окна модуля в меню Tools -> References есть ли птичка против DAO?
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406188
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подключи библиотеку дао
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406232
Q2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Q2
Гость
Спасибо! Процесс пошел!
Надеюсь, что дойдет куда надо.
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406285
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подразумевается, что ячейки отсортированы по возрастанию (id от 1 до N)
Таблица XY(id,X,Y)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
UPDATE Calculate INNER JOIN XY ON Calculate.id = XY.id SET XY.Y = [Calculate]![rez]
WITH OWNERACCESS OPTION;
хранимый запрос Calculate:
SELECT XY.X, XY.Y, XY.id, sumF([id], "X" ) AS Narost, NachChislo()-[narost] AS delta, fchoose([x],[delta]) AS Rez
FROM XY
ORDER BY XY.id
WITH OWNERACCESS OPTION;
 функции:
Function sumF(ID As Long, strFieldName As String)
Dim Sum As DAO.Recordset
Dim strSumF As String
Dim rstFielad As String
rstField =  "Sum_"  & strFieldName
strSumF =  "SELECT Sum(XY."  & strFieldName &  ") AS ["  & rstField & _
 "] FROM XY WHERE (((XY.id) Between 1  And " & ID &  ")) WITH OWNERACCESS OPTION;" 
Set Sum = CurrentDb.OpenRecordset(strSumF, dbopendynaset)
sumF = Sum(rstField)
End Function
Function fChoose(arg As Double, d As Double) As Double
 If d >=  0  Then
   fChoose = arg
   Else
    If d + arg >=  0  Then
    fChoose = (d + arg)
     Else
      fChoose =  0 
    End If
 End If
End Function
Function NachChislo() As Double
  NachChislo =  10 
End Function
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406287
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да, у тебя длиннее. :^)
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406289
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч
Зато никто не заподозрит меня в offTopic, так как в Access SQL :-)
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32406899
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слабо короче Саныча написать?
...
Рейтинг: 0 / 0
Как разложить по ячейкам???
    #32407163
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan: да запросто!
Вот рецепты:

1. Все, что внутри IF'а, засунь в одну строчку
2. Убери rs.movefirst
3. Ну еще чуток напильником пригладить, бо писАлось явно на коленке
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как разложить по ячейкам???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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