Гость
Map
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Просмотр нескольких файлов в Form / 7 сообщений из 7, страница 1 из 1
22.07.2021, 21:41
    #40085567
ValeryIvanovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр нескольких файлов в Form
Доброго вечера!
в три файла одинаковой структуры вводятся данные за 1-е полугодие 2-е и за год
В форме Grid, показывающий записи с данными
есть кнопка переключением между периодами
Помогите, как организовать показ Grid с разных периодов (файлов)
...
Рейтинг: 0 / 0
22.07.2021, 22:59
    #40085581
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр нескольких файлов в Form
ValeryIvanovich
Доброго вечера!
в три файла одинаковой структуры
Зачем? Что мешает в один? вводятся данные за 1-е полугодие 2-е и за год
В форме Grid, показывающий записи с данными
есть кнопка переключением между периодами
Помогите, как организовать показ Grid с разных периодов (файлов)Объединяющим запросом все сливается в один набор данных и просто фильтруется.
...
Рейтинг: 0 / 0
23.07.2021, 05:43
    #40085600
ValeryIvanovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр нескольких файлов в Form
Sergey Sizov, Спасибо, но есть но...
В 1-м полугодии используются реквизиты 1-6 месяцев, в 2-м 7-12 ...(например, суммы реализации помесячно)
В Grid'e и при печати, при корректировке нужно это учитывать, проще при каждом переключении периода формировать
промежуточный файл и с ним работать (Grid,...)
...
Рейтинг: 0 / 0
23.07.2021, 08:04
    #40085620
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр нескольких файлов в Form
ValeryIvanovich
Sergey Sizov, Спасибо, но есть но...
В 1-м полугодии используются реквизиты 1-6 месяцев, в 2-м 7-12 ...(например, суммы реализации помесячно)
В Grid'e и при печати, при корректировке нужно это учитывать, проще при каждом переключении периода формировать
промежуточный файл и с ним работать (Grid,...)


Как сказал Сергей, все данные хранят в одной таблице.
А для просмотра, устанавливают период, за который вы хотите посмотреть, за 1е полугодие, за 10й месяц, с 5го по 16 июля...

Подход екселя, к БД не применяют
...
Рейтинг: 0 / 0
23.07.2021, 08:45
    #40085621
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр нескольких файлов в Form
ValeryIvanovich
В 1-м полугодии используются реквизиты 1-6 месяцев, в 2-м 7-12 ...(например, суммы реализации помесячно)
И что? Что это меняет? В одном файле нельзя сделать сделать все нужные месяцы?В Grid'e и при печати, при корректировке нужно это учитывать,И что мешает это делать? проще при каждом переключении периода формировать Проще чего? А потом придумывать как смотреть несколько файлов тоже проще?промежуточный файл и с ним работать (Grid,...)А можно не делать промежуточный файл. И это вроде проще, чем делать?
...
Рейтинг: 0 / 0
23.07.2021, 11:01
    #40085663
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр нескольких файлов в Form
Мда... Как обычно, насоветовали

Вариантов решения 2 в зависимости от того, одинаковая ли "картинка" на форме для всех 3 источников

1. Если "картинка" одинаковая, то это стандартная задача замены источника данных Grid "на лету"

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
* Перед заменой обязательно явным образом обнулить источник данных Grid
ThisForm.Grid1.RecordSource = ""

* Открываем нужную таблицу (или выполняем нужную выборку Select-SQL)
if not used('MyTable')
    USE MyTable.dbf IN 0 AGAIN
endif

* Устанавливаем новые источник данных Grid
ThisForm.Grid1.RecordSource = "MyTable"

* Если необходимо, также явно прописать источник данных для столбцов Grid
ThisForm.Grid1.Column1.ControlSource = "MyTable.Field1"
ThisForm.Grid1.Column2.ControlSource = "MyTable.Field2"



Здесь надо иметь в виду, что "источник" - это алиас уже открытой таблицы (Grid.RecordSourceType = 1 - значение по умолчанию). Как правило, алиас совпадает с именем таблицы dbf, но не обязательно. Можно для унификации для всех открываемых таблиц указывать один и тот же алиас. Примерно так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
* Перед заменой обязательно явным образом обнулить источник данных Grid
ThisForm.Grid1.RecordSource = ""

* Закрываем таблицу с фиксированным алиасом
USE IN select(tabInGrid)

* Открываем нужную таблицу с фиксированным алиасом (или делаем выборку Select-SQL в курсор с тем же именем)
USE MyTable.dbf IN 0 AGAIN ALIAS tabInGrid

* Устанавливаем новые источник данных Grid
ThisForm.Grid1.RecordSource = "tabInGrid"

* При одинаковом алиасе и одинаковых именах столбцов не потребуется переопределять источники для столбцов Grid



Но в любом случае предварительный сброс RecordSource с последующим восстановлением делать будет необходимо. Иначе произойдет сброс настроек Grid. "Картинка" на форме испортится..


2. Если "картинка" для каждой таблицы своя, то в этом случае лучше делать 3 разных Grid, расположив их на разных закладках PageFrame. Тогда просто переключаясь на нужную закладку сразу увидишь разные данные и разные "картинки".

Можно сделать "лишние" закладки невидимыми, тогда для пользователя это будет выглядеть как вариант 1
...
Рейтинг: 0 / 0
02.08.2021, 07:43
    #40087722
ValeryIvanovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр нескольких файлов в Form
ВладимирМ,
Большое спасибо за дельный совет!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Просмотр нескольких файлов в Form / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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