Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Valentin-TT
0 / 0 / 1
Регистрация: 20.04.2015
Сообщений: 91
#1

Автоматическая запись в другую таблицу при установлении флажка

18.05.2018, 20:51. Просмотров 758. Ответов 11
Метки нет (Все метки)

Имеется форма "абоненты" в который устанавливается флажок "Блокиратор" нужно сделать так
чтобы при нажатии на флажок форма предлагала ввести данные в таблицу "Номера" где записываются у кого есть блокировка

И ещё как можно улучшить и оптимизировать базу? какие есть предложения?

Заранее благодарю!
0
Миниатюры
Автоматическая запись в другую таблицу при установлении флажка  
Вложения
Тип файла: zip АТС.zip (98.0 Кб, 5 просмотров)
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2018, 20:51
Ответы с готовыми решениями:

Как сделать так, чтобы при активации флажка в форме записывались данные в таблицу
Скажит, как сделать так, чтобы при активации флажка в форме записывались данные...

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

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

Нажатие на кнопку для занесения значения флажка в таблицу
Есть форма "Данные", значения в которой берутся из таблицы "Данные". Форма...

Если значение флажка = "Истина" — заблокировать подчиненную таблицу от изменений
Всем привет! Помогите разобраться, есть раздельная форма, состоящая с главной...

11
Kiriver
21 / 21 / 7
Регистрация: 09.04.2018
Сообщений: 183
18.05.2018, 21:41 #2
нужно чтобы добавлялся тот абонент, на котором открыто в данный момент, или чистая форма?
0
Eugene-LS
Эксперт MS Access
3119 / 1771 / 316
Регистрация: 05.10.2016
Сообщений: 4,858
18.05.2018, 21:44 #3
Valentin-TT, вот вариант:

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Private Sub Блокиратор_AfterUpdate()
'После изменения значения
'
'--------------------------------------------------------------------------
Dim s As String
Dim rst As Recordset
Dim i As Integer
 
On Error GoTo Блокиратор_AfterUpdate_Err
 
'Удаление прошлых блокировок (Опционально, но пока пусть будет ...) - Вычёркиваем предидущие блокировки
    s = "DELETE FROM Номера WHERE Абонент = '" & Me!txtНомер_Абонента & "'"  'txtНомер_Абонента
    CurrentDb.Execute s
 
    If Me!Блокиратор = False Then Exit Sub  'НЕ Зачекино
 
'Вопрос
'Запрос поддтверждения удаления записи при ответе НЕТ - остановка
    If MsgBox("Действительно добавить запись в таблицу [Номера] ???", _
        vbYesNo + vbCritical + vbDefaultButton2, "Добавление данных") = vbNo Then
        Me!Блокиратор = False
        Exit Sub ' ...
    End If
    
'Продолжаем - добавляем блокировку
    Set rst = CurrentDb.OpenRecordset("Номера", dbOpenDynaset)
    With rst
        .AddNew
         'Заполнение полей значениями
        ![Номер телефона] = Me!txtНомер_Абонента 'ОЧЕНЬ большой ВОПРОС !!! - Нет связки!!!
        !Абонент = Me!txtНомер_Абонента
        !АТС = DFirst("Код", "АТС") 'И ТУТ = ОЧЕНЬ большой ВОПРОС !!! - Нет связки!!!
        ![Дата установки] = Date
        .Update
    End With
 
 
 
Блокиратор_AfterUpdate_Bye:
    On Error Resume Next
    rst.Close
    Set rst = Nothing
    Exit Sub
 
Блокиратор_AfterUpdate_Err:
    MsgBox "Error: " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
    "in Sub: Блокиратор_AfterUpdate in module: Form_Абоненты", vbCritical, "Error in Application"
    Err.Clear
    Resume Блокиратор_AfterUpdate_Bye
End Sub
... и это вы лихо с текстовыми индексами ... по 255 ...
0
Вложения
Тип файла: zip АТС_v02.zip (102.2 Кб, 2 просмотров)
Valentin-TT
0 / 0 / 1
Регистрация: 20.04.2015
Сообщений: 91
18.05.2018, 21:46  [ТС] #4
Цитата Сообщение от Kiriver Посмотреть сообщение
на котором открыто в данный
желательно на котором открыта данная форма. и без VBA такое возможно сделать?

