Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2011, 00:57   #1
xanderg
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 34
Восклицание Проблемы с виртуальной формой

Доброго времени суток.
Есть одна очень специфическая проблема. Работаю над базой данных, в которой составляются графики поставок различных продуктов. Формы для заполнения дат поставок вызываются виртуально, в базе есть только общая форма-шаблон, а при выборе конкретного продукта запускается форма уже для продукта(через ини-файл передается код вызываемого продукта), таблицы также не хранятся в базе, даже в виде связанных таблиц.
А суть проблемы в том, что в этой форме не работает фильтр. Ошибка: что-то вроде "ядро мс джет не может найти входную таблицу или запрос". Что можно с этим сделать?
И еще одно, как при таком подходе организовать возможность открытия графиков по нескольким продуктам?
xanderg вне форума Ответить с цитированием
Старый 15.05.2011, 00:10   #2
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Цитата:
Сообщение от xanderg Посмотреть сообщение
Доброго времени суток.
Есть одна очень специфическая проблема. Работаю над базой данных, в которой составляются графики поставок различных продуктов. Формы для заполнения дат поставок вызываются виртуально, в базе есть только общая форма-шаблон, а при выборе конкретного продукта запускается форма уже для продукта(через ини-файл передается код вызываемого продукта), таблицы также не хранятся в базе, даже в виде связанных таблиц.
А суть проблемы в том, что в этой форме не работает фильтр. Ошибка: что-то вроде "ядро мс джет не может найти входную таблицу или запрос". Что можно с этим сделать?
И еще одно, как при таком подходе организовать возможность открытия графиков по нескольким продуктам?
Ну, с созданием форм в runtime я сталкивался, а вот с БД без таблиц - ни разу! Можно узнать подробности?
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 15.05.2011, 12:53   #3
xanderg
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 34
По умолчанию

Таблицы хранятся в другой(серверной) бд, связь с ними идет через adodb.connection
xanderg вне форума Ответить с цитированием
Старый 17.05.2011, 07:43   #4
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Ну так создавайте присоединенные таблицы и работайте с ними, как с обычными. Все должно работать. Может, таблица или поле имеет составное (из нескольких слов) название и Вы не заключили его в квадратные скобки? Попробуйте использовать построитель выражений для того, чтобы посмотреть правильный синтаксис.
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 17.05.2011, 08:23   #5
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

Вам можно либо создать в БД запрос к серверу, который затем указать источником данных для Вашей формы, либо вариант лучше: экспортировать таблицы с сервера в базу данных аксесс (без данных, только структуру). И уже в эти даблицы грузить необходимые данные с сервера. Примерно так:
Код:
Dim rst As Recordset
Dim cnn as ADODB.Connection
Dim rstpoisk As New ADODB.Recordset
Set rst = CurrentDb.OpenRecordset("Здесь имя таблицы в аксесс")
rstpoisk.Open "select чего то там from Имя_таблицы_на_сервере where какое нибудь условие", cnn
     Do While Not rstpoisk.EOF            'если есть записи, то пишем в таблицу
        rst.AddNew
        For Each fld In rst.Fields
            If Not isnull(rstpoisk(fld.name)) Then
               rst(fld.name).value = rstpoisk(fld.name)
            End If
        Next fld
        rst.Update
        rstpoisk.MoveNext
        If rstpoisk.EOF Then Exit Do
     Loop
    rstpoisk.close
    rst.close
End If
А потом уже работать с таблицами в БД, это быстрее чем обращаться к серверу.
Swatch вне форума Ответить с цитированием
Старый 18.05.2011, 19:44   #6
xanderg
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 34
По умолчанию

Спасибо, проблему решил. Оказалось, каждый раз при вызове формы графиков определенного продукта данные из его таблицы копировались в базу, а связь с таблицей удалялась. убрав удаление связи с таблицей, проблема с фильтром была решена)
xanderg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемы с виртуальной машиной alex(21) Компьютерное железо 14 19.04.2011 12:58
Проблемы с виртуальной машиной Sparky Паскаль, Turbo Pascal, PascalABC.NET 0 14.01.2011 18:50
Проблемы с формой Tumypko PHP 7 08.01.2011 23:14
Проблемы с виртуальной памятью. DeKot Операционные системы общие вопросы 13 29.05.2009 11:10
Проблемы с формой Aliyushka Microsoft Office Excel 0 23.01.2009 19:51