|
|
|
| ну чтобы при выполнении определенного условия, координаты поля1 к примеру, были бы такие (оси икс и игрек)
ткните плиз носом, а... | |
|
| |
|
|
|
| м-даа..гемор
вычислять нужные мне координаты для всех элементов формы, проще застрелиться
может тогда что подскажете?
на форме куча вычислений в разных полях и по определенным условиям одни поля должны скрываться, другие отображаться на их месте
просто Visible=True или False можно сделать конечно, но тогда в конструкторе форм на одном и том же месте сидит несколько полей, вобщем полный абзац, хрен разберешься за что какое поле отвечает
вот и хотел командой Move задать координаты элементам, чтобы они прыгали на свои места
пригать то прыгают, но для сотни элементов я буду коодинаты высчитывать до конца своих дней
короче, хелп!)))
спасибо... | |
|
| |
|
|
|
| У меня лежит в стопочку в одном месте 12 полей.
Пользуюсь Visible=True или False. Для упрошения пишем п/п, которая сначала все поля делает невидимыми, а заданное поле - видимым.
Чтобы не путаться дайте самоговорящие названия полям. | |
|
| |
|
|
|
|
может тогда что подскажете?
|
Лучше не создавать 'сотню элементов' и потом ловить их за хвост. Тут другой подход нужен.
- Попробуйте использовать столько контролов, сколько их отображается на экране. Просто меняйте для них формулы вычисления на ходу (в зависимости от условия)
- Формулы же можно прописать в таблице
- Попробуйте еще использовать для этой цели грид (может даже АктивИкс кокой-нибудь) - есть вероятность, что получится красивше. | |
|
| |
|
|
|
| Ваш подход применим не всегда. Если для различных вычислений нужны все значения полей, то их хранить в форме обязательно. А если их нужно и показывать, а места на форме не хватает, то стопочка полей - единственный выход.
>Лучше не создавать 'сотню элементов' и потом ловить их за хвост.
А чем стопочка вам не нравится? Это универсальный и удобный подход.
Меньше полей, вы вообще говоря, можете делать только в простых случаях.
>Попробуйте использовать столько контролов, сколько их отображается на экране.
Это вообще неверный совет. У меня в программе 120 форм, и ВСЕ используют скрытые поля.
Все отображать на экране можно только в простейших случаях. Проблемы возникают при необходмости показа полей. Если места на экране не хватает, то универсальный и простой подход: стопочка полей с комбоксом, управляющим их показом. | |
|
| |
|
|
|
| Интересная находка......... | |
|
| |
|
|
|
|
>Попробуйте использовать столько контролов, сколько их отображается на экране.
Это вообще неверный совет. У меня в программе 120 форм, и ВСЕ используют скрытые поля
|
Ну и хорошо. Просто видимо я подобные вопросы решаю иначе, так что ничего крамольного в своем совете не вижу.
Выбор - двигатель прогресса ;) | |
|
| |
|
|
|
| Вешать конструктором на форму 100 элементов? - лучше сразу застрелиться.
У меня возникла необходимость использовать порядка 1800 лэйбов на форме - создавал их программно по мере необходимости. Координаты высчитывать с помощью .Left, .Top | |
|
| |
|
|
|
| >Вешать конструктором на форму 100 элементов? - лучше сразу
>застрелиться.
>У меня возникла необходимость использовать порядка 1800
>лэйбов на форме - создавал их программно по мере
>необходимости. Координаты высчитывать с помощью .Left, .Top
В формате MDE, ADE это невозможно. Если вам понадобятся эти форматы, а они на продвинутой стадии понадобятся, то интересно, пистолет какой марки вы предпочитаете? | |
|
| |
|
|
|
| По этой причине я реализовал это в VB.Net | |
|
| |
|
|
|
| to FORMAT
ай молодца
я некоторые задачи тоже в .net делаю - так ширше смотреть стал на некоторые проблемы | |
|
| |
|
|
|
| Это выход за пределы Асс, которому посвящен форум.
Для Асс, что я предложил - лучшее, и давно работает у многих без нареканий.
PS. Я тоже программирую на VB.net, но советы по нему даю в другом месте. | |
|
| |
|
|
|
|
Для Асс, что я предложил - лучшее
|
неплохо | |
|
| |
|
|
|
|
В формате MDE, ADE это невозможно.
|
Можно использовать формы MSForms, которые позволяют создавать контролы "на лету".
Есть успешный опыт использования, несмотря на некоторые проблемы. | |
|
| |
|
|
|
| выбрал для себя немного другой подход
создал многостраничную форму(набор вкладок)
нужную мне вкладку делаю видимой, остальные скрываю
визуально для юзера одни поля пропадают, а на их месте появляются другие
ну да, пришлось некоторые поля, общие для нескольких вкладок дублировать на этих вкладках, но, имхо, это не так уж и криминально, зато я знаю и мне прозрачно тсзть, на какой вкладке что вычисляется... | |
|
| |
|
|
|
| У кажного программера свой подход, выработан годами. Не обошлось без привычки - она играет немаловажную роль. Так же пристрастия и предпочтения. Так что скока народу столько стилей, подходов, методов.............
Спорить как лучше.......... лучше так, как Вам лучше - вот это лучше всего наилучшего Вам. | |
|
| |
|
|
|
|
Спорить как лучше.......... лучше так, как Вам лучше - вот это лучше всего наилучшего Вам.
|
Согласен. Мир - дружба - жвачка | |
|
| |
|
|
|
| неее...я не спорил!!
куда мне до вас!?!)))
я не всегда понимаю о чем вы говорите, так что мне не до спора...
одна только фраза Format-a "а я запросы не конструирую в построителе запросов, я их пишу" повергла меня в шок))
как, не имея наглядного построителя запросов вообще можно понять, что тут!!!
SELECT [Сделанные расчеты].КодПросчета, [Вид работ].[Вид работ], Клиенты.Название_Фирмы, Клиенты.КодКлиента, [Сделанные расчеты].Тираж, [Цветность1 конверты].Цветность1, [Цветность2 конверты].Цветность2, [Сделанные расчеты].Примечание, [Основные сотрудники].Сотрудник, [Сделанные расчеты].Дата, [Сделанные расчеты].[Заказ состоялся], [Сделанные расчеты].[Когда состоялся?], [Сделанные расчеты].Отказ, [Сделанные расчеты].[Дата отказа], [Сделанные расчеты].Приоритет
FROM (((([Сделанные расчеты] LEFT JOIN [Вид работ] ON [Сделанные расчеты].[Вид Работ] = [Вид работ].[Код Вида Работ]) LEFT JOIN Клиенты ON [Сделанные расчеты].Фирма = Клиенты.КодКлиента) LEFT JOIN [Цветность1 конверты] ON [Сделанные расчеты].Цв1 = [Цветность1 конверты].Код) LEFT JOIN [Основные сотрудники] ON [Сделанные расчеты].Сотрудник = [Основные сотрудники].КодСотрудника) LEFT JOIN [Цветность2 конверты] ON [Сделанные расчеты].Цв2 = [Цветность2 конверты].Код
WHERE ((([Сделанные расчеты].[Заказ состоялся])=No) AND (([Сделанные расчеты].Отказ)=No));
| |
|
| |
|
|
|
| А вы свой запрос приведите к такому виду. И поймете, что не так все страшно.
SELECT
[Вид работ].[Вид работ],
Клиенты.Название_Фирмы,
Клиенты.КодКлиента,
[Цветность1 конверты].Цветность1,
[Цветность2 конверты].Цветность2,
[Основные сотрудники].Сотрудник,
[Сделанные расчеты].КодПросчета,
[Сделанные расчеты].Тираж,
[Сделанные расчеты].Примечание,
[Сделанные расчеты].Дата,
[Сделанные расчеты].[Заказ состоялся],
[Сделанные расчеты].[Когда состоялся?],
[Сделанные расчеты].Отказ,
[Сделанные расчеты].[Дата отказа],
[Сделанные расчеты].Приоритет
FROM
[Сделанные расчеты] LEFT JOIN [Вид работ] ON [Сделанные расчеты].[Вид Работ] = [Вид работ].[Код Вида Работ]
LEFT JOIN Клиенты ON [Сделанные расчеты].Фирма = Клиенты.КодКлиента
LEFT JOIN [Цветность1 конверты] ON [Сделанные расчеты].Цв1 = [Цветность1 конверты].Код LEFT JOIN [Основные сотрудники] ON [Сделанные расчеты].Сотрудник = [Основные сотрудники].КодСотрудника)
LEFT JOIN [Цветность2 конверты] ON [Сделанные расчеты].Цв2 = [Цветность2 конверты].Код
WHERE [Сделанные расчеты].[Заказ состоялся]=No AND [Сделанные расчеты].Отказ=No; | |
|
| |
|
|
|
| И вдобавок: лучший способ изучить SQL- писать запросы руками. | |
|
| |
|
|
|
|
приятно иметь дело с умными людьми)))
надеюсь, когда нибудь и я стану гуру))
п.с. я уже каждому тут на форуме по ящику пива должен
спасибо вам ребята от души!)) | |
|
| |