f1-название валюты
f2-символ валюты
f3-курс
f4-рабочая валюта (да / нет)
Date- дата последнего изменения
Time –время последнего изменения
В этой таблице записи не обновляются, а добавляются. Т.Е. если доллар изменился, старая запись остается и добавляется новая. Так же для других валют.
Выбрать нужно записи валют, которые встречаются в этой таблице, Канешно, не повторяя, и по последней дате обновления и по последнему времени.
Т.Е. записей может бить 1000, но валюты упомянутые могут бить всего три рубль, доллар, тугрики. Вот эти три и нужно выбрать, только последние обновленные.
Следующее работает:
- Код: Выделить всё
Set R = db.OpenRecordset("SELECT ID, f1 ,f2, f3, f4, DATE, time FROM Tab1 where time in (SELECT max (time) FROM (SELECT ID, f1 ,f2, f3, f4, date, time FROM Tab1 WHERE date in (SELECT max (date) FROM Tab1 group by f1 order by max (date))) group by f1 order by max (time));")
И второй вопрос: в поле f4 - рабочая валюта (да / нет) галочка может стоять только у одной записи. Как контролировать, чтобы:
1. галочка била именно одна и при этом
2. чтобы хотя бы одна галочка обязательно была.