Господа-эксперты, подскажите, плиз... У меня уже запас идей кончился...
Суть проблемы: есть база данных - каталог видеозаписей (обширный)
Есть таблица, содержащая поля KodAktera и KodFilma (фильмография актеров - кто в каком фильмме снимался). Необходимо получить временный список с фильмографией одного актера, но так, чтобы список в дальнейшем не был связан с основной таблицей (есть необходимость удалять записи, не прошедшие еще один критерий отбора, но так, чтобы это не отразилось в исходной таблице. В SQL-запросе его не обработать).
Пример, приведенный ниже, удалял из исходной таблицы, чем и не устроил.
Set DD_t = New ADODB.Recordset
Set cmdDD = New ADODB.Command
Set cmdDD.ActiveConnection = DB
DD_t.CursorType = adOpenDynamic
DD_t.LockType = adLockOptimistic
result = "SELECT AktersFilm.KodFilma FROM AktersFilm WHERE (AktersFilm.KodAktera = " & Form4.Akters.TextMatrix (0,1) & ") ORDER BY AktersFilm.KodFilma"
cmdDD.CommandText = result
Set DD_t = cmdDD.Execute
Создал новую таблицу в самой базе DD. Типа, чтоб изголяться над ней, не трогая исходную таблицу. Теперь возникла проблема заполнить эту таблицу данными из исходной таблицы. Поменял код на такой:
Set DD_t = New ADODB.Recordset
Set cmdDD = New ADODB.Command
If Form4.AktDB.Rows > 0 Then
result = Trim(Form4.AktDB.TextMatrix(0, 1))
Else
result = "0"
End If
Set cmdDD.ActiveConnection = DB
DD_t.CursorType = adOpenDynamic
DD_t.LockType = adLockOptimistic
'DD_t.Source = "DD"
cmdDD.CommandType = adAsyncExecute
result = "SELECT AktersFilm.KodFilma FROM AktersFilm AS DD WHERE AktersFilm.KodAktera = " & Form4.Akters.TextMatrix (0,1) cmdDD.CommandText = result
Set DD_t = cmdDD.Execute
Возникает ошибка, что не хватает исходных данных. Замена двух последних строк на
DD_t.Open result
ни к чему не приводит (в смысле та же ошибка в SQL-запросе).
Может имело смысл отсортировать данные в массив, но я не знаю, как можно убить строку в массиве