Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
Вот есть у меня 2 таблички:
Клиенты: КодКлиента, Имя
Заказы: КодКлиента, Сумма
строю форму с помощью мастера, состоящую из: Клиенты.Имя, Заказы.Сумма
Когда ввожу значение в поле Клиенты, то данные пытаются вставиться в табличку Клиенты.
В Сумма - в Заказы. Как сделать так чтобы данные инсертились только в Заказы?
Надеюсь, вопрос понятен.
Access 2k3
Модератор: Придумайте нормальное название топику
Модератор: Топик переименован. Следующий безымянный топик автора будет закрыт


Сообщение было отредактировано: 4 дек 06, 01:43
3 дек 06, 20:36    [3484686]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите...  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
А что в табл.Заказы нет кода заказа? Как вы их будете различать?
По поводу вопроса. Сделайте подчиненную форму Заказы, основанную на табл. Заказы и линкующуюся с основной, основанной на табл. Клиенты.
Но без номера заказа вам будет трудно потом, наяти и сопоставить то, что надо.
3 дек 06, 20:45    [3484695]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите...  [new]
gregi
Member

Откуда:
Сообщений: 110
Скорее всего тут таблица клиенты выступает в роли справочника, да?
3 дек 06, 20:53    [3484705]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите...  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Добавлю. Линковать (связывать) формы по коду клиента.
3 дек 06, 20:54    [3484706]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите...  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
gregi
Скорее всего тут таблица клиенты выступает в роли справочника, да?
Да, разумеется. Это естественная роль таблицы Клиенты.
3 дек 06, 20:56    [3484709]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите...  [new]
rok
Member

Откуда: Краснодар
Сообщений: 310
Mds_world по делу сбацал-если ввести запись только в таблицу заказы, как Вы узнаете чей это заказ, мало того что так нельзя, так еще предусмотрите чтоб этого, при возникновении такого желания. невозможно было сделать(обеспечение целостности данных)
3 дек 06, 22:02    [3484803]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите...  [new]
gregi
Member

Откуда:
Сообщений: 110
А может так проще...

К сообщению приложен файл (db11.rar - 9Kb) cкачать
3 дек 06, 23:50    [3484905]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите...  [new]
Kronix
Member

Откуда:
Сообщений: 180
mds_world
А что в табл.Заказы нет кода заказа? Как вы их будете различать?
По поводу вопроса. Сделайте подчиненную форму Заказы, основанную на табл. Заказы и линкующуюся с основной, основанной на табл. Клиенты.
Но без номера заказа вам будет трудно потом, наяти и сопоставить то, что надо.

