Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: recordset.Movelast даёт 99 запись Добавлено: 18.07.06 14:46  

Автор вопроса:  mimino
Привет всем
делаю так

Adodc4.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & App.Path & "\sample.mdb;Uid=Admin;Pwd=;"
Adodc4.RecordSource = "table"
Adodc4.Refresh
If Adodc4.Recordset.EOF = False Then
Adodc4.Recordset.MoveLast
buup = Adodc4.Recordset.Fields(0)
Else
buup = 1
End If

выходит
buup = 99
вообщето он должен показать 105
странно ?
может что нибудь не так делаю ?

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 18.07.06 18:35
проверь ConnectionString

Ответить

Номер ответа: 2
Автор ответа:
 mimino



Вопросов: 6
Ответов: 16
 Профиль | | #2 Добавлено: 18.07.06 20:09
А можно узнать последний запись с помощью SQL команды ?

Мне надо было узнать последний запись в поле.

Ответить

Номер ответа: 3
Автор ответа:
 mimino



Вопросов: 6
Ответов: 16
 Профиль | | #3 Добавлено: 18.07.06 20:11
Думаю что Connectionstring все в порядке.
до 99 того все работает ок
после 99 глючит.

А можно узнать последний запись с помощью SQL команды ?

Мне надо было узнать последний запись в поле.

Ответить

Номер ответа: 4
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #4 Добавлено: 18.07.06 22:11
Не существует понятия "последняя запись". Это Access а не excel. Все записи равноправны, и хранятся в том порядке, в котором решает база. База решит - будет хранить задом наперёд. ИЛи вперемешку. И это - совершенно корректное поведение.

Если нужна какая-то конкретная запись, надо определить условия её получения. Исключительно через поля базы.

Ответить

Номер ответа: 5
Автор ответа:
 Mihalыch



ICQ: 373-509-101 

Вопросов: 56
Ответов: 330
 Профиль | | #5 Добавлено: 19.07.06 09:55
Попробуй Adodc4.Recordset.RecordCount, если = 105, тогда смотри ответ № 4.

Ответить

Номер ответа: 6
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #6 Добавлено: 19.07.06 11:51
Ну, если .Fields(0) (.Value) - уникальный индекс, то ответ N4 (+сортировка типа .Sort = .Fields(0).Name & " ASC";), иначе вопрос некорректен (или я тупой).

Ответить

Номер ответа: 7
Автор ответа:
 mimino



Вопросов: 6
Ответов: 16
 Профиль | | #7 Добавлено: 19.07.06 11:56
Может я сделал глупость но Я сделал так
select top 1 * from [table] order by [id_field] desc
Нашел в этом форуме ответ Gserg а.

А насчет №4 ответа во всех учебниках написано
что movelast перемещяет указатель на последнюю запись.
Но мне было интересно почему movelast остановился на пол пути?

Ответить

Номер ответа: 8
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #8 Добавлено: 19.07.06 12:17
С чего ты это взял? Ну возьми не .Fields(0).Value а .AbsolutePosition - и посмотри какую запись ты взял. Другой вопрос - если записи не сортированы - ты можешь их получить в любом порядке. Юзай .Sort.
Я так понял что в первом поле у тебя номер записи? Просто уточняю.

Ответить

Номер ответа: 9
Автор ответа:
 mimino



Вопросов: 6
Ответов: 16
 Профиль | | #9 Добавлено: 19.07.06 12:45
Вот теперь все понятно
LamerOnLine
спасибо за .sort

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам