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

Откуда:
Сообщений: 788
Форма для заполнения на 8 таблиц, сделана вкладками (1 вкладка соответствует 1 таблице).
Почему если не заполнить не все вкладки, то затем при перезагрузке формы та запись, кторая была заполнена не полностью не показывается, хотя в таблице она есть.
А если в каждой вкладке прописать хотя бы одно значение (из множества полей), то эта запись выводится.

???
26 май 06, 08:36    [2708343]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
А как быть с ответами на вопрос о структуре и связи таблиц, который вы оставили без внимания в своем предыдущем топике ? Ссылка

"не заполнить не все вкладки" можно по-русски ?

На какую таблица опирается форма, про которую идет речь ?

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

После команды "Показать все записи" покалеченая запись показывается ?
26 май 06, 08:50    [2708378]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Форма имеет следующую структуру:
Родительская форма опирается на таблицу "Описание долота"
Субформа имеет 7 вкладок, где каждая вкладка это информация для заполнения 1 таблицы (т.е. опирается на информацию 7 таблиц). Причем 2 вкладки содержат себе формы 3 уровня.

Пример заполнения:
1. Выбираю в главной форме конструкцию
2. Заполняю одно из полей вкладки "Заказчик" и останавливаюсь на этом (не трогаю другие вкладки), закрываю форму.
Теперь если посмотреть таблицу, то эта запись будет присутствовать, но если открыть форму, то ее не будет видно, как-будно не существует.
Вот форма (созданая с помощью объединенных усилий всего форума SQL.ru )

К сообщению приложен файл. Размер - 0Kb
26 май 06, 09:12    [2708446]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Продолжаю ожидать ответы на вопросы по ссылке (см. выше)

Может на ты перейти ? Давно общаемся и так живенько прямо...
26 май 06, 09:16    [2708460]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Посмотрел на прошлую схему данных.

Новая запись добавляется в таблицу Заказчик ?

Пока мне кажется что у вас неверная связка формы-подформы, построенная на кривой схеме отношений главная таблица-подчиненная. Без разъяснения по основным отношениям Долота-Заказчик-Скважина точнее сказать не могу.

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

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

Далее. Заказчик может пробурить ни одной, одну или много скважин. Тогда для главной таблицы фактов (Заказчики) получается таблица деталей. Подобно незабвенной связке Заказы-Позиции заказов славной базы Борей (которую вы, как любой аксесник, разумеется, знаете наизусть, не так ли ?)
Итак, у заказчика много-много скважин, которые логично расположить на субформе СкважиныДанногоЗаказчика, вложенную в главную форму Заказчика. Связь должна работать через LinkMaster/ChildField Первичный ключ таблицы Заказчик - поле Код Заказчика.

При такой схеме ВСЕ САМО СОБОЙ РЕДАКТИРУЕТСЯ без усилий с вашей стороны, за счет правильной организации данных, форм и опирания форм на таблицы.

Далее.

Если вы хотите в фокус внимания пользователя поместить не объект Заказчик, а следующий по связям в базе - Скважину, то уже ее можно рассматривать как главную таблицу фактов. Тогда для нее справочником будет таблица Заказчик, а деталями - Отчет об испытаниях. И так далее.

Всенепременно почитайте про схему Звезда и Снежинка при построении БД!
26 май 06, 09:37    [2708545]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Программист-Любитель

Может на ты перейти ?

Хорошо!
Попробую тебе объяснить ;)
Одно конструкцию (модель) могут купить много заказчиков-различия будут только в серийных номерах (д.б. связь много-к-многим), один заказчик может пользоватся услугами многих подрядчиков и наоборот (д.б. связь много-к-многим).
Вообще если делать "правильно" то сама структура БД должна быть другой.
Первый вариант этой бд как раз был приближен к правильному варианту (таблиц было раза в два больше, связи были "правильный"), но тогда я вообще ничего не знал по построению форм/vba (хотя и сейчас как понимаете не далеко ушел от того уровня :) ), поэтому когда пришлось ее заполнять(напрямую через таблицы) началась полная неразбериха: нужно было заполнить одну таблицу, потом посмотреть с какими таблицами она связана, подключать их по очереди и заполнять. В итоге в заполнении мог разобраться только я ;)))
Когда решили внедрять эту БД на предприятии я объяснил все это начальству и было приято решение "упростить" структуру (чтобы из одна таблица по возможности была связана только с одной). Результат вы видели.
Неправильность данной структуры я понимаю, но переделывать ее уже поздно (внесено много данных). Если бы я начал делать ее сейчас то структура была бы совершенно другой.
P.S. Сейчас переводим ее на MS SQL Server.
Смешно? А что нужно было делать, когда устроившись на работу сказали "-Учи аксес, пригодится", а потом заставили делать крупную БД для предприятия.
Не поминайте лихом, я толькл учусь.
26 май 06, 09:41    [2708566]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Показать начальству структуру БД - это оченб неправильный шаг (написал резяе, но поправил).

MS SQL - прекрасный инструмент (сам сижу на связке MS SQL+ADP), на нем можно скриптами конвертировать неправильную структу обратно в правильную в процессе переноса. Жить с неправильной структурой на MS SQL я бы ни а что не стал - написал подробную записку начальству с обоснованием и отказался.

Кстати, можно организовать отзывы завсегдатаев форума об интелекутальных способностях твоего начальства применительно к проектированию БД. После вымарывания матерных слов можно будет приложить к записке.

В общем единственный выход - меняй постепенно структуру базы. Делать формы на неверной структуре БЕС-ПО-ЛЕЗ-НО.

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


Заказчик может купить НЕСКОЛЬКО конструкций ?

