powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Восстановить значение в поле со списком
13 сообщений из 13, страница 1 из 1
Восстановить значение в поле со списком
    #39778453
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

В форме для задания и коррекции данных сотрудников имеется поле со списком, в котором выводится КОД сотрудника и ФИО сотрудника. КОД - присоединенный столбец и имеет нулевую ширину.

Когда я внес изменения в запись очередного сотрудника и НЕ СОХРАНИВ изменения в разворачивающемся списке вывожу нового сотрудника, то форма сообщает, что внесенные изменения будут потеряны.

Если я одумался и хочу отказаться от перехода к новому сотруднику, то как восстановить нужную (предыдущую) запись КОДА и ФИО в поле со списком. В этом поле КОД и ФИО уже нового сотрудника. При этом в форме пока хранятся данные предыдущего сотрудника.
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39778516
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь С,
Если запись изменена,при переходе на другую, выведите сообщение с кнопками Yes\No с вопросом о сохранении изменений, чтоб юзер подумал своей головой какую нажать и в зависимости от этого сохранять или нет изменения (Dirty)
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39778519
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь С.... При этом в форме пока хранятся данные предыдущего сотрудника.данные хранятся не в форме, а в таблице и обновляются в ней после сохранения
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39778556
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,
Спасибо, такой алгоритм и имеет место. Но ...

Этот вопрос возникает тогда, когда уже в свободном поле со списком стоит фамилия "Петренко", в то время как в заполняемых полях формы еще "Иваненко".

Вопрос был таков: как в случае ответа "Нет" - "хочу продолжать заполнять "Иваненко"?

В форму было введено поле с ID сотрудника. И вопрос решен так:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    OldValue = Nz(Me.fldCOD) ' Запоминание кода очередного сотрудника
    If Me.Dirty = True Then
        If MsgBox("All changes will be lost! Continue?", vbYesNo) = vbNo Then
            Me.fldSearch = OldValue   ' Обновление значения поля со списком для визуального 
                                                   'соответствия
            Me.fldSearch.Requery
            Exit Sub
        Else
            Me.Dirty = False
        End If
    End If
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39778571
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь СЭтот вопрос возникает тогда, когда уже в свободном поле со списком стоит фамилия "Петренко", в то время как в заполняемых полях формы еще "Иваненко".Не "вкурю":
1. откуда в свободном поле появляется значение "Петренко"???
2. в то время как в заполняемых полях (во множественном числе-то бишь нескольких) формы еще "Иваненко"??
3.Есть ли "Иваненко" в источнике списка?
"Меня терзают смутные сомненья" по поводу структуры Вашей БД или формулировки вопроса-выложили бы БД и четко сформулировали вопрос....
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39779513
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku"Меня терзают смутные сомненья" по поводу структуры Вашей БД или формулировки вопроса-выложили бы БД и четко сформулировали вопрос....

Вопрос, полагаю, уместен даже когда имеется одна таблица и одна форма.

1. В свободном поле появляется новая фамилия (Петренко), поскольку это поле со списком
сотрудников.
После этого база отыскивает в таблице сотрудников строку, соответствующую Петренко и
"хочет" вывести в форму его данные.
2. Но, если я перед этим в форме корректировал другого сотрудника (Иваненко) и не сохранил
данные, нажав на кнопку SAVE, база должна предупредить меня о том, что данные будут
потеряны.
Если я не соглашаюсь на потерю данных, то у меня запись, соответсвующая Петренко, в
форму не выводится, а в свободном поле со списком должна
восстановиться фамилия "старого не сохраненного сотрудника" т.е. Иваненко.
И я либо сохраняю данные либо продолжаю их корректировать.
Восстановление фамилии необходимо для визуального соответствия совершаемых действий.
3. Разумеется, Иваненко есть в списке сотрудников поскольку речь идет о коррекции данных
имеющихся в списке сотрудников.

Прошу прощения за задержку ответа. Спасибо.
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39779515
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь С1. В свободном поле появляется новая фамилия (Петренко), поскольку это поле со списком
сотрудников.
После этого база отыскивает в таблице сотрудников строку, соответствующую Петренко и
"хочет" вывести в форму его данные.
2. Но, если я перед этим в форме корректировал другого сотрудника (Иваненко) и не сохранил
данные, нажав на кнопку SAVE, база должна предупредить меня о том, что данные будут
потеряны.
5 раз прочитал эти и ничего не понял , может я дурак, не знаю.
Вам уже дали понять , научитесь мыслить на уровне таблиц , формы лишь только отображают данные.
sdkuданные хранятся не в форме, а в таблице и обновляются в ней после сохранения
Что значит появляется новая запись Петренко , а перед этим я правил Иваненко , тогда откуда в таблице взялась новая запись Петренко,если Вы правили Иваненко ???
Выложили бы пример базы , может ситуация бы прояснилась???
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39779517
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
Private Sub flds1_BeforeUpdate(Cancel As Integer)
 If Me.dirty then 
If msgbox("Данные будут потеряны - продолжить?",vbOKCancel+vbQuestion, "Контроль целостности данных")=vbCancel then cancel=true ' (так вроде) редко пользуюсь этим событием
end if
end sub
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39779518
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь СВосстановление фамилии необходимо для визуального соответствия совершаемых действий.
P.S Может я ошибаюсь , но мне не понятно одно. Как правило в комбобоксе появляется так сказать краткое название сотрудника или фирмы , которые берутся например из таблицы сотрудники или фирмы. И как правило правка данных происходит непосредственно открыв карточку сотрудника и с последующим занесением измененных данных в таблицу . А добавление данных , например по событию Not in List комбобокса открывается пустая форма сотрудника , и Вы можете добавить данные в таблицу. Но как Вы одновременно добавляете и делаете правку , я убей не пойму.
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39779532
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
придется ТСу Вас прибить
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39779538
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuпридется ТСу Вас прибить

Так о то ж . :))
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39779549
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще такой вариант:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.Dirty = True Then
    Dim response As Integer
    response = MsgBox("Внесены изменения.Сохранить?", vbYesNo, "Подтверждение изменений")
        If response = vbNo Then
            Cancel = True 
            Me.Undo
        End If
End If
End Sub
...
Рейтинг: 0 / 0
Восстановить значение в поле со списком
    #39786289
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, Спасибо, забыл сразу сказать, прошу прощения за задержку
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Восстановить значение в поле со списком
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]