Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Изменения в форме, удаленной базы. / 21 сообщений из 21, страница 1 из 1
20.07.2004, 18:39:34
    #32613517
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
У поля со списком надо изменить св-во RowSource (SQL-выражение). Проблема в том, что база с этой формой - удаленная, приконнектиться к ней нельзя, единственно, что возможно - послать mdb-шку, в которой в Автоэкзеке запустить некую функцию.
Вопрос по этой функции: не соображу как указать программе, что перебираются формы другой базы, а не той, где программа находится?
...
Рейтинг: 0 / 0
20.07.2004, 19:48:11
    #32613632
Badim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Имя другой базы ведь известно? и путь?
тогда напиши подключение к ней
что то подобное

dim db as dao.database
set db=opendatabase(название...)

как правильно писать opendatabase можно посмотреть в хелппе
...
Рейтинг: 0 / 0
20.07.2004, 21:07:01
    #32613691
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
авторdim db as dao.database
set db=opendatabase(название...)


Для изменения свойства формы это не поможет....
Надо открывать через OpenCurrentDatabase
(можно и GetObject использовать)
...
Рейтинг: 0 / 0
21.07.2004, 13:52:06
    #32614694
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Пробую:
Код: plaintext
1.
Set appAccess =  CreateObject("Access.Application.8")
appAccess.OpenCurrentDatabase "H:\...\База.mdb"
в результате открывается еще одно окно Аксесса и в нем запускается программа "База"(в ней есть Автоэкзек, поэтому еще и действия всякие происходят).
А нельзя "по тихому", например как в случае с изменением св-ва ValidationRule таблицы в другой базе:
Код: plaintext
1.
2.
Set dbs = OpenDatabase("Н:\...\База.mdb")
Set tdf = dbs.TableDefs![Таблица]
tdf.ValidationRule = [значение]
при этом программа "База" не запускается.
...
Рейтинг: 0 / 0
21.07.2004, 14:01:15
    #32614732
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Иду дальше:
Код: plaintext
appAccess.DoCmd.OpenForm "Форма", acDesign
а как теперь сослаться на нужное поле со списком, чтоб программа поняла, что это поле именно в данной форме?
...
Рейтинг: 0 / 0
21.07.2004, 14:22:32
    #32614803
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
И, окончательно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Set appAccess = CreateObject("Access.Application.8")
appAccess.OpenCurrentDatabase "H:\...\База.mdb"
appAccess.DoCmd.OpenForm "Форма", acDesign
Set ctl = appAccess.Forms![Форма]!ПолеСоСписком
ctl.RowSource = "...новая SQL-строка источника строк...;"
appAccess.DoCmd.Close acForm, "Форма", acSaveYes
appAccess.CloseCurrentDatabase
Set ctl = Nothing
Set appAccess = Nothing
неудобство: изменяемая база все-равно открывается на экране, придется посоветывать пользователю сесть на руки пока база не закроется.
Прошу знатоков высказать замечания-советы.
...
Рейтинг: 0 / 0
21.07.2004, 14:26:12
    #32614816
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Копать можно сюда: docmd.TransferDatabase
...
Рейтинг: 0 / 0
21.07.2004, 15:43:55
    #32615113
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
А при чем тут TransferDatabase? Мне не надо форму целиком заменять?
...
Рейтинг: 0 / 0
21.07.2004, 15:58:30
    #32615172
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
а ты забери форму к себе в базу, поправь и отдай обратно(предварительно удаливши старую)
...
Рейтинг: 0 / 0
21.07.2004, 17:56:23
    #32615521
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Не вариант. Нужно именно так, как описано в первом посте.
...
Рейтинг: 0 / 0
21.07.2004, 19:14:14
    #32615701
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
может
Код: plaintext
1.
DoCmd.OpenForm MyObj.Name, acDesign, , , , acIcon
меньше площадь поражения юзером ?
...
Рейтинг: 0 / 0
21.07.2004, 19:16:27
    #32615706
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
или даже acHidden ?
...
Рейтинг: 0 / 0
21.07.2004, 19:21:29
    #32615711
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Я имелл ввиду в высланной юзеру базке примерно след процедуру

DoCmd.TransferDatabase acImport, "Microsoft Access", "userdb.mdb", acForm, "userform", "myform"

' манипуляции с myform в "своей" базе

DoCmd.TransferDatabase acExport, "Microsoft Access", "userdb.mdb", acForm, "myform", "userform"
...
Рейтинг: 0 / 0
21.07.2004, 20:43:14
    #32615798
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Alexey ShЯ имелл ввиду в высланной юзеру базке примерно след процедуру

DoCmd.TransferDatabase acImport, "Microsoft Access", "userdb.mdb", acForm, "userform", "myform"

' манипуляции с myform в "своей" базе

DoCmd.TransferDatabase acExport, "Microsoft Access", "userdb.mdb", acForm, "myform", "userform"

А как вы предлагаете старую удалить? Все равно надо будет создавать Application.
...
Рейтинг: 0 / 0
21.07.2004, 22:07:40
    #32615848
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
акхех 2003 по trasferdatabase спокойно затирает старую форму нах
97 - посмотрю завтра
...
Рейтинг: 0 / 0
21.07.2004, 22:21:25
    #32615853
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Как вариант:
переслать в ту базу код, который открывает, правит и закрывает форму;
подключиться к той базе через ссылки;
запустить тот код.

Достоинства варианта: не будет открываться еще одно окно Аксесса.

Недостатки: форма все равно откроется. Но от этого никуда не уйти.
...
Рейтинг: 0 / 0
21.07.2004, 22:30:22
    #32615859
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Применить тяж артиллерию: SaveAsText, LoadAsText
...
Рейтинг: 0 / 0
21.07.2004, 22:31:02
    #32615860
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Alexey Shакхех 2003 по trasferdatabase спокойно затирает старую форму нах
97 - посмотрю завтра
Должно затирать, но вы же сказали
автор...(предварительно удаливши старую)
вот я и встрял, не по делу ...
...
Рейтинг: 0 / 0
21.07.2004, 22:36:57
    #32615863
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
2 Serge Gavrilov : эт я так , для профилактики :)

на крайний случай - cpp в руки и "корректировать" mdb файл.

вопрос цены :))
...
Рейтинг: 0 / 0
21.07.2004, 22:37:02
    #32615864
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
Alexey ShПрименить тяж артиллерию: SaveAsText, LoadAsText
Но это же методы Application?
...
Рейтинг: 0 / 0
21.07.2004, 22:40:11
    #32615865
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в форме, удаленной базы.
2 Serge Gavrilov : конечно методы аппликатион. это к варианту внедрения доп кода в оригинальную базу
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Изменения в форме, удаленной базы. / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]