(Встает, громко, с чуством скандирует:)
МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ! МЕ-НЯЙ БА-ЗУ!
26 май 06, 09:51    [2708603]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788

Да я думал уже над этим, но как быть ч внесенными данными, разобью я таблицы на более мелкие, изменю связи и т.д. Но как быть с данными??? есть какой-либо способ потом коректно их перести?
26 май 06, 10:04    [2708670]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Да.

Писать скрипты, разбивающие таблицы вместе с данными.

1. Перекинуть все таблицы в SQL как они есть, с данными.
2. Написать скрипты, получающие из старых таблицы новые вместе с данными.
3. Сделать формы на новых таблицах.

Повторять 2 и 3 до достижения полного удовлетворения. В это время люди продолжают работать со старой базой.

Когда удовлетворение получено, объявляется час Х. Таблицы с самыми свежими данными перекидываются заново, прогоняются отлаженные скрипты. Людям раздаются новые формы из новой базы. Старая закрывается и выводится из работы.
26 май 06, 10:10    [2708692]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
И еще вопрос в догонку:
можно ли как нибудь (для данной структуры) сделать, чтобы заполнив одну из вкладок, в любое из полей остальных вкладок вставлялся пробел или еще что (по фантазии), чтобы получался эфект заполненности всех таблиц и в форме эту запись можно было видеть.
26 май 06, 10:13    [2708707]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Понятно.
Только выражение "писать скрипты" для маркетолога звучит очень страшно и непонятно.
26 май 06, 10:15    [2708716]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Ты хочешь получить определенный результат.

Для этого ОБЯЗАТЕЛЬНО должны быть применены СООТВЕТСТУЮЩИЕ технические решения. Но ты выбираешь не эти решения, которые ЦЕЛЕСООБРАЗНО использовать для данной конкретной задчи, а те, которые немного знаешь сам и которыми чуть-чуть умеешь пользоваться.

Так маркетологу понятно ?
26 май 06, 10:29    [2708804]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Угу
26 май 06, 10:29    [2708808]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Форум Работа велкам. Удаленная работа велкам. Кстати, по приведенному количеству таблиц задача вполне решается за короткие сроки и вполне вменяемые деньги.

И при таком раскладе очень полезен был бы свой собственный специалист, могущий подкручивать заказное решение с открытым кодом и развивать его дальше. (Дополнительные формы, отчеты и т.п.)
26 май 06, 10:33    [2708839]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Да это все ясно, но была попытка взять программиста, которая провалилась после того как узнали требуемую з/пл.
В конечном итоге со всем этим хозяйством придется разбираться мне (и вам )
26 май 06, 10:42    [2708894]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Интересный маркетологический подход.

Ехать надо, надо ЕХАТЬ!

На машине (поезде, автобусе) оказалось дорого.

Пойду пешком, а по ходу все время буду спрашивать, какие кроссовки одеть и как их зашнуроаить, чтобы преодолеть 200 км за 2 часа ?
26 май 06, 10:44    [2708911]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Нет не так.
"Ехать надо, надо ЕХАТЬ!

На машине (поезде, автобусе) оказалось дорого.

Пойду пешком, а по ходу все время буду..." - голосовать автостопом, может кто подвезет!
26 май 06, 10:51    [2708943]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Кстати что такое ADP?
26 май 06, 10:52    [2708948]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Посмотри первые (!) две (!) ссылки в гугле по строке "Access ADP" (!)
26 май 06, 10:55    [2708963]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
А...
а почему когда я создал проект своей бд там присутствовали только таблицы, а отчетов и форм небыло?
26 май 06, 11:00    [2708999]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
bubucha
Member

Откуда:
Сообщений: 5633
Снимаю шляпу перед ПЛ, перед его очередной самоотверженной попыткой подружить Санька с его долотами. Вот это нервы и выдержка! Видимо многосерийная сага о том, как Санек долота обуздал будет долгой.

Да это все ясно, но была попытка взять программиста, которая провалилась после того как узнали требуемую з/пл.

Попробуйте найти удаленного спеца, экономия на раб.месте, время на дорогу и проч. Главное составить внятное ТЗ, все остальное это детали.
26 май 06, 11:03    [2709022]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
CAHEKK
А...
а почему когда я создал проект своей бд там присутствовали только таблицы, а отчетов и форм небыло?

Что как создавал ?

Во вновь созданом проекте, ПРИСОЗДАНИИ БД вообще ничего быть не должно.
В проекте, создваемом на существующей базе SQL сервера есть:
-- Таблицы
-- Запросы
-- Процедуры(на вкладке запросы)
-- Функции(на вкладке запросы)
-- Схемы базы

Все это лежит не в файле ADP а в самом SQL сервере.
26 май 06, 11:15    [2709103]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
А как быть с формами, отчетами. Что нужно чтобы при переносе их из *.mdb они заработали?
26 май 06, 11:19    [2709121]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Оставь людей на текущем MDB файле, и перекрои SQL проект.

Переносить "неправильный" проект в SQL не стоит, лучше в SQL перерулить структуру, как я писал выше.

Кстати, какова примерно вилка суммы, которая могла бы быть уплачена за такую работу (изменение структуры базы с одновременным переводом в SQL и переразработка форм уже на новой основе) ?
26 май 06, 11:25    [2709170]     Ответить | Цитировать Сообщить модератору
 Re: Почему если не заполнить все таблицы в БД  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
На счет вилки суммы не знаю, - это вопрос к начальству.
А, (на будущее) вообще при создании adp, что нужно менять для работоспособности форм/отчетов? Много работы нужно проделать?
26 май 06, 11:31    [2709194]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить