|
36 Кб. |
|
| Здравствуйте. Есть 2 вопроса:
1. Каким образом сделать так, что при выборе города, во втором столбце подчиненной формы отображался список улиц, которые имеют отношение к данному городу. И если человек имеет более одного адреса, то все адреса корректно бы отображались на экране.
2. Оптимальна ли представленная мной структура данных (адрес) для дальнейшей реализации печати почтовых писем?
Большое спасибо | |
|
| |
|
|
|
| ИМХО лучше было бы задавать вопросы в обратной последовательности
1 насколько оптимальна структура
2 как реализовать этот функционал.
ответ на оба вопроса завист от того для чего создается БД и каков объем данных которые будут в нем храниться.
Для меня представленная вами структура не кажется очевидной - как правило не требуется разностить данные адреса по такому количеству таблиц, если только вы не пишете собственный КЛАДР.
например для хранения типа улицы может быть достаточно фиксированного списка значений или ссылки таблицы (LookUp Field) самой на себя, а структура адреса может оказаться гораздо сложнее, чем предписанная вашей схемой
адрес может, например, включать такие атрибуты как графство, кантон, микрорайон и проч:
ENKA Insaat Sanayii ve Ticaret A.S. - ENKA 3. Binasi, Balmumcu, Istanbul 34349, Turkey
или вообще не иметь таких атрибутов как улица или город:
Московская область, Химкинский район, Аэропорт Шереметьево-1 Абонентский ящик 56
ваша схема в таких случаях окажется бесполезной | |
|
| |
|
|
|
| и каково решение в этом случае? | |
|
| |
|
|
|
| вы не сказали в каком именно "в этом случае"...
что за базу вы делаете - базу своих поставщиков? глобальный справочник предприятий? вам нужны адреса на разных языках? | |
|
| |
|
|
|
| Ситуация проста. Есть список клиентов компании, которые живут как на территории СНГ (основная часть), так и зарубежом. Требуется этим клиентам, производить обычную почновую рассылку (не e-mail), т.е. печатать на каждого клиента наклейку с его данными и адресу, где его можно найти. У каждого клиента может быть несколько адресов, вот с этим то и прикол.
Хотел оптимизировать базу с адресами, и реализовать это потом в виде справочников. | |
|
| |
|
|
|
| это не сложно - это не база адресов, это база клиентов
Связи:
Страны-<Города --- One-To-Many
Города-<Адреса --- One-To-Many
Клиенты-<Адреса_клиентов>-Адреса --- Many-To-Many
Таблицы:
tblCountries
CountryID
Country
Language
tblCities
CityID
CountyID
City
tblCustomers
CustomerID
CustomerName
Language
tblAddressList
AddressID
CityID
PostalCode
AddressLine1
AddressLine2
tblAddressBook
RecordID
AddressID
CustomerID
AddressType
IsPostal
выбрав все почтовые (почтабельные) адреса IsPostal = True можно устраивать массовые рассылка почты | |
|
| |
|
|
|
| IMHO
адрес надо писать ручками (как он должен быть напечатан), иначе проблематично сделать универсальный вид.
плюс к этому (если нужна возможность выборки, к примеру по странам или городам) отдельное поле для значений из справочника (скорее всего иерархического) | |
|
| |