|
|
|
| Доброго времени суток, подскажите пожалуйста есть ли способо решить задачу а то голову сломал уже
Есть таблица с двумя полями "счетчик" и "время" , время идет так
13.05.2008 12:25:50
13.05.2008 12:27:51
13.05.2008 12:29:50
13.05.2008 12:29:51
13.05.2008 12:31:53
13.05.2008 12:33:53
и так несколько месяцев , время записей почти рандомное .. стоит задача ввод к примеру даты
и времени допустим 13.05.2008 12:30 .... каким образом можно (если вообще можно ) выделить запись максимально из всех близкую к этой дате и времени ? помогите пожалуйста а то вообще никак не могу ... | |
|
| |
|
|
|
| с помощью запроса:
PARAMETERS [Введите Дату и время] DateTime;
SELECT TOP 1 id, Дата
From таблица
ORDER BY Abs([Дата]-[Введите Дату и время]);
|
Этот запрос вернет одну запись с нужным вам кодом и временем.
еще можно с Dmin поиграться, то все равно запрос нужен | |
|
| |
|
|
|
| Спасибо за ответ, но я не сильно рублю еще вба (( ... Я делал через цикл который бежит и проверяет условие.. но он работает не так как хотелось бы... не можете глянуть одним глазком на него, пожалуйста ... | |
|
| |
|
|
|
| Sub вводдат ()
Dim d, v, dv As String
Dim dd As Date
Dim rst As Recordset
Dim q As Variant
Set rst = CurrentDb.OpenRecordset("Архив")
d = InputBox("Введите дату", "Дата")
v = InputBox("Введите время", "Время")
dv = d + " " & v
dd = CDate(dv)
temp = MsgBox(dv, vbOKOnly, "Правильность склеивания")
rst.Move 1
Do Until rst.EOF
pp = Abs(dd - rst.Fields(1))
rst.MovePrevious
gg = Abs(dd - rst.Fields(1))
rst.MoveNext
If pp < gg Then aa = rst.Fields(1)
rst.MoveNext
Loop
temp = MsgBox(aa, vbOKOnly, "aa")
End Sub | |
|
| |
|
13 Кб. |
|
| как один из возможных вариантов | |
|
| |
|
|
|
| Спасибо большое все работает теперь буду разбираться как ... можно еще попросить (извняюсь за наглость - очень надо .. ) как можно в этом куске кода
If rst.RecordCount <> 0 Then
MsgBox "ближайшая дата = " & rst![dt] & ", ID записи = " & rst![id]
вставить что нибудть чтобы по выполнению кода открывалась эта таблица с выделенной найденно записью ? спасибо еще раз... | |
|
| |
|
15 Кб. |
|
| с таблицей возни много. Список пойдет? | |
|
| |
|
|
|
| Спасибо Вам большое .. все получилось | |
|
| |