powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SQL-запрос в VBA и не только...
2 сообщений из 2, страница 1 из 1
SQL-запрос в VBA и не только...
    #32208951
TRoUbLEs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, снова нужна ваша помощь!
Задача в следующем. Пишу запрос, который выдергивает данные из таблицы (собственно это относится к топику "подстановка цен из справочника"), далее на него вешаю форму и чтобы подставить эту цену в другую форму при вводе продажи, приходится сначала макросом открывать эту форму (невидимую), потом задавать значение для цены и закрывать форму. Думаю. что можно сделать все это в VBA, но только не понял как и у меня не получилось. насколько я знаю, Sub...End Sub не возвращает никаких значений. Т.е. для данной задачи надо использовать Function.... End Function, которая как раз возвращает значения и может их подставить в поле формы. Как это сделать? Как запустить запрос в VBA (именно DoCmd.RunSQl.....) и возвращенное им значение присвоить переменной или полю в другой форме? Это первое.
-
--
-
Теперь, чтобы не тянуть резину в долгий ящик - второе. :)
Вопрос из области синхронизации баз данных. Предыстория:
2 завода. На каждом одна и та же база по структуре, но там разные данные, даже справочники и те разные. Возможности централизованно использовать базы - нет (на заводах нет сети и и-нета). Данные в офис едут на Флешке.
Теперь собственно по сути проблемы!
После проверки на корректность и т.п. в офисе, эти данные необходимо перенести в офисную базу, а дальше уж разрулить любую ситуацию дело 3-5 минут (зависит от сложности необходимого запроса). Предполагается все сделать через запросы на добавление. В тех базах какие-никакие а справочники контрагентов есть, поэтому у каждого есть свой ID, но они не совпадают ни между собой ни с офисной базой. Для подстановки автоматом нужного номера контрагент нужна небольшая (или большая) программа, которая будет подставлять нужный номер для контрагента.
Пример:
База завода1
........
ООО "Рога и копыта" - 123
........

База завода2
........
ООО "Рога и копыта" - 322
.......

База офиса
.......
ООО "Рога и копыта" - 576
.........

Задача состоит в том, чтобы при запуске запроса на добавление данных в офисную базу из базы завода, в поле контрагент подставлялся не 123 или 322, а 576.
Т.е. как это видится мне.
...................
IF поле_"ЗАВОД"_в_форме = завод1 THEN
IF контрагентИД_в_запросе = 123 THEN
переменная = 576
END IF
END IF
поле_контрагентИД_в_офисной_таблице = переменная
...................
И так для каждой записи. Как это сделать? Можено ли обойтись одним запросом на добавление или придется перебирать все записи поочредно???
Помогите, пожалуйста. Желатетльно "живой пример", а не общие сведения. Посмотрел в книге подобный пример, но не фига не понял. :((( Буду очень признателен.
Аналогично и для справочника товаров. Цены беруться из справочника цен офиса. Но если я пойму как это делается на примере контрагента, то и остальное смогу сделать сам, надеюсь. :)
Заранее прЫзнатЭлен.
...
Рейтинг: 0 / 0
SQL-запрос в VBA и не только...
    #32209274
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну зачем писать так длинно. не все решеться прочитать такой толмут.
пиши лучше кратко, будет больше шансов на ответ.
теперь собственно:
1. чтобы открыть запрос
set rs=currentdb.openrecordset("Имя запроса")
чтобы присвоить значение в другой форме
forms![Имя формы]![Имя контрола]=rs![...]
при этом форма д.б. открыта.

2. по поводу справочников.
вроде это уже обсуждалось в этом форуме, попробуй поискать.
мое мнение - таблица соответствия, т.е. в каждом подразделении помимо
своего внутреннего кода (123 или 322), хранить еще и код общий (576).
как ее заполнять - дело вкуса, но в общем случае вручную, т.к. даже один
лишний пробел непозволит сопоставить названия из разных баз.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SQL-запрос в VBA и не только...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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