Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
stag

Проверка на последнюю запись

09.08.2010, 14:31. Показов 5001. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, написать в VBA программу на проверку последней записи!!!
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2010, 14:31
Ответы с готовыми решениями:

Переход на последнюю запись
Когда нажимаю на кнопку "Добавить/Изменить", у меня переходит на форму, где добавляю и изменяю записи соответственно, но начинается с...

Отобразить последнюю запись в отчете
У меня есть отчет,который отображает несколько записей(можно по страницам листать).как сделать,чтобы при нажатии на кнопку в форме(есть...

Показать последнюю запись в таблице
Доброго времени суток. Стоит такая задача: Есть ленточная форма Список заказов необходимо при открытии этой формы получить следующее:...

9
1 / 1 / 1
Регистрация: 05.01.2010
Сообщений: 235
09.08.2010, 14:47
Вопрос не очень понятен. Если нужно получить доступ к последней записи таблицы tName:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dim r as Recordset
set r=CurrentDb.Openrecordset('tName',dbOpenDynaSet)
if r.EOF then  
' таблица пустая
end if
r.MoveLast
' чтение из столбца colName
dim l_Var 
l_Var=r.Fields('colName')
'изменение значения в том же столбце
r.Edit
 r.Fields('colName').value=123
r.Update
 
r.Close
PS под рукой Аксеса нет - могут быть ошибки.
0
9 / 9 / 1
Регистрация: 07.06.2010
Сообщений: 322
09.08.2010, 15:23
Нужно в наборе перейти на следующую запись. Если EOF - значит запись была последней. Потом вернуться назад.
В общем виде, без обработки ошибок:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Function LastRecord(rs As Recordset) As Boolean
  rs.MoveNext
  If rs.EOF Then
    LastRecord = True
  Else
    LastRecord = False
  End If
  rs.MovePrevious
End Function
 
Private Sub test()
Dim s As String
Dim rs As Recordset
  's = 'SELECT * FROM Table1'
  s = 'SELECT * FROM Query1'
  Set rs = CurrentDb.OpenRecordset(s)
  Do Until rs.EOF
    MsgBox LastRecord(rs)
    rs.MoveNext
  Loop
  rs.Close
End Sub
В форме проверка выполняется для RecodsetClone, но перед вызовом надо его синхронизировать с формой:
Visual Basic
1
2
Me.RecodsetClone.Bookmark = Me.Bookmark
MsgBox LastRecord(Me.RecodsetClone)
0
stag
10.08.2010, 12:24
В форму вводим данные. После того, как введена последняя запись, выводится MsgBox 'Данные введены'.
1 / 1 / 1
Регистрация: 05.01.2010
Сообщений: 235
10.08.2010, 12:30
И вовсе непонятно, а по какому критерию программа должна узнать, что запись последняя. Т.е. при желании то ввести можно сколько угодно записей...
0
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
10.08.2010, 13:17
Может быть под понятием 'ввод записи' понимается 'ввод в поле формы'? Если да, то событию 'После обновления' (AfterUpdate) для каждого элемента управления, расположенного на форме, нужно писать так:

If Not (IsNull(Поле1) Or IsNull(Поле2) Or ...) Then msgbox 'Данные введены!'
0
stag
10.08.2010, 15:32
В ленточной форме в последнее поле вводится запись, ее надо отловить и написать MsgBox
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
10.08.2010, 17:07
Ну так и смотри от 02.06.2004 12:40.
0
1 / 1 / 1
Регистрация: 05.01.2010
Сообщений: 235
10.08.2010, 17:10
Возможно ситуация проясниться, если Вы напишете, зачем это нужно. Может пригодиться событие AfterInsert формы?
0
stag
11.08.2010, 16:41
Огромное спасибо!!! Только надо было сделать немного по-другому.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Function atLastRec(frm As Form_vvod_ocenok_podch1) As Boolean
'Возвращает True, если Вы находитесь на последней
'строке, и False в противном случае.
Dim rstBkm As ADODB.Recordset
 
On Error Resume Next
Set rstBkm = frm.RecordsetClone
rstBkm.Bookmark = frm.Bookmark
rstBkm.MoveNext
atLastRec = rstBkm.EOF
 
Set rstBkm = Nothing
Err.Clear
 
End Function
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.08.2010, 16:41
Помогаю со студенческими работами здесь

Как выбрать последнюю запись?
Есть таблица. В ней 4 столбца, во всех ячейках содержатся даты. В первую строку даты я вношу руками. А дальше хочу их размножить...

Подстановка в форме последнюю запись
Здравствуйте форумчане! Подскажите, пожалуйста, можно ли сделать чтобы при добавлении записи через форму по нажатию кнопки последняя запись...

Редактировать только последнюю запись
Посоветуйте, пожалуйста,как в ленточной форме разрешить редактирование только последней записи.

Установить курсор на последнюю запись в таблице
Добрый день. у меня на форме есть подчиненная форма в которой из запроса формируется таблица. подскажите пожалуйста как установить курсор...

Вывести последнюю запись в подчиненной таблице
Всем привет. Подскажите пожалуйста, как в поле вывести последнее воинское звание присвоенное военнослужащему?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru