Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

14 Декабрь 2017, 01:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4   Вниз
  Печать  
Автор Тема: Кнопка открытия формы с продолжением  (Прочитано 6397 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bbv62
Новичок
*
Offline Offline

Пол: Мужской
Расположение: г. Кострома
Сообщений: 30


« Ответ #45: 18 Декабрь 2015, 12:09 »

Я так понимаю, до идеи... руки еще не дошли?
Как раз дошли - скрины сделаны с варианта единой таблицы.
вводит параметры объекта с планшета, ноутбука
Это десятая часть марлезонского балета, которая будет исполняться после обкатки (мин. годовой) структуры данного процесса.
Скорей всего в SQLServ2012 (или который там будет) ПРОФЕССИОНАЛЬНЫМ НАПИСАТЕЛЕМ с учётом "бесценного, никому не нужного опыта". На данный момент это и неактуально, поскольку те ж замерщики, как и все ключевые сотрудники нашей фирмы, это рукастые, головастые мужики возраста хозяина (и моего), прошедшие с ним в молодости бескрайние вертикальные просторы нашей Родины. Оне от планшета (нубука, смартфона, вида Клавы) впадают в ступор со всеми последствиями. Пока будет перепись с бумажки в офисе в присутствии автора...
Научный тык произведен пока семью из девяти переломанных пальцев. Ещё есть надежда.
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #46: 18 Декабрь 2015, 12:51 »

Извини, был не внимателен: скрины посмотрел только сейчас, после того как ты их упомянул.
Я так понял, тебя смущают цифры в счетчике записей? "Гм, видишь ли Юрий..." (с) Адъютант Его Превосходительства
Там всё правильно... Счётчик показывает количество записей в текущем наборе данных. Если наложить на набор из, скажем, 1000 записей фильтр, который отберёт только 5, то счётчик покажет именно 5, а не 1000.
Единичка в счётчике тебя должна не огорчать, а радовать - ты работаешь с единственной записью, она никуда не делась (не ноль) и никаким макаром не продублировалась (не больше 1). А чтобы не сбивало с толку - там дальше на этой панели Навигатора есть кнопочки установки-редактирования-удаления фильтров, поиграйся с ними.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
bbv62
Новичок
*
Offline Offline

Пол: Мужской
Расположение: г. Кострома
Сообщений: 30


« Ответ #47: 18 Декабрь 2015, 16:38 »

Yessss! Всё хорошо
Всё оказалось проще: в формочке "элемент управления" кнопки нашёл (обнаружил) поле "Тип кнопки". Поставил значение "Сохранить запись".
Нажимаю - изменения применились, кнопка посерела и ... желанная форма не открылась.
Поставил исполнение макроса в событие "отпускание кнопки" (через 20 мин головоскрёба) и всё заработало.
Пожалуй - это первое самостоятельное открытие на этой стезе - без форума и Гугла! Хороший знак.
Сейчас говорил с директором по маркетингу. Хранить варианты заказа после установки двери (фактически после присвоения номера заказа) - не нужно. Т. е. за 25 лет работы не было прецедента наезда заказчика с претензией на ошибку выбора.
В то же время (без удаления холостых записей) сильно увеличивается объём выборки при поиске заказчика в архиве - ведь и ФИО и год установки и город могут совпадать. Введение поля "Улица" чреват ошибками написания (не Kladr же подключать. Хотя...).
Ручной ввод ID в открывшейся форме "с пустым счётчиком" невозможен, поскольку в поле стоит "Автоназначение". Да и в жизни нереален.
С ошибкой фильтра "при разрыве значений ключа" не разобрался. "record.Filter = """ID2""=" + oModel.Parent.getInt(0)" не расколоть.
Может, таки, не фильтр, а принудительный ввод в поле "Запись" нужного значения, как руками. Тока как до него добраться?
Записан
bbv62
Новичок
*
Offline Offline

Пол: Мужской
Расположение: г. Кострома
Сообщений: 30


« Ответ #48: 19 Декабрь 2015, 09:26 »

19.12.2015
Мне кажется здесь ошибка:
record = newForm.getDrawPage().getForms().getByIndex(0)
     record.Filter = """ID2""=" + oModel.Parent.getInt(0)
Смутно, конечно, но. Посмотрев на отображение фильтра в несработавшем отборе (см. скрины) увидел в качестве аргумента как раз номер записи, а не Idшник из нужного поля.
Как я понял — Index и есть номер записи.
Вариант с типом кнопки тоже не очень-то оказался — только на изменение записи. При открытии сохранённой записи кнопка-серая. При введении и последующем удалении любого символа в любое поле (при «шевелении» в записи) — кнопка активизируется.
При Типе «Обновить форму» кнопка активная, но при нажатии скидывается на запись №1 и открывает, соответственно, желаемую форму с первой записью.
А вот «Отправить форму» - вроде правильно отрабатывает, но непонятна суть действия.


* Результат отработки кнопки при оторванном ID.png (161.61 Кб, 1366x768 - просмотрено 21 раз.)

* Результат прижима кнопки Фильтр.png (148.12 Кб, 1366x768 - просмотрено 16 раз.)
Записан
bbv62
Новичок
*
Offline Offline

Пол: Мужской
Расположение: г. Кострома
Сообщений: 30


« Ответ #49: 25 Декабрь 2015, 15:24 »

Мда... Грустный
Все попытки "химичить" привели к полному ступору мОзгов.
Добавили пессимизма и давние посты http://forumooo.ru/index.php/topic,73.0.html и http://forumooo.ru/index.php/topic,528.0.html.
Записан
rausNT
Новичок
*
Offline Offline

Сообщений: 7


« Ответ #50: 12 Май 2017, 14:16 »

Здравствуйте!
почти похожая задача как у ТС, но к сожалению не мог разобраться по ответам.

Задача такая: Есть форма. "Ввод ФИО". Есть кнопка на этой форме. Она должна открывать форму "Ввод событий" и загружать (сортировать?)  запись где FIO из первой формы равно FIO из второй формы.
Как получить значение поля и открыть форму я понял, а дальше тупик...
Подскажите пожалуйста...

Вот код.

Код:
Sub OpenForm(oEvent as Variant) 
const sNewDocumentName="Ввод событий"
const sOldDocumentName="Ввод ФИО"

  Dim oForm, ID_Name
 
oForm = oEvent.Source.getModel().getParent()
ID_Name = oForm.getString(oForm.findColumn("FIO"))

oNewFormDocument = ThisDataBaseDocument.FormDocuments.getbyname(sNewDocumentName).open
End Sub
Записан
rausNT
Новичок
*
Offline Offline

Сообщений: 7


« Ответ #51: 19 Май 2017, 18:14 »

сам написал, сам ответил

Код:
Sub DialogOp (oEvent as Variant)

  Dim oForm, ID_Name
 
oForm = oEvent.Source.getModel().getParent()
ID_Name = oForm.getString(oForm.findColumn("ID"))



    form_container = ThisDatabaseDocument.FormDocuments.getByName("Ввод событий")
     form_container.close
    form_container.open
    form2 = form_container.component.getDrawPage.getforms.getbyindex(0)
    form2.Filter =("ID = " & ID_Name)
End Sub

не все правда понимаю, как работает.

Записан
Страниц: « 1 2 3 4   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!