Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 найти максимальное значение счетчика во всех таблицах  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
A2003, база mdb
нужно пробежаться по всем таблицам и найти в каждой поле autonumber
и получить его текущее максимальное значение
как легче всего это сделать?
спасибо!
4 авг 05, 10:35    [1762401]     Ответить | Цитировать Сообщить модератору
 Re: найти максимальное значение счетчика во всех таблицах  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Два вложенных цикла.
4 авг 05, 10:45    [1762447]     Ответить | Цитировать Сообщить модератору
 Re: найти максимальное значение счетчика во всех таблицах  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
первый знаю - по tabledef
второй по чему? как поле определить?
4 авг 05, 10:48    [1762462]     Ответить | Цитировать Сообщить модератору
 Re: найти максимальное значение счетчика во всех таблицах  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Dim t As DAO.TableDef, f As DAO.Field
With CurrentDb
For Each t In .tabledefs
For Each f In t.Fields
If f.Attributes And dbAutoIncrField Then
Debug.Print DMax(f.Name, t.Name)
End If
Next
Next
End With
4 авг 05, 10:54    [1762490]     Ответить | Цитировать Сообщить модератору
 Re: найти максимальное значение счетчика во всех таблицах  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
спасибо!
для более общего случая добавим обрамление в [_]
Sub maxautoinc()

Dim t As DAO.TableDef, f As DAO.Field
With CurrentDb
For Each t In .TableDefs
For Each f In t.Fields
If f.Attributes And dbAutoIncrField Then
Debug.Print t.Name, DMax("[" & f.Name & "]", "[" & t.Name & "]")
End If
Next
Next
End With

End Sub
4 авг 05, 18:19    [1765130]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить