Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создание новой записи и открытие её / 11 сообщений из 11, страница 1 из 1
27.12.2003, 11:16
    #32365114
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
Задача:
Таблицы Заказы + СведОЗаказе. Есть запись некоторого заказа. Нужно создать "дочерний" заказ и открыть его в форме(сам не понял, что написал). По другому:
1. В меню выбрать: "Дочерний" (отличается от родительского только значением одного из ключевых полей).
2. Если такой уже есть, то он и открывается.
3. Если такого нет, то создаётся новая запись в Заказы, причём все "значимые" поля(кроме одного) наследуют значения Родителя.
4. Созданная запись открывается для редактирования.

Вопрос по п.2: как убедиться, что нет/есть?
Вопрос по п.4: как открыть именно созданную запись?
...
Рейтинг: 0 / 0
27.12.2003, 11:51
    #32365123
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
Ответ по п.2: телепяты сегодня выходные :-(
Трудно искать черную кошку в темной комнате...
Примерно так:
SELECT ID FROM MyTable WHERE [ID1] = Forms!MyForm!ID1 AND [ID2] <> Forms!MyForm!ID2
где ID - однозначный ключ
ID1 - общий ключ для родителя и дочки
ID2 - ключ, по которому определяешь, родитель или нет
Если этот запрос вернет данные, значит есть дочка, которую и открываем

Ответ по п.4: после добавления записи получить ее ключ и открыть по нему
...
Рейтинг: 0 / 0
27.12.2003, 18:35
    #32365225
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
после добавления записи получить ее ключ и открыть по нему
Т.е. не обойтись без:
set rst = CurrentDb.OpenRecordset("Заказы")
rst.MoveLast(это сработает? в смысле: Last это точно новая запись. )
qq = rst!ID
Форма.RecordSource = "Select Заказы. From Заказы Where ((ID =)" & qq"
Docmd.OpenForm "Заказы"
или я усложняю?
...
Рейтинг: 0 / 0
27.12.2003, 18:44
    #32365226
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
Хинт: для получения последней записи вовсе не обязательно открывать в рекордсете всю таблицу
Подробнее не могу - пора домой давно, а то уже и так торчу тут почти 12 часов :-(
...
Рейтинг: 0 / 0
27.12.2003, 18:46
    #32365227
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
Если ключом является счетчик, то:\r
\r
FAQ. Что мы знаем про каунтеры (aka счетчики)
...
Рейтинг: 0 / 0
27.12.2003, 18:47
    #32365228
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
я очень часто использую следующее решение:

необходимые идентификаторы сохраняю в глобальные переменные и делаю запуск формы сделанной специально для работы с одной записью

форма при запуске смотрит значения идентификаторов
если передаются идетнификаторы со значениями 1 и более то открывается форма по существующей записи, если со значением 0 то сначала запускается процедура добавления записи , которая в результате установит глобальную переменную на значение добавленной записи

по значению этой переменной в форму выбираются записи, запросом , наподобе как AlexJuice написал
...
Рейтинг: 0 / 0
28.12.2003, 02:32
    #32365273
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
К В.С.:
Ключ - не счётчик, 4-е ключевых поля разного типа.
К AlexJuice:
"Он улетел, но обещал вернуться...." :) (Карлсон, который живёт на крыше)
...
Рейтинг: 0 / 0
28.12.2003, 11:47
    #32365304
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
Если это не счетчик, а 4 разных поля, то вообще никакой проблемы не должно быть. Все их значения должны быть известны.
...
Рейтинг: 0 / 0
28.12.2003, 12:19
    #32365311
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
Другими словами, новую запись добавлять программно(через Insert into), запоминать значения ключей в переменных, а потом открывать recordset, используя эти значения в условии Where?
...
Рейтинг: 0 / 0
28.12.2003, 12:22
    #32365312
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
Точно так.
...
Рейтинг: 0 / 0
28.12.2003, 12:23
    #32365313
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание новой записи и открытие её
А можно и добавлять сразу через рекордсет.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создание новой записи и открытие её / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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