Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Реализую прогу что-то типа кулинарной книги с возможностью добавления туда самому рецепта, описания и фотки. Что-то подобное уже было на MMB.
Столкнулся с тем, что компонентов у рецепта бывает иногда и по 15 штук. В итогда ДБ обрела такие поля для заполнения:
id, name, opis, gotovka, foto1, foto2, foto3 и далее (от 1 до 15) komp (название компонента), kk (кол-во клмпонента), ves (вес, объем), faza (фаза добавления). Итого 67 полей в рецепте. Жесть короче. ))
Реализация слдующая. Предлагается все это занести в поля, где-то выбрать из БД компоненты (по названиям), вес (г, мл) ручками добавить название рецепта, описание, как готовить (кстати есть ли плагин, чтобы пользователь мог не просто в TextEntry добавлять текст, а скажем его редактировать в нем сделать жирнее шрифт или еще что-то).. Ну и нажать на кнопочку сохранить.
1. Сначала добовляется название, описание, готовка, фотки:
По коду. Все прекрасно заносит, если только выбираются 10 компанентов. Если больше, то прога виснет блин и данные конечно не заносятся.
Так вот собственно вопросы. 1.Был ли опыт у кого с таким кол-ом данных. На сколько сильно сказывается работоспособность проги если ее основательно подзабить рецептами. Скажем 500 записей. 2.Это у меня где-то ошибка или просто нереально затащить в БД информацию хоть и не большую, но сразу по 67 полям. 3.Есть ли плагин, чтобы пользователь мог не просто в TextEntry добавлять текст, а скажем его редактировать в нем сделать жирнее шрифт или еще что-то. Вставить гиперссылку например. Как скажем в любом текстовом редакторе.
3.Есть ли плагин, чтобы пользователь мог не просто в TextEntry добавлять текст, а скажем его редактировать в нем сделать жирнее шрифт или еще что-то. Вставить гиперссылку например. Как скажем в любом текстовом редакторе.
да, поподался такой плагин(вроде на офсайте), но и там есть свои нюансы, например для каждого поля надо делать отдельный прямоугольник и еще что то(не помню на вскидку). Может стоит обратить внимание в сторону html?! с форматированием там все норм
Quote (Jivchik)
По коду. Все прекрасно заносит, если только выбираются 10 компанентов. Если больше, то прога виснет блин и данные конечно не заносятся.
может тогда пересмотреть организацию БД?! Сделать по другом, например разнести по нескольким БД, или грузить одну в другую.... Я не спец по этому плагину, пару раз открывал поверхностно, потому посоветывать ничего не смогу, вот приедет с отпуска mishem, он вполотную его изучал, может и посоветует
Jivchik, 1. база данных это невизуальный объект, считав из базы что нужно, помещаеш в визуальный объект, там можеш делать что хош, потом если надо, результат записывается в базу, или заменив существующую запись или создав новую, как тебе захочется. 2. Можеш писать в базу сколько тебе вздумается, только нужно думать головой, и иметь представление что такое базы данных, и как работают скрипты.
Alex3A, помоему Вы не читали то что я писал. У меня нет вопросов по визуализации данных из БД! Я могу сделать запрос и вывести определенные данные.
все правильно он написал, вникните в суть поста.
Quote (Jivchik)
Тут вопрос в другом. Можно ли занести в БД более массив с более чем 10 значениями.
можешь... Не существует ограничений на количество записей таблицы. Размер записи может быть не более 64К(см. конткретно к нужной БД, т.е. в твоем варианте аксесс), поэтому максимальное количество столбцов зависит от используемых типов полей. Это я про мускул, а по своему вопросу ищи инфу в сети у мелкософта 64кб для одного поля, это дофига, если привести примитивный пример, это где то 5-6 страниц ворд.документа
Добавлено (20 Июль 2010, 17:13) --------------------------------------------- Тут как раз вопрос выресовывается в ввизуализации! Возможно плагин не вывозит такое количество, там же применяется гирд, может у него есть ограничения, харак-ки надо смотреть на офсайте плага
Добавлено (20 Июль 2010, 17:23) --------------------------------------------- вот, даже искать ненадо, в хелпе самого Access есть вся инфа
Размер файла базы данных Microsoft Access (.mdb) 2 Гбайт за вычетом места, необходимого системным объектам. Число объектов в базе данных 32 768 Модули (включая формы и отчеты, свойство Наличие модуля (HasModule) которых имеет значение True) 1 000 Число знаков в имени объекта 64 Число знаков в пароле 14 Число знаков в имени пользователя или имени группы 20 Число одновременно работающих пользователей 255 .... и т.д.
Сообщение отредактировано Сергей - Вт, 20 Июля 2010, 17:24
Я не когда не жду готового ответа. Хотя бы где капать ... И на форуме не пишу из лишне ... дабы не флудить. Головой тоже привык раотать.
Если про время, то ставил и промежутки Delay. Отладчик в данном случае не помогает, т.к. прога просто виснет и не отвечает ... тока через Конртл+Альт+Делит
dbpOpenAccessDatabas или dbpOpenDatabase работает и так и так.
Условия там простые. Выбрать надо минимум 2 компонента и указать у каждого вес и выбор веса или объема.
А не сохраняет видимо потому что в dbpOpenDatabase надо указать правильно путь, т.е. там где лежит БД. Там наверное мой путь указан. Видимо просто не находит ее. Вот такие дела.
Jivchik, на выполнение операций нужно определенное время, и иногда его может не хватать, если пошагово все работает а без отладчика нет, то возможно нужно где то вставить задержку.
Добавлено (20 Июль 2010, 21:29) --------------------------------------------- Peter,
Как погода в Питере? У нас жара стояла 35-37, сейчас временно полегчало, тучи грозовые, но дождя пока нет.
В Питере все было и есть один-в-один с вами. Сейчас около +25, и это кажется настоящим раем в сравнении с тем, что было! Но очень влажно, иногда даже душно. Дождей тоже нет. На один только день (в прошедшую пятницу) тучки сгустились и... все. Местами (говорят) даже слегка покапало.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
затестил проект Только не понял, а где сам сабж в 67полей смотреть, я такого не нашел заполнил первую страницу
потом вторую
потом записать потом месага, что мол Данные по рецепту успешно добавлены кликая Перейти в каталог рецептов вылетает ошибка(ну тут ясно, нет страницы New Page 3) вот при закрытии немного задумался, а так все нормально прошло Единственное запарился даты вбивать
я не про это, а в проекте(я насчитал только 14), т.е. там где НБ уходит в зависание. То что было в тесте, я заполнил все и все отработало быстро и без ошибок
Сообщение отредактировано Сергей - Вт, 20 Июля 2010, 22:50
Сергей, так что заявленного дефекта нет? Если так, то в цикл вставить небольшую паузу, просто у него может не успевать выполнится текущая операция, как дается следующая.
Добавлено (20 Июль 2010, 22:58) ---------------------------------------------
Quote (Сергей)
а в проекте(я насчитал только 14),
так добавь сам, имена полей смотри в аксесе.
Сообщение отредактировано Alex3A - Вт, 20 Июля 2010, 22:57
67 полей - это п 14 х 4 = 56 (это komp, kk, ves, faza) + 1 name + 1 opis + 1 gotovka + 3 поля foto = 62 поля. + id = 63 поля. считал грубо раньше. 15 х 4.
Пробовал ставить в цикл delay 2000 даже - это 2 секунды. Много. Но всеравно у меня лично больше 10 не заносит.
Сергей, если не сложно попробуйте еще раз. Может просто первый раз пролезает, а потом (мистически ... вздыхая) может просто память не успевает высвобождаться от перменных?
А страницы в конечном мессадже не существуют, т.к. просили тока ту часть кода где траблы. Её и отдал. Там на 3 странице тупо каталог в листбоксе ... с выбором и переходом непосредственно к рецепту.
Добавлено (20 Июль 2010, 23:36) --------------------------------------------- В любом случае спасибо. Сергей. А пробовали из программы? Т.е. не компилили готовый проект?
Да я уже не знаю что думать. У меня wind7 ... 4 гега оперативки ... просто не знаю, уже на что пинать ... новый бук. Должен все быстро отрабатывать ... а тут такая ерунда. ((
у меня ХР 3пак Возможно разные версии компонента БД(как предположение) Попробуй скомпилить свой проект и запустить с правами админа, может 7 не дает запись произвести, особенно если используется системный диск...
А плагин скюелю для ацеса держит? для записи в казанные поля INSERT INTO tb1 ( w, w1, w2, w3 ) VALUES ('dd1', ' ff1', ' gg1', 'hh1'); для всех полей INSERT INTO tb1 VALUES ('a8a', 's8s', 'sd8d', 'f8f', 'h8h');
Добавлено (21 Июль 2010, 00:57) --------------------------------------------- Jivchik, вроде Peter, как то говорил что на нб есть скулайт плагин, че с акесом заморачиваться?
Jivchik, не буду выражать свои эмоции и в этом варианте отработалось без ошибок.... Но очень много других ошибок, в проекте они не вызывают ошибок пока, как логических, так и даже не знаю как сказать типа удобства, вот пример(я закоментировал строку)
Code
SetVar "[nol]" "0" ./*IfEx "[TextEntry4] > [nol] AND [TextEntry5] > [nol] AND [TextEntry17] > [nol]"*/ IfEx "[TextEntry4] <> [#34][#34] AND [TextEntry5] <> [#34][#34] AND [TextEntry17] <> [#34][#34]"
Второе зачем бесмысленные сообщения - они раздражают, лучше сразу перейти к следующему шагу, пример
Code
AlertBox "Сохранение" "Название, описание и порядок приготовления рецепта, а также его фотография(ии)|сохранены успешно. Переходим к заполнению компонентов рецепта."
Далее, почему не используешь подпрограммы?! Вот это меня убило(думаю убъет любого кодера ):
вообщето я так и не смог отследить надобность этих массивов, но зачем пользователь чтоб выбрать индигриент надо несколько раз щелкать по листбоксу?! не проще сразу вести весь список в него он везде повторяется
Code
Loop "1" "[aaa.tovar.$RecCount]" "[t]" dbpGotoRecord "aaa" "tovar" "[t]" ListBoxAddItem "ComboBox1" "0" "[aaa.tovar.name]" EndLoop ./*а еще лучше, чтоб не каждый листбокс обрабатывать, а сразу сделать данные для всех*/ SetVar "[indigrient]" "Выберете ингредиент" Loop "1" "[aaa.tovar.$RecCount]" "[t]" dbpGotoRecord "aaa" "tovar" "[t]" SetVar "[indigrient]" "[indigrient][#13][aaa.tovar.name]" EndLoop ./*a в листбоксе в место строчки [i]Выберете ингредиент[/i] вставить [color=red][indigrient][/color]*/
ну на сегодня пока хватит, тяжело читается ход/нить проекта
Добавлено (22 Июль 2010, 02:54) ---------------------------------------------
да интересно где и главное как он попал в инструменты НБ?? Я вообще подумал плагин, либо рисованый с помощью Rectangle и Ellipse, тут вроде кто то уже делал так Обрати внимание на номер типа, может так(перебором) можно узань все, которых нет на панели?!
Сообщение отредактировано Сергей - Чт, 22 Июля 2010, 03:38