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

Создание записи в бд, если ее нет в списке

01.03.2015, 15:39. Показов 4051. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех.
Такой вопрос возник.

Как можно добавить запись в бд, если ее нет в поле со списком?

К примеру, у меня есть поле Пациент с ФИО.
Если я его разверну и не найду нужной фамилии, мне нужно вписать в это поле новую ФИО, и при нажатии на enter, чтобы открылась форма, для заполнения ФИО и данных о пациенте.
Форма для заполнения данными о пациенте у меня есть, пусть она наз. Пациент.
Не подскажите ли скрипт для этой процедуры?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2015, 15:39
Ответы с готовыми решениями:

Запрос: если записи нет - добавить, если есть - обновить
Здравствуйте. Помогите составить запрос, который будет добавлять запись в таблицу, если ее там нет и обновлять несколько полей, если есть.

Определить первый атом в списке, а если такого в списке нет, вывести nil
Помогите с написанием функции на lisp. 1. Функция которая определяет первый атом в списке, а если такого в списке нет, выводит нил....

Если нет в списке, то удалить
Доброго времени суток уважаемые гуру... помогите плиз... try { ...

8
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
01.03.2015, 16:30
Проще всего на вкладке данные свойств поля со списком указать Форма изменения элементов списка Пациент.
0
9 / 9 / 5
Регистрация: 24.02.2014
Сообщений: 257
01.03.2015, 16:42  [ТС]
ltv_1953
Перенаправляет конечно... Но желательно, чтобы сразу открывалось добавление записи и в ФИО вписывалось то значение, кот. я вношу в поле
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
01.03.2015, 16:44
Тогда смотрите здесь Список подстановки чтобы обновлялся и Получить возможность добавлять новые данные в связанных таблицах.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
01.03.2015, 16:53
Нужно на событии Отсутствие в списке (NotInList) сделать процедуру, вызывающую форму для заполнения
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Фамилия_NotInList(NewData As String, Response As Integer)
    Dim s
    s = "Такой фамилии нет в списке. " & vbCrLf _
    & "ОК - добавить"
    If MsgBox(s, vbOKCancel) = vbOK Then
        'открытие формы в диалоге на новой записи с параметром OpenArgs равным введенной фамилии
        Docmd.Openform "Пациент",,,,acFormAdd,acDialog,Me.Фамилия
        Response = acDataErrAdded
    Else
        Response = acDataErrContinue
    End If
End Sub
Параметр OpenArgs нужен, чтобы введенное в список значение повторить в форме, не заполняя его заново. Для этого на событии загрузки формы Пациент надо записать такой код
Visual Basic
1
If Len(Me.OpenArgs & "")>0 Then Me.Фамилия=Me.OpenArgs
Форму Пациент обязательно вызывать в диалоговом режиме. В этом случае код вызывающей формы прервется и не будет выполняться, пока не закроется диалоговая форма. А именно это и нужно.

Добавлено через 42 секунды
ой как опоздал ...
5
9 / 9 / 5
Регистрация: 24.02.2014
Сообщений: 257
01.03.2015, 18:23  [ТС]
mobile
В открывшейся форме в строку Фамилия вбивается цифра 1, а не фамилия, которую я вписываю в поле
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
01.03.2015, 18:39
Цитата Сообщение от Blok1 Посмотреть сообщение
В открывшейся форме в строку Фамилия вбивается цифра 1, а не фамилия, которую я вписываю в поле
Значит в поле со списком свойство Присоединенный столбец указывает на числовой код, а не на фамилию. И тогда надо использовать свойство Text, чтобы указать, что берем то, что напечатано
Visual Basic
1
Docmd.Openform "Пациент",,,,acFormAdd,acDialog,Me.Фамилия.Text(1)
0
9 / 9 / 5
Регистрация: 24.02.2014
Сообщений: 257
01.03.2015, 23:13  [ТС]
mobile
Ошибка:
Wrong number of arguments or invalid property assignment

Добавлено через 5 минут
mobile

Исправил, там 1 вообще не нужно в функцию передавать, просто .Text()
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
01.03.2015, 23:14
Конечно, ошибся. У Text нет аргументов
Visual Basic
1
Docmd.Openform "Пациент",,,,acFormAdd,acDialog,Me.Фамилия.Text
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2015, 23:14
Помогаю со студенческими работами здесь

Обновить если запись есть; Создать если записи нет
Ребят подскажите как оптимизировать программу, ибо занимает очень много времени на обработку.Программа делает следующее - ищет на сайте...

Как новую винду установить, если жму F8 а в списке нет дисковода?
А можете сказать, как новую винду установить, если жму F8 а в списке нет дисковода? только через флешку?

Создание системной переменной если её нет и удаление если есть (setenv)
Нужен своеобразный переключатель определенной системной переменной с помощью утилиты setenv. Суть его работы: Если переменная VAR...

Как подключить вручную драйвер БПО для 1С8.3 Розница ред.2, если его нет в списке после установки
Здравствуйте, Весы Масса-К с печатью этикеток серии R, драйвер их скачал и установил. Этот драйвер 1С СОВМЕСТИМО. Как...

Проверить существование записи, если нет - добавить
Здравствуйте, подскажите как осуществить такую вещь, есть бд assecc, и есть таблица karta, в эту таблицу в поле код нужно добавит случайное...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru