|
|
|
связать таблицы-кнопкой?
|
|||
|---|---|---|---|
|
#18+
Подскажите, как создать связь таблиц 1 ко многим с целостностью и каскадным обновлением - по нажатию кнопки в форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2003, 20:38 |
|
||
|
связать таблицы-кнопкой?
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста разобраться! Кучу времени потратил в F1, может зря?! Если это можно сделать, подскажите куда и что записать. УТОЧНЯЮ ПРОБЛЕМУ! Создать таблицы и связь конечно получилось, но не так как хотелось бы. Внизу - как я это делал. Может я не понимаю и в МА97 невозможно с помощью VBA: 1) задать счётчик (хотелось бы, чтобы поле CountNain в табл.MainData и поле CountSub в табл. SubData было Автоинкрементным=счётчик) 2) сделать чтобы поле CountSub в табл. SubData использовало подстановку значений из поля CountNain табл. MainData (хотелось бы, чтобы результат был таким же как после использования мастера в режиме конструктора таблиц) 3) установить параметры объединения таблиц как в "Схеме данных" при установке связи кнопкой "Объединение..." (Объединение ВСЕХ записей из 'SubData' и только тех записей из 'MainData' , в которых связанные поля совпадают) -----------------------это работает но не так-------- Private Sub Кнопка1_Click() Dim БД As Database Dim ТАБ As TableDef Dim ПОЛЕ As Field Dim ИмяИндекса As Field Dim Индекс As Index Dim СВЯЗЬ As Relation 'Создание главной таблицы Set БД = CurrentDb Set ТАБ = БД.CreateTableDef("MainData") With ТАБ .Fields.Append .CreateField("CountMain", dbLong) .Fields.Append .CreateField("Data", dbText, 50) End With БД.TableDefs.Append ТАБ БД.TableDefs.Refresh ТАБ.Fields.Refresh 'Поле - обязательное, не пустое Set ПОЛЕ = ТАБ.Fields("CountMain") ПОЛЕ.Required = True ПОЛЕ.AllowZeroLength = False 'Индекс для главной Set Индекс = ТАБ.CreateIndex("PrimaryKey") Set ИмяИндекса = Индекс.CreateField("CountMain") Индекс.Fields.Append ИмяИндекса Индекс.Primary = True ТАБ.Indexes.Append Индекс 'Создание подчинённой таблицы Set БД = CurrentDb Set ТАБ = БД.CreateTableDef("SubData") With ТАБ .Fields.Append .CreateField("CountSub", dbLong) .Fields.Append .CreateField("CountMain", dbLong) .Fields.Append .CreateField("DataS", dbText, 36) End With БД.TableDefs.Append ТАБ БД.TableDefs.Refresh ТАБ.Fields.Refresh 'Запрет пустых Set ПОЛЕ = ТАБ.Fields("CountSub") ПОЛЕ.Required = True ПОЛЕ.AllowZeroLength = False 'Индекс для главой Set Индекс = ТАБ.CreateIndex("PrimaryKey") Set ИмяИндекса = Индекс.CreateField("CountSub") Индекс.Fields.Append ИмяИндекса Индекс.Primary = True ТАБ.Indexes.Append Индекс 'Установка связи Set СВЯЗЬ = БД.CreateRelation("DataM_DataS", "MainData", "SubData") СВЯЗЬ.Attributes = dbRelationUpdateCascade Set ПОЛЕ = СВЯЗЬ.CreateField("CountMain") ПОЛЕ.ForeignName = "CountMain" СВЯЗЬ.Fields.Append ПОЛЕ БД.Relations.Append СВЯЗЬ БД.Relations.Refresh Set БД = Nothing End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2003, 13:41 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32352641&tid=1677667]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 459ms |

| 0 / 0 |
