Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.82/33: Рейтинг темы: голосов - 33, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 110
1

Предыдущая запись как значение по умолчанию

08.03.2013, 22:17. Просмотров 6677. Ответов 47
Метки нет (Все метки)

Удивительно, но поиском не смог найти, хотя должно быть не первый спрашиваю...

Как в форме вида "Несколько элементов" сделать так, что бы значение предыдущей записи ставилось как значение по умолчанию?

То есть если в предыдущей записи было написано "Модель 1", то в следующей (создаваемой) по умолчанию сразу было "Модель 1". И человек если устраивает - ничего не менял бы. А если надо - тогда выбирал бы нужное из выпадающего списка.


/// снова переделываю свою базу. надеюсь теперь удастся отойти от экселлевской логики.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2013, 22:17
Ответы с готовыми решениями:

Как убрать следующая/предыдущая запись под постом
Собственно вопрос в заголовке. Как убрать эту бяку?

Кнопка следующая запись, предыдущая запись---какие коды
Подскажите пожалуйста коды на кнопки, выполняющие функции "следующая запись, предыдущая запись", по...

Следующая/предыдущая запись mysql
Доброго времени суток. На PHP сделал код для добавления и удаления записей. Есть главная...

Предыдущая запись foreach DataGridView
Как обратиться к предыдущей записи? Convert.ToSingle(row.Cells.Value) Добавлено через 1...

__________________
47
Мы один, давай на "ты"
2446 / 1035 / 250
Регистрация: 16.06.2016
Сообщений: 2,307
29.07.2016, 15:36 41
Цитата Сообщение от amd48 Посмотреть сообщение
В msa97 была фича: Ctrl+Э - копировало значение ячейки из строки выше. Куда она делась в последующих версиях, не знаю. А было очень удобно.
Цитата Сообщение от Панург Посмотреть сообщение
Может хватит просто сочетание клавиш Ctrl+" ?
https://www.cyberforum.ru/post9411135.html
1
39 / 39 / 11
Регистрация: 24.07.2016
Сообщений: 87
31.07.2016, 21:25 42
А если так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub Form_Current()
'Событие текущая запись
'При переходе на новую запись - Делаем копию предидущей с запросом по DLookUp()
'Опираемся на то, что у новой записи - поле счётчика = Null
'--------------------------------------------------------------------------
Dim lPrevRecordID As Long, v As Variant
On Error GoTo Form_Current_Err
    If IsNull(Me!Код) = True Then 'проверяем поле счётчика ....
    
    'Запрос поддтверждения - при ответе НЕТ - остановка
        If MsgBox("Вы на новой записи  - Скопировать данные предидущей?", _
            vbYesNo + vbQuestion + vbDefaultButton1, _
            "Новая запись") = vbNo Then Exit Sub
    'Собственно копирование
    v = DLookup("Max(Код)", "Табель") ' Ищем посл. запись
    
    If IsNull(v) Then Exit Sub
    lPrevRecordID = CLng(v)
    Me!cbФИО = DLookup("ФИО", "Табель", "Код = " & lPrevRecordID)
    Me!txtДолжность = DLookup("Должность", "Табель", "Код = " & lPrevRecordID)
    Me!txtТабельный_номер = DLookup("[Табельный номер]", "Персонал", "Код = " & lPrevRecordID)
    
    End If
Form_Current_Bye:
    Exit Sub
 
Form_Current_Err:
    MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & "в процедуре: Form_Current", vbCritical, "Error in module Form_Табель"
    Resume Form_Current_Bye
End Sub
Один косяк - в сети ... посл. запись может оказаться не вашей - решаемо (сложно)
0
Вложения
Тип файла: zip Персонал v04.zip (55.9 Кб, 7 просмотров)
Мы один, давай на "ты"
2446 / 1035 / 250
Регистрация: 16.06.2016
Сообщений: 2,307
01.08.2016, 04:15 43
Santares,
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Form_Current()
On Error GoTo Form_Current_Err
    If Me.NewRecord Then
        With Me.RecordsetClone
            If Not (.EOF And .BOF) Then
                .MoveLast
                    If Not IsNull(.Fields("[ФИО]")) Then'вообще-то это решается на уровне таблицы - отсутствие у записи важного атрибута
                        Me.cbФИО = .Fields("[ФИО]")
                        Me.txtДолжность = .Fields("[Должность]")
                        Me.txtТабельный_номер = .Fields("[Табельный номер]")
                    End If
            End If
        End With
    End If
Form_Current_Bye:
    Exit Sub
Form_Current_Err:
    MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & "в процедуре: Form_Current", vbCritical, "Error in module Form_Табель"
    Resume Form_Current_Bye
End Sub
0
Эксперт MS Access
6657 / 4251 / 264
Регистрация: 12.08.2011
Сообщений: 12,359
02.08.2016, 03:13 44
Цитата Сообщение от Santares Посмотреть сообщение
Один косяк - в сети ... посл. запись может оказаться не вашей - решаемо (сложно)
просто в таблицу нужно добавить поле user и заполнять при вводе новой записи.
0
39 / 39 / 11
Регистрация: 24.07.2016
Сообщений: 87
02.08.2016, 03:22 45
Цитата Сообщение от alvk Посмотреть сообщение
просто в таблицу нужно добавить поле user и заполнять при вводе новой записи.
А лучше "UserID" (Long или Integer) + время посл. редакции
0
Эксперт MS Access
6657 / 4251 / 264
Регистрация: 12.08.2011
Сообщений: 12,359
02.08.2016, 04:28 46
Зависит от количества пользователей и от средства получения данных о пользователе. Например, при отсутствии таблицы с пользователями достаточно:
Visual Basic
1
2
3
4
5
     if len(me.user) = 0 then
     Dim wsnet
     Set wsnet = CreateObject("wscript.network")
     me.user = wsnet.UserName
     end if
0
39 / 39 / 11
Регистрация: 24.07.2016
Сообщений: 87
02.08.2016, 04:43 47
Цитата Сообщение от alvk Посмотреть сообщение
Set wsnet = CreateObject("wscript.network") me.user = wsnet.UserName
Отличный (минимальный) вариант!
Но это вернёт пользователя вошедшего в систему.
На практике - комп один - а зайти в базу может кто угодно, а потом иди разбирайся почему в отчётности суммы поменялись.
Нужно писать доступ - но это уже другая (и довольно широкая) тема.
0
Эксперт MS Access
6657 / 4251 / 264
Регистрация: 12.08.2011
Сообщений: 12,359
02.08.2016, 08:20 48
Цитата Сообщение от Santares Посмотреть сообщение
На практике - комп один - а зайти в базу может кто угодно
На чьей практике такое безобразие?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2016, 08:20

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Предыдущая запись переодического регистра сведений
Здрасте, как получить значение ресурса предыдущей записи регистра сведений. Нужно получить разность...

Как разрешить запись в файл, по умолчанию запись не разрешена
Помогите! НАчинающий php - программист. Как разрешить запись в файл, по умолчанию запись не...

Как сделать значение по умолчанию для параметра, если оно должно быть значением по умолчанию для типа T?
Как сделать значение по умолчанию для параметра, если оно должно быть значением по умолчанию для...

Как сделать учетную запись по умолчанию
На компе есть две учетки Администратор и Гость который отключен Но при перезагрузке компа...


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

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.