|
|
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Временная таблица. Столбцы в ней добавляются программой. В разных "сеансах" число столбцов может быть разным. На базе таблице - форма, для ее редактирования. Можно ли сделать так, чтобы независимо от числа и названий столбцов таблицы, поля формы каждый раз "синхронизировались" с полями источника? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 11:10 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Да можно в принципе то. Динамически создавать на форме нужные контролы и вязать их с полями таблицы. Или заранее налепить много контролов и их подвязывать при открытии такой формы .Но мое мнение , это надо делать в исключительных ситуациях. Я по крайней мере не сталкивался с таким на практике. Мне кажется ты зря это затеваешь, больше сложности , больше глюков. Может если ты объяснишь зачем тебе удалять/ добавлять поля в таблице что то можно посоветовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 11:30 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Где-то тут рядом есть моя же ветка "Таблица в виде перекрестного запроса". Там я написал, что число Филиалов(= столбцов перекр.табл) постоянно. Написал и накаркал: по этому же алгоритму попросили организовать работу с таблицей "Партнеры", а они имеют еще типы (пример: "внутренний/зарубежный") и главное, что, в отличии от филиалов, новые записи в табл Партнеры могут появляться гораздо чаще. Вот чтобы не создавать 2 перекр.таблицы(по типу Партнера) и привязанные к ним 2 формы с заранее прописанными полями, я и озаботился: перекрест.таблицу(каждый раз с нужными столбцами) создать нетрудно, а можно ли и форму так "лепить"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 12:07 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Qatro имеет в виду следующий топик:\r \r /topic/70645 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 12:08 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Я конечно может и не владею ситуацией, но мне это показалось что то типа "лечение зубов через прямую кишку". Странно , может изменить подход к этой проблеме. Ну а тебе пригодяться знания DDL / DAO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 12:20 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
тебе пригодяться знания DDL / DAO даже и спорить не буду - знания лишними не бывают...:)... мало того: большинству посетителей форума(и мне в т.ч.) пригодится глубокое изучение VBA...(жаль только, что сам этот совет никому не поможет...) -------------------------------------------------------------------------- А нельзя не привязывать поля формы "поштучно", а создать целиком форму на основе таблицы(как мастер создания делает)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 12:53 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Мысль интересная. Можно создать свой класс , который создавал бы формы на основе таблиц. Но здесь же как ты верно заметил нужны хорошее знание VBA с классами. Вот если бы можно было использовать мастер создания форм для своих нужд из VBA , это было бы неплохо. Но тут я незнаю , может и можно его использовать из VBA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 13:04 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
в развитии темы: если св-во Данные у поля формы установлено: <источник>Поле5, а именно Поля5 в данном наборе в источнике нет, то в поле формы указывается: "#Имя?". Можно эту ситуацию как-то отследить в программе? Чтоб такому полю делать Visible = False. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 16:48 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
А я бы использовал в данном случае ListView вместо подчиненной формы и формировал бы его "на лету" в зависимости от источника записей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 16:55 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Уточню вопрос: не Visible=False, а скрыть конкретный столбец, ну или ширину столбцу задать = 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 17:14 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Делаем форму, на ней размещаем контрол подчинённая форма, закрываем мастер (если запустился), в источнике данных прописываем имя запроса или таблицы. Получаем переменное количество столбцов с возможностью редактирования (если источник позволяет) и одну главную форму с подчинённым контролом.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 17:21 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Как в программе сослаться на конкретный столбец табличной формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 10:27 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
авторКак в программе сослаться на конкретный столбец табличной формы? По имени контрола. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 11:35 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Вот, сотворил. На форме одно "постоянное" поле [Month] и "немерянное" (>чем самое большое колич. столбцов) число свободных полей. Сначала все контролы "Поле", кроме "постоянного" запихиваются в массив и прячутся(ColumnHidden = -1). Затем, по очереди, "показываются", привязываются к полю таблицы и "именуются". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Чего не получается: приведенная процедура на событие "загрузка формы" работает когда форма открывается как главная, а таблица-источник уже заполнена. Не соображу как лучше сделать, если форма подчиненная, а таблица заполняется "кнопкой" из главной формы. На событие "Загрузка" процедуру уже не повесишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2004, 16:56 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Идем дальше: Как (если возможно) добавить в таблицу формата: [Месяц], [Филиал], [Сумма] новый "блок" записей - т.е, для 2-филиалов, 24 строки? В первом столбце числа с 1 по 12 и опять с 1 по 12, во втором - 12 строк заполнены "Фил1", 12 - "Фил2", в третьем - одни нули. Вопрос о добавлении запросом, как заполнять построчно кодом я более-менее представляю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2004, 18:00 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
QatroНе соображу как лучше сделать, если форма подчиненная, а таблица заполняется "кнопкой" из главной формы Сделай у всех столбцов по умолчанию ColumnHidden = True А по нажатию кнопки запускай эту процедуру + Repaint QatroИдем дальше Если есть таблица с ключевым полем, в которой первые 12 записей без пропусков (назовем ее MyTable), то вполне можно Во-первых, для поля Сумма надо задать 0 по умолчанию, и больше о нем не заботиться. Для остального - примерно такой запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2004, 18:38 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Уточнение: Добавить новый "блок" записей на следующий год абсолютно аналогичный текущему, но с нулевым значением [Сумма] - это я могу. Сложность в том, что может измениться число филиалов, соответственно и должны появиться новые(исчезнуть ненужные) 12 строк(по месяцам) для каждого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2004, 18:49 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Что-то непохоже на уточнение... Сначала одна задача, теперь как будто несколько другая... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2004, 19:08 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Да не другая.... Вроде я всех запутал с форматами таблиц... 1.Исходная таблица: [Месяц],[Филиал],[Сумма]. Для удобной работы с ее данными создается временная 2.tempТаблица в виде перекрестного запроса . На ее основе - форма, в форме данные редактируются, результат переносится в Исходную таблицу . Вопрос в том как добавить в Исходную таблицу (а не во временную)блок записей на новый год, если в новом году список филиалов изменится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2004, 19:38 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Ну, вроде, все сделал. Не получилось полностью применить код AlexJuice: программа ругалась на ошибку в выражении запроса и выделяла первое упоминание "Union". Хотя сам запрос на объединение работал прекрасно. Пришлось пойти в обход: в коде собирается строка SQL (начиная с Select...), потом все это присваивается св-ву .SQL сохраненного запроса, а на его основе создан сам запрос(сохраненный) на добавление записей. Осталось "пригладить", подписать кнопки и можно спихнуть работу... Всем спасибо! А все-таки: чего ж не получилось полностью в коде воплотить запрос на добавление? Чем ему "Union" не понравился? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2004, 02:32 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Чой-то я не понял - где ругалась-то? Если сам запрос работал, а строка собиралась... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2004, 02:39 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Значит собираю в коде строку: Код: plaintext Далее продолжаю в коде: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2004, 04:12 |
|
||
|
Как поля формы синхронизировать с полями таблицы, если число последних - непостоянно?
|
|||
|---|---|---|---|
|
#18+
Ну дык енто понятно Аксесс таких фортелей не понимает. Ему подавай нормальный запрос в инсерте. То есть создаешь запрос на SELECT UNION, а уже его (этот запрос) используешь в запросе на INSERT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 12:57 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32396370&tid=1676764]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 493ms |

| 0 / 0 |
