Собственно аксес я незнаю вообще. раньше писал в дельфи и визуал басик. но форматы и принципы прилично различаються. помогите сделать простейшую вешь.
имееться база данных допустим
фамилия / имя / дата выдачи паспорта
данные могут повторяться т.е. фамилия и имя совпадает, а дата выдачи может быть различной пример
/таб1/
смит / джон / 08/12/1997
смит / джулия / 09/01/2001
смит / джон / 15/04/2007
из литературы я разобрался как мне отобрать джонов но их в запросе получиться 2 а надо того у которого дата выдачи паспорта последняя т.е. 15/04/2007
думаю надо в запросе в поле фамилия вписать условие, но какое именно? поясните пожалста на данном примере. просто строчку условия для примера. дальше надеюсь сам докубатурю. мне неясно как аксес сравнивает. в обычных языках алгоритм взять строчку 1 сравнить с 2 елси то иначе дальше...
1. Если использовать VBA (visual basic for application), то дата имеет обычный формат чисел Double (дата.время). Сравнение можно проводить также, как числа. Например, IF Cdbl(Дата1) >=Дата2 ...
2. В запросах SQL и фильтрах надо конвертировать дату в американский формат #mm/dd/yyyy#. Пример. Select * FROM table WHERE Дата>=#01/23/2007#. Для перевода используется функция format, IIF, Cdate и т.п.
3. Для этого примера (тут возвращается 1 запись) вообще сравнивать даты не надо. SELECT TOP 1 * FROM Table Order By [дата выдачи паспорта] Desc
спасибо, про даты уже видел на форуме... мне надо просто открыть файл, импортировать, отсортировать запросом выкинут повторяющиеся и устаревшие записи. привести к нужному виду 167 полей, потом сохранить ето и загнать в базу оракля... туда в принципе неполезу. хоть гвоздями прибивают пусть руки к клавиатуре... итак несвою работу заставляют делать.
ордер бу ето сортировка? деск по убыванию. а топ 1 это 1 запись удовлетворяюющую условию...
теперь тупо надо расставить скобочки. и заключить подчинённый запрос. чтобы попробовать что получилось :)