![]() |
|
Модераторы: Akina |
![]()
|
|
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
А еще хочу спросить вас следующее:
Вот делаю я отчет, в котором данные из таблицы идут, в которой все нули или минус единицы стоят (0/ -1), значит и в отчете они будут видны в натуральную величину. А вот я хочу вместо них видеть скажем либо пробел, либо галочку. Что прикажете делать? |
|||
|
||||
| GriKo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 7.6.2003 Где: Израиль Репутация: нет Всего: нет |
Сделай цикл, "ФОР" скажем, и в нём "ЕСЛЕ". И вот "есле" прочитанный символ = 0, тогда чтобы он заменялся пробел, а "подругому" - чтобы заменялся на V.
|
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
Например lFld - это значение 0 или -1, а в переменную sRes надо записать " " или "V":
но в варианте предложенном GriKo, можно например в нужном месте нарисовать голчку: If sFld=0 then pic.PaintPicture(picSrc.picture,0,0) else pic.PaintPicture(picSrc1.picture,0,0) end if так что он более шире по возможностям... -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Bсе это понятно, только ведь проблема в другом!
Ведь данное действие надо писать в методе Current формы , а у рапорта такового не имееться! Если я такое напишу в методе Open, допустим, то этот код подействует лишь на первую запись, а все остальные записи отобразит как первую! Что скажете, господа! Или я не права?! |
|||
|
||||
| Plamenk |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 258 Регистрация: 18.2.2003 Репутация: нет Всего: 3 |
У Access есть встроенные функция, точно не помню как называется нет под рукой Access, что-то типа if((выражение), (правда), (ложь)). Смысл этой функции по-моему очевиден.
Так что в качестве значения поля можно использовать следующее выражение
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
Где и как ты делаешь свой отчет? Я вообще по вопросу ничего не понимаю, что и куда ты хочешь записать анализировав свою таблицу.
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Повторяю еще раз
Все очень просто: ПРостая таблица с полем, значениями которого могут быть либо 1, либо 0. На основе этой таблицы делаю отчет, следовательно в отчете вижу либо 1, либ 0. А я хочу видеть в отчете вместо 1 - галочку, а вместо 0 - пустое место, Ясно? Товарищи предлагают различные варианты с оператором If(IFF), я и сама могла бы догададаться до этого, однако проблема в другом. Как я уже объяснила данный код надо присабачить к какому-то событию. Если бы это была форма я бы этот код написала в событии Current формы, и тогда проблем не будет, но ведь в данном случае дело происходит в отчете, где такого свойства нет, а есть только Open. Если же я этот код поставлю в данном свойстве, то он проверит лишь первую запись и подействует на все остальные как на первую! Понятно? Короче попробуй, сам увидишь... |
|||
|
||||
| cardinal |
|
||||||||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
Ладно поясняю, что в этом вопросе неоднозначно. Что такое отчет? Да хрен его знает, что это. Ты пишешь в раздел VB, так причем здесь Access. Чтобы ты знала в VB можно тоже делать отчеты. Вот тебе примеры: 1. Отчеты можно формировать с помощью конструктора DataReport, который является новинкой в VB 6.0. 2. Их можно также формировать в Microsoft Access, а потом использовать в VB приложениях. 3. Отчеты можно создавать с использованием пакета VSREPORTS фирмы VideoSoft, позволяющего пользователям приложения создавать отчеты Microsoft Access независимо от того, установлена ли на их компьютере сама программа Microsoft Access. 4. Отчеты можно создавать с использованием пакета VSVIEW фирмы VideoSoft 5. Отчеты можно создавать с помощью программы Crystal Reports. 6. Отчеты можно "делать" (как ты говоришь) в виде HTML-документа. 7. Отчет можно создавать при помощи библиотеки Microsoft Scripting Runtime Library, которая облегчает экспорт данных в файлы в ясной объектно-ориентированной манере. 8. Ты можешь вообще "делать" отчеты с использованием объекта VB Printer. Ну так почему же нельзя сказать как ты делаешь отчет? На мой вопрос "как?" ты отвечаешь:
Почему только товарищ Plamenk упоминает вообще слово Access, а не ты? Я могу догадываться, что ты делаешь отчет в MS Access, только по тому факту, что ты Plamenk не сказала: "Причем тут Access?". Короче ладно х%р с ним. Для чего я это все в который раз пишу? А для того, чтобы посетители форума поконкретнее вопросы ставили - тогда и ответы поконкретней будут. Ладно, попробуй вот это. Если я правильно до всего догадался, то это решение твоей проблемы. Я не поленился сделал базу данных, отчет и все протестировал. Соответственно если - это не то, что ты хотела, то значит думай в следующий раз как поставить вопрос так, чтобы ответ на него мог бы быть только один!
Все, что я написал - это не наезд, а просто очередная попытка призвать людей к порядку
Прямо впечатление создалось, что там сначало было написано "Понятно, козел? Что пишешь тут, если тебе ничего непонятно..." -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||||||||
|
|||||||||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Насчет данного кода, у меня в отчете в методе Open стоит следующий код: Private Sub Report_Open(Cancel As Integer) Dim strsql As String DoCmd.Maximize strsql = "SELECT check FROM table1 " Me.RecordSource = strsql End Sub Теперь я ставлю данный код в эту же процедуру( в конце): Me.check.Value = Switch(Me.check .Value = "1", "V", Me.check .Value = "0", "") При запуске отчета выдаеться такая ошибка: You entered an expression that has no value при том что в отчете стоит елемент check у которого свойство Control Source присвоено значение check . Не знаю может значение еще не успело присвоится на данном этапе загрузки формы? И вообще этот код (Me.check .Value = Switch(Me.check .Value = "1", "V", Me.check .Value = "0", "")) надо писать в данном методе формы или еще где? |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Указаный мною код
надо писать не в событие OPEN, а присваивать его как значение поля. По-моему, и cardinal имел ввиду тоже самое. |
|||
|
||||
| Plamenk |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 258 Регистрация: 18.2.2003 Репутация: нет Всего: 3 |
Данное сообщение было написано мною.
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
это я и имел ввиду...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| nicka |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Ладно, я ставлю этот код (вместо Field ставлю название поля берущегося из запроса к таблице(check)) в свойство Control Source textbox-а на форме - к сожалению вообще ничего не показывает, или это не значит -
|
||||
|
|||||
| nicka |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Когда пишу это, вообще при выходе из поля выдает ошибку The expression you entered contains envalid sintax...
А если так пишу :
|
||||||
|
|||||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
Все что тебе надо сделать - это открыть в MS Access базу данных, выбрать тот отчет, который тебе нужно, открыть его констpуктором и написать в значение поля то, что я тебе написал.
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |