Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите сделать проект!!! / 4 сообщений из 4, страница 1 из 1
08.01.2005, 14:22
    #32856401
burdik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать проект!!!
Нужен всеобщий Хелп..
Задали рабочий проект делать на понедельник...
Называется АвтоСТО и продажа...
Значит так:
Создал множество форм на автомобили с фотками, формы марок и моделей...
Создал Добавление клиента в БД(ФИО, № счёта, тел. адрес, ШИФР(заказа (т.е. например автомобиль "Opel Vectra" имеет шифр "112")) и т.д...)
- Я думаю зделать так чтобы при просмотре формы о каком либо автомобиле при нажатии на кнопку "Заказать" в файл с информацией о клиентах, в поле ШИФР добавлялся ШИФР заказа... Как сделать так чтобы для определенной формы был поумолчанию свой "ШИФР"??? - Чтобы была возможность просмотра инфы о клиенте, его заказах и т.д.

У кого есть идеи по тому как улучшить проект! ПОМОГИТЕ!! СРОЧНО!!!
...
Рейтинг: 0 / 0
08.01.2005, 15:53
    #32856437
kdanylo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать проект!!!
- Я думаю зделать так чтобы при просмотре формы о каком либо автомобиле при нажатии на кнопку "Заказать" в файл с информацией о клиентах, в поле ШИФР добавлялся ШИФР заказа...


Для учета заказов, необходима отдельная таблица, с таким минимальным набором полей:
"Заказы"
- Код заказа
- дата заказа
- шифр автомобиля
- код клиента

"Клиенты"
- код клиента
- имя


"Автомобили"
- шифр (код автомобиля)
- название
- год выпуска


Таблица "Клиенты" и таблица "Автомобили" связаны с таблицей "Заказы" по отношению один - ко многим.


Можно добавить еще две таблицы:
"Производители" и "Модели". Тогда
таблицы автомобилей будут иметь такую структуру:

"Автомобили"
- шифр
- код производителя
- код модели
- год выпуска

"Производители"
- код
- наименование

"Модели"
- код
- наименование

В последнем случае "Опель-Вектра" 1995 года можно задать так:

"Автомобили" (0001 - шифр)
0001 1 2 1995

"Производители"
1 "Опель"
2 "Форд"

"Модели"
1 "Астра"
2 "Вектра"
3 "Сенатор"

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

Успехов.
...
Рейтинг: 0 / 0
08.01.2005, 19:59
    #32856525
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать проект!!!
Т.е. у тебя стоит задача автоматической генерации нового шифра заказа?

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

В общем случае, шифр может выглядеть следующим образом:

Префикс - порядковый номер - окончание

Префикс и окночание - это некоторая постоянная цифро-буквенная часть. Постоянная в том смысле, что меняется относительно редко. Например, раз в год.

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

В такой постановке, просто берешь очередное значение из этой служебной таблицы, добавляешь префикс и окончание и проверяешь шифр на уникальность . Если получился НЕ уникальный номер, то берешь следующее значение. И так до тех пор, пока не получиться уникальный номер.

Использовать значение порядкового номера удаленных шифров не надо. Почему? Объяснять долго. Просто поверь на слово. Оно того не стоит.

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

Делать шифр в виде краткого обозначения содержимого (то, что предложил kdanylo ) мне не кажется хорошей идеей. А если изменился справочник? Модифицировать все старые заказы? А если изменилось содержимое заказа? Опять менять шифр? А если в одном заказе несколько автомобилей?

Кроме того, это стереотип DOS-программирования, когда экономили каждый байт и пытались навесить несколько функций на одно и то же поле. В данном случе шифр заказа выполняет 2 противоречивые функции: идентификации заказа и анализ содержимого заказа. Это не есть хорошо. Точнее - очень плохо! Часть связанных именно с этим проблем я привел выше.
...
Рейтинг: 0 / 0
10.01.2005, 11:15
    #32857276
kdanylo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать проект!!!
Делать шифр в виде краткого обозначения содержимого (то, что предложил kdanylo) мне не кажется хорошей идеей


Владимир, вы неправильно поняли мою мазню. "0001 - шифр" - простой идентификатор, как может быть и просто 1.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите сделать проект!!! / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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