Страница: 1 |
Страница: 1 |
Вопрос: Вопрос про select max
Добавлено: 16.08.11 20:18
Автор вопроса: Vitalysan®
Доброго времени суток!
Есть access бд с именем IZVES. В таблице есть поле ID, в котором записываются цифры от 1 до 10. Следующий код
Private connect As ADODB.Connection
Private Sub sConnect(sPath As String)
Set connect = New ADODB.Connection
connect.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & sPath & ";" & "Persist Security Info=True"
connect.Open
Set rs = New ADODB.Recordset
End Sub
Private Sub Command1_Click()
Call sConnect("c:\izveshenie.mdb")
rs.Open "Select Max(ID) as [ID] from IZVES", connect, adOpenStatic, adLockOptimistic
If IsNull(rs!ID) = False Then MsgBox rs!ID
rs.Close
connect.Close
End Sub
Заранее благодарен.
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Ким Чен Ир
Вопросов: 0
Ответов: 140
Профиль | | #1
Добавлено: 16.08.11 21:08
Причина в том, что в твоей базе поле ID имеет текстовый тип данных, а не числовой.
Поэтому функция MAX сравнивает строки, начиная с первого символа. А строка "9" больше чем "10"
Номер ответа: 2
Автор ответа:
Vitalysan®
Вопросов: 25
Ответов: 61
Профиль | | #2
Добавлено: 16.08.11 21:21
Точно! Благодарю! Тема закрыта.
Номер ответа: 3
Автор ответа:
Vitalysan®
Вопросов: 25
Ответов: 61
Профиль | | #3
Добавлено: 16.08.11 21:51
Рано обрадовался(((
Заранее благодарен.
Номер ответа: 4
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #4
Добавлено: 16.08.11 21:57
SELECT DOES NOT BRAKE
Номер ответа: 5
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #5
Добавлено: 16.08.11 21:57
Кавычи лишние похоже, он не может строку с числом почему-то сравнить
вот так попробуй
Номер ответа: 6
Автор ответа:
Vitalysan®
Вопросов: 25
Ответов: 61
Профиль | | #6
Добавлено: 16.08.11 22:10
Номер ответа: 7
Автор ответа:
Vitalysan®
Вопросов: 25
Ответов: 61
Профиль | | #7
Добавлено: 16.08.11 22:18
пока разобрался , что IN не нужен.
Номер ответа: 8
Автор ответа:
Vitalysan®
Вопросов: 25
Ответов: 61
Профиль | | #8
Добавлено: 16.08.11 22:38
Номер ответа: 9
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #9
Добавлено: 17.08.11 09:56
Ты в 6-м примере не те кавычки кторые надо было поменял. У тебя там полная ерунда получилась.