Помогите, пожалуйста, выбрать данные из БД *.mdb. База очень большая, и изменять значения вручную просто бессмысленно.
Задача такая. В БД имеется большое количество таблиц, сделанных по одному шаблону. В частности, в каждой таблице имеется колонка с названием "ОУ". Требуется из всех таблиц вывести строки, у которых в столбце ОУ содержится число 21 (с любыми комбинациями остальных слов). В одной таблице может быть несколько строк, удовлетворяющих этому требованию. Затем, во всех выбранных строках надо увеличить значение столбца "стаж" на единицу. Так же желательно, чтобы в найденной строке отображалось название таблицы, из которой она взята.
Заранее спасибо.
2010 - [решено] Access. Выбор данных
-
Iska
Re: 2010 - [решено] Access. Выбор данных
ab.random, примерно так:
Код:
Код:
Код: Выделить всё
Option Compare Database
Option Explicit
Sub ExecFromAllTables()
Dim objTableDef As TableDef
With CurrentDb
For Each objTableDef In .TableDefs()
If objTableDef.Properties.Item("Attributes") And dbSystemObject = dbSystemObject Then
Else
If FieldExist(objTableDef, "ОУ") And FieldExist(objTableDef, "стаж") Then
.Execute _
"UPDATE [" & objTableDef.Name & "] " & _
"SET [стаж] = [стаж] + 1 " & _
"WHERE [ОУ] LIKE '*21*'"
Debug.Print objTableDef.Name, vbTab, "обновлено: " & .RecordsAffected & " записей"
End If
End If
Next
End With
End Sub
Function FieldExist(objTableDef As TableDef, strFieldName As String)
Dim objField As Field
FieldExist = False
For Each objField In objTableDef.Fields
If objField.Name = strFieldName Then
FieldExist = True
Exit For
End If
Next
End Function-
ab.random
Re: 2010 - [решено] Access. Выбор данных
Спасибо, конечно, но где это прописывать?
Я Access открыл второй или третий раз в жизни
и рассчитывал на подсказку, как это сделать с помощью конструкторов и мастеров из стандартной панели инструментов, если это возможно
Я Access открыл второй или третий раз в жизни
и рассчитывал на подсказку, как это сделать с помощью конструкторов и мастеров из стандартной панели инструментов, если это возможно-
ferget
Re: 2010 - [решено] Access. Выбор данных
ab.random, у меня нет Microsoft Access 2010. В 2003-ем это может выглядеть так:
* открыть базу данных;
* перейти на вкладку «Модули»;
* нажать кнопку «Создать»;
* выделить (если есть) текст нового модуля и заменить его на код из
* сменить, по потребности, имя модуля нужное и сохранить.
Вывод через «Debug.Print» заменить потребным выводом. Вызов процедуры также назначить, через что нужно.
* открыть базу данных;
* перейти на вкладку «Модули»;
* нажать кнопку «Создать»;
* выделить (если есть) текст нового модуля и заменить его на код из
2010 - [решено] Access. Выбор данных
;* сменить, по потребности, имя модуля нужное и сохранить.
Вывод через «Debug.Print» заменить потребным выводом. Вызов процедуры также назначить, через что нужно.
-
ab.random
Всем откликнувшимся огромное спасибо!)