Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Связанные таблицы. Как очистить? / 12 сообщений из 12, страница 1 из 1
24.06.2003, 15:37
    #32190336
Майк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
В общем, есть БД Акцесс со связанными таблицами (каскадное обновление). Из трех десятков таблиц надо удалить все записи. Естественно, при удалении ругается, что мол, таблица связана, и все такое. Вопрос такой: как нибудь можно поудалять записи, не влезая в свойство каждой связи? То есть, взять и удалить связи или выставить каскадное удаление могу, но очень уж это долго... и лениво :).
...
Рейтинг: 0 / 0
24.06.2003, 15:38
    #32190338
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
Просто надо удалять в правильном порядке...
...
Рейтинг: 0 / 0
24.06.2003, 15:52
    #32190359
Майк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
От подчиненной таблицы к родительской?
дело в том, что в базе около 200 таблиц. То, что подсовывает акцесс под названием схема данных уместится разве что на трех экранах. Хорошо бы, конечно, перевести схему в какой нить удобовариваемый вид, типа ErWin овского... Короче, в этой схеме заблудиться можно. Выявить подчиненных можно, конечно, но тогда уж проще на каждой связи удаление разрешить... :(
...
Рейтинг: 0 / 0
24.06.2003, 15:57
    #32190366
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
импортируй в новую базу, но без данных
...
Рейтинг: 0 / 0
24.06.2003, 15:59
    #32190368
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
> Хорошо бы, конечно, перевести схему в какой нить удобовариваемый вид

Она сидит в таком виде в таблице MSysRelationships.
...
Рейтинг: 0 / 0
24.06.2003, 16:10
    #32190381
Майк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
2Senin Viktor
Импорт в новую... можно, но - зачистить надо не все, а только несколько. Импортировать по одной, выставляя где надо "структуру - структуру и данные"? Хм, имхо больше работ, чем со связями...
2Владимир Саныч
Спасибо, посмотрел. Неплохо.
...
Рейтинг: 0 / 0
24.06.2003, 16:26
    #32190407
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
Как вариант:
Включить каскадное удаление, удалить отключить каскадное удаление
...
Рейтинг: 0 / 0
24.06.2003, 16:37
    #32190424
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Public Function DeleteCascade(strTableName As String)
On Error Resume Next
    Dim erc As Long, erm As String
    
    ' Try'
    CurrentDb.Execute  "Delete * From ["  & strTableName &  "]" , dbfailonerror
    erc = Err.Number: erm = Err.Description
    
On Error GoTo  0 
    If erc =  0  Then
        'Success'
        Exit Function
    ElseIf erc =  3200  Then
        'Some related records'
        Dim rls As Relations, rl As Relation
        Set rls = CurrentDb.Relations
        
        For Each rl In rls
            If rl.Table = strTableName And (rl.Attributes And dbRelationDeleteCascade) =  0  Then
                DeleteCascade rl.ForeignTable
            End If
        Next rl
    Else
        'Shit happens'
        Err.Raise erc, , erm
    End If
    Err.Clear
End Function
...
Рейтинг: 0 / 0
24.06.2003, 16:41
    #32190431
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
2Лоху

Щас Майк скажет, что ему в падло этот текст копировать да и работы слишком много
...
Рейтинг: 0 / 0
24.06.2003, 16:46
    #32190438
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
Ну и будет тогда руками записи удалять (в правильном порядке)
...
Рейтинг: 0 / 0
24.06.2003, 16:59
    #32190454
Майк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
Хм, это типа шутка была? :)
ОстрО :)
Спасибо за код.
...
Рейтинг: 0 / 0
24.06.2003, 17:05
    #32190461
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные таблицы. Как очистить?
Майк, это была шутка. :)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Связанные таблицы. Как очистить? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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