Временные таблицы на стороне Клиента

iEgorka
Дата: 13.02.2016 01:52:45
Приветствую жителей форума!

Прошу еще раз обратить внимание на заголовок. Насколько я понял, в Access 10 нет реализации для TEMPORARY TABLE - это абстрактное понятие. т.е. нужно создавать таблицу на диске, а потом самому ее удалять. И да, действительно существуют группа людей, которые делают ЭТО на стороне сервера да еще всем советуют *рукалицо*.

Задача:
Есть разделенная форма frmBacket (на половину форма/таблица). И эта таблица должна быть временной.
Следовательно, мне требуется создать эту таблицу на стороне клиента и подключиться к ней, при этом связь с сервером должна остаться.

Мне нужно у клиента создать новую БД у Клиента?
Если да, то как это сделать из vba, а потом подключиться к ней?
Safich
Дата: 13.02.2016 02:20:10
iEgorka,
Sub CreateTMP()
    Dim tdf As DAO.TableDef
    Dim fld As Field
    Set tdf = CurrentDb.CreateTableDef("tmp1")
    Set fld = tdf.CreateField("ID", dbLong)
    fld.Attributes = dbAutoIncrField
    tdf.Fields.Append fld
    Set fld = tdf.CreateField("Number", dbInteger)
    tdf.Fields.Append fld
    Set fld = tdf.CreateField("SomeDate", dbDate)
    tdf.Fields.Append fld
    Set fld = tdf.CreateField("Stroka", dbText)
    tdf.Fields.Append fld
    CurrentDb.TableDefs.Append tdf
End Sub
iEgorka
Дата: 13.02.2016 04:00:56
Safich, спасибо большое!

Почему-то решил, что подобный подход создает таблицу на сервере.
Выполнил ваш код - действительно работает =)
Safich
Дата: 13.02.2016 21:54:02
iEgorka, пожалуйста. Более того, если список полей таблицы постоянен, то эту таблицу можно заранее создать в конструкторе таблиц Access (это будет локально в клиенте) и соответствующие запросы (тогда Access их соптимизирует и они теоретически будут быстрее работать).
Соответственно при открытии формы табличку очищаем и наполняем нужными данными.
iEgorka
Дата: 17.02.2016 03:09:14
Создаю таблицу при первом запуске (при последующих просто проверяю наличие) и если нужно, удаляю данные.
Работает шустро :) Спасибо)))