Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / 1000 таблиц, как удалить половину? / 18 сообщений из 18, страница 1 из 1
22.12.2004, 13:59:44
    #32839199
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
Ясен пень что не руками, пол дня сидеть и тыкать пару кнопок курам на смех.
А так же надо как-то удалить сылки из клиентов на эти таблицы.
Кто кодом поделится?
...
Рейтинг: 0 / 0
22.12.2004, 14:02:16
    #32839205
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
1 в mdb или на сиквеле ?
2 если mdb - DAO tabledefs - delete ,цикл делай не each ,а for
...
Рейтинг: 0 / 0
22.12.2004, 14:12:55
    #32839237
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
1) я в какой форум написал?
2) код давай
...
Рейтинг: 0 / 0
22.12.2004, 14:31:57
    #32839301
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
Pantalone1) я в какой форум написал?
2) код давай
признак удаления таблиц - половой ?
...
Рейтинг: 0 / 0
22.12.2004, 14:35:47
    #32839320
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
Признак я сам поставлю, как удалять?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    Set myDB = CurrentDb()
    Set tbls = myDB.TableDefs
    For Each tbl In tbls
        Debug.Print tbl.Name
        If Left(tbl.Name,  1 ) = "t04" Then
            tbl.Name.Delete 'ТАК НЕ ПАШЕТ
        End If
                    
    Next
...
Рейтинг: 0 / 0
22.12.2004, 14:36:40
    #32839325
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
лефт 3, но это мелочи
...
Рейтинг: 0 / 0
22.12.2004, 14:44:43
    #32839356
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
удаляем элемент семейства
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim mydb As DAO.Database
Set mydb = CurrentDb
On Error Resume Next
mydb.TableDefs.Delete "T1"
mydb.TableDefs.Refresh
RefreshDatabaseWindow
...
Рейтинг: 0 / 0
22.12.2004, 14:46:28
    #32839360
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    Set myDB = CurrentDb()
    Set tbls = myDB.TableDefs
    For Each tbl In tbls
        Debug.Print tbl.Name
        If Left(tbl.Name,  3 ) = "t04" Then
            tbls.Delete tbl.Name
        
        End If
                    
    Next
Не работает чего-то.
...
Рейтинг: 0 / 0
22.12.2004, 14:49:23
    #32839374
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
Точнее таблицы удаляются,но не все! Такое впечатление что есть лимит удаления таблиц за какое-то время. Т.е. несколько раз процедуру надо запустить чтобы удалилось все что нужно.

Shuhard
Не помогает.
...
Рейтинг: 0 / 0
22.12.2004, 15:44:35
    #32839592
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
2 Pantalone
посмотри drop table
...
Рейтинг: 0 / 0
22.12.2004, 15:45:46
    #32839594
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
Какой дроп в Ассесс???
...
Рейтинг: 0 / 0
22.12.2004, 15:52:41
    #32839615
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
PantaloneКакой дроп в Ассесс???

обыкновенный
поздние версии аксесс поддерживают DDL синтаксис
...
Рейтинг: 0 / 0
22.12.2004, 16:01:17
    #32839645
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
Все, разобрался, всем спасибо кроме Access-a
...
Рейтинг: 0 / 0
22.12.2004, 17:05:53
    #32839912
1000 таблиц, как удалить половину?
Поделись как получилось.
...
Рейтинг: 0 / 0
22.12.2004, 17:21:21
    #32839970
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    Dim i As Integer, tbl As TableDef, tbls As TableDefs, myDB As Database
    Dim strSQL As String
    
    'Set myDB = CurrentDb()
    'Set tbls = myDB.TableDefs
    
    For Each tbl In CurrentDb.TableDefs
        Debug.Print tbl.Name
        If Left(tbl.Name,  4 ) = "t030" Then
        
            CurrentDb.TableDefs.Delete tbl.Name
            
            'myDB.TableDefs.Refresh
            'RefreshDatabaseWindow
        
        End If
                    
    Next
...
Рейтинг: 0 / 0
22.12.2004, 17:22:26
    #32839977
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
А вот так не работает, хотя одно и тоже по идее:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    Set myDB = CurrentDb()
    Set tbls = myDB.TableDefs
    For Each tbl In tbls
        Debug.Print tbl.Name
        If Left(tbl.Name,  4 ) = "t030" Then
            tbls.Delete tbl.Name
        
        End If
                    
    Next

Бред в общем.
...
Рейтинг: 0 / 0
22.12.2004, 21:54:53
    #32840422
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
Как мигалка на милицейской машине. Работает... Не работает... Может оно дропом лучше ?
...
Рейтинг: 0 / 0
22.12.2004, 22:23:19
    #32840440
AnTT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1000 таблиц, как удалить половину?
а если таблица имеет связи? тоже удалится или кто-то спросит перед удалением?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / 1000 таблиц, как удалить половину? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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