Добавлено через 1 минуту
Цитата Сообщение от Eugene-LS Посмотреть сообщение
лихо с текстовыми индексами
ну ещё бы)) просто задание было сделать бд атс без программирования
0
Eugene-LS
Эксперт MS Access
3119 / 1771 / 316
Регистрация: 05.10.2016
Сообщений: 4,858
18.05.2018, 21:52 #5
Цитата Сообщение от Valentin-TT Посмотреть сообщение
просто задание было сделать бд атс без программирования
Тут я пасс - уж извините пожалуйста.

PS
Предупреждать надо!
0
Valentin-TT
0 / 0 / 1
Регистрация: 20.04.2015
Сообщений: 91
18.05.2018, 21:55  [ТС] #6
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Тут я пасс
да я всё понимаю, даже не понимаю если честно как можно сделать нормальную БД без программирования
0
Eugene-LS
Эксперт MS Access
3119 / 1771 / 316
Регистрация: 05.10.2016
Сообщений: 4,858
18.05.2018, 22:01 #7
Valentin-TT, Извините пожалуйста за критику, но у вас там схемка данных корявенькая - имейте это ввиду, а лучше доработайте.
0
Valentin-TT
0 / 0 / 1
Регистрация: 20.04.2015
Сообщений: 91
18.05.2018, 22:03  [ТС] #8
Цитата Сообщение от Eugene-LS Посмотреть сообщение
схемка данных корявенькая
А как вы предлагаете?
0
Eugene-LS
Эксперт MS Access
3119 / 1771 / 316
Регистрация: 05.10.2016
Сообщений: 4,858
18.05.2018, 22:10 #9
Цитата Сообщение от Valentin-TT Посмотреть сообщение
А как вы предлагаете?
Пока никак, ибо назначения и логики вашего приложения не знаю.
Если хотите:
[del]
0
Valentin-TT
0 / 0 / 1
Регистрация: 20.04.2015
Сообщений: 91
18.05.2018, 22:14  [ТС] #10
Цитата Сообщение от Eugene-LS Посмотреть сообщение
800 RUR в час,
ну и цены у вас)))

да и работают обычно на результат а не на время)
0
Eugene-LS
Эксперт MS Access
3119 / 1771 / 316
Регистрация: 05.10.2016
Сообщений: 4,858
18.05.2018, 22:17 #11
Цитата Сообщение от Valentin-TT Посмотреть сообщение
да и работают обычно на результат а не на время)
Результат был выше.
И я не настаивал ... не в коем случае.
Разбирайтесь! - и успехов вам!
0
Kiriver
21 / 21 / 7
Регистрация: 09.04.2018
Сообщений: 183
19.05.2018, 12:58 #12
Лучший ответ Сообщение было отмечено Valentin-TT как решение

Решение

Valentin-TT, я не сильный специалист, но я бы предложил разделить сведения об абонентах и сведения о номерах, т.е. в одной таблице только ФИО и данные, во второй только сведения о номерах. Связь через поле "код", которое счетчик. Во-первых у человека может быть несколько номеров, во-вторых по вашему в вашей БД выходит, что вы блокируете человека, а надо номер, в третьих стартовая форма нужна ленточная с поиском, т.к. пока у вас 10 человек вы легко найдете нужного, а если хотя бы 100? Сделать то, то вы просили через макросы, у меня не получилось, а через VBA вам гуру написал.
1
19.05.2018, 12:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2018, 12:58

Вставить в таблицу информацию ссылаясь на другую таблицу
Вставьте в БД информацию о том, что для каждого ПК есть Ноутбук, имеющий такую...

Автоматическая подстановка данных в таблицу
Всем привет! Уважаемые форумчане помогите реализовать автоматическую...

Автоматическая запись
:gwink: Здравствуйте!!!! ....в моей задумке есть такая идея,которую очень...


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

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

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