LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Задачка...
 Тема: Задачка
 
 15.06.2007 21:08:41
All
4316 сообщения
1-ый


Тема: Задачка
Прошу помочь с освоением азов программирования форм в Access. Думаю, задача стандартная, для кого-то - тривиальная, но мне не удается ее одолеть.

Есть таблица с полями КодЗаписи и Значение.
Нужно в форме, работающей с этой таблицей, после выбора записи (допустим нажатием на поле КодЗаписи):
1) найти запись, у которой Значение - больше чем у выбранной записи, но меньшее среди всех таких записей (min среди бОльших значений)
2) для этих двух записей (выбранной и найденной) - поменять Значения местами (т.е. Значение найденной записи присваивается полю Значение выбранной записи, и наоборот).

Спасибо!


P.S. Общий раздел по формам
Автор: Не с пец от 0:00:00 Источник ...
 15.06.2007 21:08:41
All
4316 сообщения
1-ый


RE: Задачка
1. Для определения нужного значения можно воспользоваться функцией dmin.
2. Здесь можно попробовать несколько способов.
а) Воспользоваться запросом на изменение данных.
б) Через объект RECORDSET. Это сложнее для начинающих.
в) Создать форму которая будет невидима и через неё производить нужные изменения.


P.S. Общий раздел по формам
Автор: Andy от 0:00:00 Источник ...
 15.06.2007 21:08:41
All
4316 сообщения
1-ый


RE: Задачка
Сложно, блин... Кусочек бы кода, если можно!..


P.S. Общий раздел по формам
Автор: Не спец от 0:00:00 Источник ...
 15.06.2007 21:08:41
All
4316 сообщения
1-ый


RE: Задачка
Вот что я смог сделать сам.

Итак, есть таблица, два поля: КодЗаписи (уникальное) и Дата (полный формат).

Dim ТекущаяДата As Date, НоваяДата As Date, ТекущийКод As Integer, НовыйКод As Integer

ТекущийКод = Me!КодЗаписи
ТекущаяДата = Me!Дата
- "запомнили" значения полей выбранной записи

НоваяДата = DMax("[Дата]", "[Таблица]", "[Дата]<#" & Format(Me.Дата, "mm\/dd\/yyyy hh:nn:ss\#") )
- нашли искомое значение

Me!Дата = НоваяДата
- присвоили это значение полю Дата текущей записи


До сих пор все получилось нормально, работает. Далее, видимо, можно так продолжить:

НовыйКод = DLookup("[КодЗаписи]", "[Таблица]", "[Дата]=#" & Format(НоваяДата, "mm\/dd\/yyyy hh:nn:ss\#"))
- определяем КодЗаписи, в которой значение поля Дата равно найденному

Но, блин, как присвоить полю Дата найденной записи нужное значение (ТекущаяДата)?? Помогите, кто сможет!


P.S. Общий раздел по формам
Автор: Не спец от 0:00:00 Источник ...
 15.06.2007 21:08:41
Lavda
3 сообщения


RE: Задачка
CurrentDb.Execute _
"update ..... (ЗАПРОС на обновление записи с нужным кодом) Поле даты=" & Значение(строкой) & " конец запроса"

на край...


P.S. Общий раздел по формам
Автор: Lavda от 24.09.2004 18:32:47 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Задачка...
ПоискПоиск  Список форумовСписок форумов  
right