Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Работа с БД |
Автор: rnycop 15.2.2006, 11:36 | ||
Постараюсь кратко изложить мои проблемы...
Создаю форму с edit1,button1,listbox1 при нажатии button1 идет поиск по базе нужного номера прибора. Вопрос № 1. Как сделать так что бы при вводе в edit1 выполнялось событие , т.е. все тоже самое как и при нажатие button1 Вопрос № 2. Далле нужно вырать из listbox1 нужный TIP и при двойном щелчке открылась Form2 с полями edit1-edit10 для просмотра всех характеристик приборов. Очень прошу чем нибудь помочъ. В Делфи новичок, работаю на нем тока 2-ю неделю... Прочитал практически всеь ваш форум.. Очень он помог мне.. Но на некторорые не стандартные решение нет ответов, поэтуму я и написал... |
Автор: DimW 15.2.2006, 11:47 |
смотри событие OnChange компонента TEdit |
Автор: rnycop 15.2.2006, 14:04 | ||
Вот исходник по которому пробывал сделать это =) тока тут про покупку
т.е. при нажатии клавиши enter запускается процедура Summa собствено где я вводил фильтр и поиск, НО ПОЧЕМУ то не работает, выдает ошибку =( DimW, Я не заню как пользоваться OnChange собитеем =(( можно какой нибудь пример, пожалуста.. А со вторым не знаеш что мона придуматЬ? |
Автор: Nchanged 15.2.2006, 14:22 | ||||||||
тебя для редактирования нужно, или для просмотра? В любом случае делается это просто. Может быть я не о том, конечно
Здесь не лист бокс а стринггрид. В случае с листбоксом тоже самое практически. Указываешь откуда брать данные. А далее, если у тебя есть переменная text1, делаешь что хочешь с ней. Например:
Добавлено @ 14:24
Просто копируешь код из буттон1 на Onchange +)) |
Автор: rnycop 15.2.2006, 14:39 |
Nchanged, Спасибо за исчерпывающий ответ - ща буду пробывать =) |
Автор: Nchanged 15.2.2006, 14:51 |
rnycop: если ниче не выйдет, копируй код сюда, разберемся |
Автор: rnycop 15.2.2006, 16:37 | ||
![]() Расуждение: ![]() в форме1 водим номер 001 он выдает в listbox1 те ТИПЫ которые отфильтровались и нашлись,при нажатии на один из ТИПОВ открывается форма2 ![]() в которой можно работать с самой базой, т.е. вводить данные, удалять, изменять и тд Вообщем вопрос следующий: Как при нажатии на listbox1 (на любой из ТИПов приборов) открывалась form2 с данными выбраного ТИПа прибора... ЗЫ Над этой задачкой думаю уже практически неделю никак не получается =(( Да кстати постаянно вылезает ошибка: ![]() Что она означает?? и Как сней боротся?? Буду ждать ответов! |
Автор: rnycop 15.2.2006, 22:39 |
Albinos_x, спасибо за ответ!!! Кажиться понял как все сделать =) Завтра напшу получилось или нет, а ща спать ушел =) |
Автор: rnycop 18.2.2006, 12:39 |
Все замечательно, все работает =) Появилось еще пару вопросиков =) 1. Сложение дат. Как можно сложить текущюю дату с датой в базе. Например, 18.02.2006 + 24 мес = 18.02.2008, или 18.02.2006 + 3 мес = 18.05.2006 ?? Очень нужно! 2. С какой базой данных лучше работать в среде делфи (Parodox , dBase и т.д.) подскажите пожалуста. 3. Как в базе данных сделать индексированые поля или поле? (bBase) допустем если были выдены изменение или добавление. |
Автор: Guedda 18.2.2006, 13:46 | ||||||||||
Лучше пользоваться такой функцией:
По второй части вопроса: Все, что у тебя написано в Button1.OnClick, перенеси в Edit1.OnChange; Добавлено @ 13:51
1.
2. Смотря для чего. Я бы посоветовал Paradox 3. Среди тех баз, которые ты перечислил, индексировать можно только Paradox |
Автор: Albinos_x 18.2.2006, 14:54 | ||||||||
здесь ошибка, надо так:
первая переменная год(dd), вторая - месяц(mm), третья - день (yyyy) |
Автор: Albinos_x 18.2.2006, 15:09 | ||
и ещё было бы не плохо сделать проверку перез ф-ей EncodeDate.... вот так:
просто ф-я EncodeDate может выдать ошибку при превышении mm - 12 и т.п., точно не знаю, не проверял, но ф-я EncodeTime() выдаёт, поэтому лучше перестраховаться... |
Автор: rnycop 25.2.2006, 16:14 |
БОЛЬШОЕ СПАСИБО ЗА ПОМОЩЬ!!!!! ![]() ![]() ![]() ![]() Если что я в вашем распорежении =)) (чем смогу тем помогу) |