Прошу прощения, зря ночь прошла, конечно номер заказа есть, упустил=(
Вот небольшой примерчик приложил, то чего хочу сделать. Только в форме поле Имя должно быть - полем со списком, как и это сделать, вручную?
4 дек 06, 01:39    [3484995]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
Модератор
Модератор: Придумайте нормальное название топику

Как вы придумал, пойдет: Мастер форм, 2 таблицы, инсерт только в одну

К сообщению приложен файл (db11.rar - 21Kb) cкачать
4 дек 06, 01:41    [3484997]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
не уж то никто не знает?
5 дек 06, 01:02    [3490353]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Смотрите. Пробуйте.

К сообщению приложен файл (db11.rar - 21Kb) cкачать
5 дек 06, 07:43    [3490594]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Пояснения. В конструкторе форм посмотрите поле Имя. На самом деле оно теперь называется "поле6". К сожалению, я забыл его переименовать. Мне пришлось удалить поле, которое было, там произошло накопление ошибок. Если бы ошибок не было, то все достаточно просто - преобразование поля в поле со списком, создание для него источника строк - RowSource и небольшая работа в Макете с количеством столбцов и их шириной.
5 дек 06, 07:49    [3490600]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
а по подробней можно? как без всяких поле6...Попытался сделать как вы написали - не получилось. И что значит "преобразование поля в поле со списком", на сколько я понимаю, это можно сделать только в запросе

К сообщению приложен файл (db11.rar - 24Kb) cкачать
5 дек 06, 16:59    [3494572]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Вы не обратили внимание на источник записей формы. У вас он необновляемый запрос из двух таблиц, а я вам показал, что надо его делать на основе таблицы Заказы. Тогда все идет нормально.

автор
И что значит "преобразование поля в поле со списком", на сколько я понимаю, это можно сделать только в запросе
Попробуйте на любом поле формы нажать правой клавишей мышки. Возникнет контекстное меню, в том числе там есть пункт Преобразовать элемент в ... и дан список подходящих элементов. А как раз таки в запросе ничего подобного сделать невозможно, запрос предоставляет данные, но не форму и интерфейс их представления.
5 дек 06, 18:58    [3495418]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
Большущее спасибо, получилось.
В продолжении темы еще один вопрос: создал в таблицу клиенты ещё одно поле ИМЯ2, уникальный ундекс на (ИМЯ, ИМЯ2). На форму добавил ИМЯ2, привязал к КодКлиента. Нужно чтобы при выборе ИМЯ, в поле ИМЯ2 были только все ИМЯ2 при ИМЯ из таблички Клиенты. Пишу в источнике ИМЯ2 так:
SELECT Клиенты.КодКлиента, Клиенты.Имя2 FROM Клиенты WHERE Клиенты.Имя=ПолеСоСписком6.Value; 
. и вижу пусто
и так:
SELECT Клиенты.КодКлиента, Клиенты.Имя2 FROM Клиенты WHERE Клиенты.Имя=Forms!Заказы1!ПолеСоСписком6; 
тоже пусто, как тут разрулить?

К сообщению приложен файл (db11.rar - 32Kb) cкачать
6 дек 06, 06:55    [3496282]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Посмотрел. Мне кажется, что у вас логическая ошибка.
1. Для КодКлиента может быть несколько Имя
2. Для одного Имя может быть несколько Имя2
3. Для одного Имя2 может быть несколько Имя

И все это в одной таблице. Как следствие, у вас для одного и того же поля несколько назначений в форме. Это противоречие.

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

Тем не менее, какое-то очень неуклюжее решение я сделал. Не меняя предметной области (таблиц). Здесь вы сами должны разобраться.

Ссылку на Имя2 вы можете в через обращение к КодКлиента.Column(2).

К сообщению приложен файл (db11-1.rar - 31Kb) cкачать
6 дек 06, 08:32    [3496409]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
не,не то. Такой вариант я рассматривал, но сразу отмел, не удобно.
Условия 1, 2, 3 должны выполняться.
На самом деле задумка такая: есть набор клиентов, который состоит из 2 полей (Имя, Имя2) НазваниеКомпании и ИмяКонтакта, т.е. компания может быть одна, а ИмяКонтакта - много, но все это разные клиенты.Так вот и хочется для такого случая сделать 2 списка, в первом набор компаний, а во втором набор контактов для этой компании. Чаще всего набор ИмяКонтакта (он же Имя2) будет состоять из 1 элемента.
6 дек 06, 08:54    [3496465]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
Сделал вот так вот:
SELECT Клиенты.КодКлиента, Клиенты.ИмяКонтакта
FROM Клиенты
WHERE Клиенты.КодКлиента=Forms![Заявки Запрос]!КодКлиента;
Отображает правильно, но только для первоой строки, для остальных значение остается тем же
6 дек 06, 22:59    [3501835]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
Ну вот, никто не знает, а проблема не решена, прошу помочь...
7 дек 06, 04:28    [3502075]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
ILL HEAD
Member [заблокирован]

Откуда:
Сообщений: 8498
не скачивал. из сообщений что понял на то и отвечаю
если вопрос вы использовании значения поля_со_списком в качестве образца в условии запроса то
не зная как там у тебя с присоединенными столбцами .. поэтому нужно явно указать столбец поля_со_списком в условии запроса
например так
SELECT Клиенты.КодКлиента, Клиенты.ИмяКонтакта
FROM Клиенты
WHERE Клиенты.КодКлиента=Forms![Заявки Запрос]!КодКлиента.column(0);
скорее всего это работать не будет :) ибо хз как и где ты ето применяеш. если для переназначения recordsurce то сделать так
чей_то.recordsource = "SELECT Клиенты.КодКлиента, Клиенты.ИмяКонтакта
                      FROM Клиенты
                      WHERE Клиенты.КодКлиента=" & cstr(nz(Forms![Заявки Запрос]!КодКлиента.column(0),0))
7 дек 06, 07:12    [3502195]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
2 Kronix
Вопрос: Поле Имя2 может содержать те же названия, что и Имя? Ведь, в этом случае, фактически, нужен один справочник клиентов.
Или, все-таки это разные клиенты и требуется спец.справочник для них?
7 дек 06, 08:06    [3502248]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
может=)
Пример: бабушка продает булочки, сказала она внучку своему, что неудобно ей на бумаге все записывать. "Понимаешь" говорит, "хожу я по компаниям разным, а названия у них длинные, а людей в компаниях много. Всех не запомню. сделай мне программку". Вот=) "В одной компании, 10 человек, в другой 20. И каждому я должна булочку принести. А бывает что в одной компании 1 человек, приходиться и ему нести, как бы мне, внучек, их не забыть и правильно рассчитать?"
7 дек 06, 08:55    [3502332]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
Kronix
Member

Откуда:
Сообщений: 180
т.е. таблица:
код. Имя (Имя компания), Имя2 (человек). Выбор Имя2 зависит от Имя, бабке незачем знать всех людей во всех компаниях
7 дек 06, 08:58    [3502341]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Другими словами Имя это холдинг, который может содержать имена составляющих его фирм, отделов, людей. А может и не содержать, представлять только самого себя. Так?
7 дек 06, 09:04    [3502354]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите... (Мастер форм, 2 таблицы, инсерт только в одну)  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
И влюбом случае некий объект входящий в Имя=ХХХХ, не может принадлежать объекту Имя=YYYY. Это так? Или может?
7 дек 06, 09:07    [3502364]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить