Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужен Цикл Do While, работа с поялми из Access 
V
    Опции темы
nekstv
Дата 27.7.2007, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.10.2006

Репутация: нет
Всего: нет



Есть таблица в которой 2 поля. поле- KODUCH( код товара) и поле DATAPRIX ( в котором размещаются даты прихода товара). Мне надо создать цикл, что бы двигаясь по полю KODUCH, вычитались даты, следующая дата вычитала предыдущую! ( примерно так Di - Di-1) и так до следующего ТМЦ, потом цикл считает даты следующего ТМЦ. И все это записывалась в поле другой таблицы. Помогите с циклом!!!!!!

НАчатый  код:
Код

Private Sub Формирование_ННЗ_Click()
Dim rstPriH As Recordset      
Dim rstPlecho As Recordset

Set rstPriH = CurrentDb.OpenRecordset("PrDokO")
Set rstPlecho = CurrentDb.OpenRecordset("PrDokO")
rstPriH.MoveFirst

per = rstPriH!KODUCH
Do While per = rstPriH!KODUCH  // KODUCH это код



Loop



End Sub


Это сообщение отредактировал(а) cardinal - 28.7.2007, 00:57
PM MAIL   Вверх
cardinal
Дата 28.7.2007, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Модератор: Используйте теги "Код"!


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Akina
Дата 29.7.2007, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(nekstv @  28.7.2007,  00:12 Найти цитируемый пост)
Мне надо создать цикл

Надо? Создайте.

Хотя не понимаю, зачем тут цикл, когда все делается одним (правда, слегка замороченным) запросом.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
nekstv
Дата 29.7.2007, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.10.2006

Репутация: нет
Всего: нет



У меня он не получается! 
PM MAIL   Вверх
Akina
Дата 30.7.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Пример.

Есть таблица с полями:
ID
C (Category)
D (Date)
V (Value)


Надо по каждой категории получить прирост значения по сравнению с предыдущей датой.

Запрос 1. Цель - получение всех разностей. Его имя - Q1.

Код

Select T.C, T.D, (T.V-T1.V) As dV, (T.D-T1.D) As dD
From T, T As T1
Where ((T.C=T1.C) AND ((T.D-T1.D)>0))


Запрос 2. Цель - отобрать минимальные (т.е. собственно прирост). Его имя - Q2.

Код

Select C, D, Min(dD) As mdD
From Q1
Group By C, D


Запрос 3. Получение требуемых данных. Его имя - Q3.

Код

Select Q1.C, Q1.D, Q1.dV
From Q1 
  Inner Join Q2
    On ((Q1.C=Q2.C) AND (Q1.D=Q2.D) AND (Q1.dD=Q2.mdD))


Осталось все это собрать в один запрос. При всем его монстроидальном виде, он вполне работоспособен.

PS. Это всего лишь пример, демонстрирующий идею. Посему писан на коленке и работоспособность не гарантирую. Но кому надо, тот разберется.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
nekstv
Дата 1.8.2007, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.10.2006

Репутация: нет
Всего: нет



Спасибо! Я разобрался с циклом, все получиось, все работате!!!!!!!!!!!!

Добавлено через 6 минут и 40 секунд
Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0781 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.