Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2008, 14:26   #1
bmb_66
Пользователь
 
Регистрация: 11.12.2007
Сообщений: 39
По умолчанию телефонни справочник

может кто поможет я только начинаюшии в делпи.
не буду всё излогать но приблизительно подскажу если получится уменя.

я хачу использоват 2 таблици Access.
на форме Form1 паставил Edit1, Edit6 (я подробно не приважу всё а именно что мне не удалос делат) и BitBtn1. при клике на BitBtn1 я хачу чтоб если будет заполнен Edit1 из аднои таблици, виводилос информациа в Form5 а заполнив Edit6 из другои таблици виводилос информациа в Form6.

первим сообжением я всё сделал и нормально работает а со вторим у меня ничего не вишла. не дадумиваюс как написать код.
вот и код.
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
DataModule4.ADOQuery1.Active:=false ;
DataModule4.ADOQuery1.Parameters.Pa ramByName('Telefoni').Value:=Edit1. Text;
DataModule4.ADOQuery1.Active:=true;
Form5.ShowModal;

как подсоединит второи код
DataModule4.ADOQuery2.Active:=false ;
DataModule4.ADOQuery2.Parameters.Pa ramByName('Telefonebi').Value:=Edit 6.Text;
DataModule4.ADOQuery2.Active:=true;
Form6.ShowModal;
end;
или мошет всё по другому нада написат.
и ешо одно как можна очишать от записи Edit1 и Edit6 фосле закритиа Form5 и Form6.
procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Edit1.Clear;
ето не работает.

Последний раз редактировалось bmb_66; 23.02.2008 в 14:58.
bmb_66 вне форума Ответить с цитированием
Старый 23.02.2008, 15:31   #2
Snoopy
Форумчанин Подтвердите свой е-майл
 
Аватар для Snoopy
 
Регистрация: 14.01.2008
Сообщений: 163
По умолчанию

Что то я не очень разобрался что именно нужно! Но как я понял!
У Вас одна кнопка и заполнен Edit1 либо Edit6!
Обычным If else
Код:
if Edit1.text<>' ' then
 begin
DataModule4.ADOQuery1.Active:=false;
DataModule4.ADOQuery1.Parameters.ParamByName('Tele foni').Value:=Edit1.Text;
DataModule4.ADOQuery1.Active:=true;
end;
if Edit6.text<>' ' then
begin
DataModule4.ADOQuery2.Active:=false;
DataModule4.ADOQuery2.Parameters.ParamByName('Tele fonebi').Value:=Edit6.Text;
DataModule4.ADOQuery2.Active:=true;
Form6.ShowModal;
end;
Очищать Edit можно примерно так Edit1.text:=' ';
Snoopy вне форума Ответить с цитированием
Старый 23.02.2008, 16:09   #3
bmb_66
Пользователь
 
Регистрация: 11.12.2007
Сообщений: 39
По умолчанию

пробовал не получается.
обясню по сути.
В Access ест две таблици которие не связани.
Для поиска созда ADOQuery1 и ADOQuery2, соответствено на Form5 и Form6 поставил DBGrid1 и DBGrid2.
На Form1 создал Edit1 и Edit6, ешо поставил BitBtn1.
хачу чтоби когда заполнена Edit1 при клике на кнопку виводилос сообшение из однои тамлици (TMosaxleoba) а когда заполнена Edit6 виводилос сообшение из другои тамлици (TOrganizacia).

и ешо при закритии Form1 или Form6 очишалос все Edit.
bmb_66 вне форума Ответить с цитированием
Старый 23.02.2008, 16:39   #4
Snoopy
Форумчанин Подтвердите свой е-майл
 
Аватар для Snoopy
 
Регистрация: 14.01.2008
Сообщений: 163
По умолчанию

Так я тебе и пишу, к примеру у тебя по умолчанию в эдитах пусто.
Первое условие если будет заполнен эдит1
Второе условие если будет заполнен эдит6
Или сразу все вместе! Если эдиты будут заполнены!!
Эдиты очищай Edit1.text:='':
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if Edit1.text<>'' then // если тут чтото есть, то есть не равен  пустоте так //казать, то делать   
 begin   
DataModule4.ADOQuery1.Active:=false;   
DataModule4.ADOQuery1.Parameters.ParamByName('Tele foni').Value:=Edit1.Text;   
DataModule4.ADOQuery1.Active:=true;   
end;   
if Edit6.text<>'' then   
begin   
DataModule4.ADOQuery2.Active:=false;   
DataModule4.ADOQuery2.Parameters.ParamByName('Tele fonebi').Value:=Edit6.Text;   
DataModule4.ADOQuery2.Active:=true;   
Form6.ShowModal;   
end;
end;
И что у тебя не получается???

Последний раз редактировалось Snoopy; 23.02.2008 в 16:51.
Snoopy вне форума Ответить с цитированием
Старый 23.02.2008, 17:29   #5
bmb_66
Пользователь
 
Регистрация: 11.12.2007
Сообщений: 39
По умолчанию

всёравно что то не ладно.
при едит1 запрос работает но не очишается при закритии форми5.
хотя чут поправил код, ато не работало.
begin
DataModule4.ADOQuery1.Active:=false ;
DataModule4.ADOQuery1.Parameters.Pa ramByName('Tele foni').Value:=Edit1.Text;
DataModule4.ADOQuery1.Active:=true;
Form5.ShowModal;
end;

а при едит6 виводит ошибку
Project Project2.exe raised exception class EDatapaseError with message 'ADOQueri2:Parameteр 'Telefonebi' not found'. Process stopped. Use step or run continue.

может если знаеш что то подскажеш.
bmb_66 вне форума Ответить с цитированием
Старый 23.02.2008, 19:10   #6
Snoopy
Форумчанин Подтвердите свой е-майл
 
Аватар для Snoopy
 
Регистрация: 14.01.2008
Сообщений: 163
По умолчанию

А это у тебя уже запрос не верный типа не найден параметр! Посмотри повнимательнее как составлены запросы ADOQueri2, не опечатался где нибудь!
Должно быть чтото типа вот такова Select * From MyTable Where MyField=:Telefonebi; Ну взависимости от тваей таблицы и от воего запроса!!

Последний раз редактировалось Snoopy; 23.02.2008 в 19:23.
Snoopy вне форума Ответить с цитированием
Старый 24.02.2008, 13:40   #7
bmb_66
Пользователь
 
Регистрация: 11.12.2007
Сообщений: 39
По умолчанию

спасиба Snoopy ????
испаравил запрос и всё работает, но одно но.
при клике кнопки виводится обе форми Form5 и Form6.

и ежо написал код как ти подсказал примерно так
procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Edit1.Text:='';
end;
но Edit1 не хочет очишатся.
надеюс на тебя и на других на подсказку????
заранее благодарен!
bmb_66 вне форума Ответить с цитированием
Старый 24.02.2008, 16:34   #8
Snoopy
Форумчанин Подтвердите свой е-майл
 
Аватар для Snoopy
 
Регистрация: 14.01.2008
Сообщений: 163
По умолчанию

Цитата:
при клике кнопки виводится обе форми Form5 и Form6.
Значит они не пустые может там пробел какой нибудь есть! Убери
или напиши чтото типа такова
Код:
if (Form1.Edit1.text<>'') or (Form1.Edit1.text<>' ') then
.....
Цитата:
но Edit1 не хочет очишатся.
Form1.Edit1.Text:=''; и Form1.Edit1.Clear; абсолютно рабочие!
Snoopy вне форума Ответить с цитированием
Старый 25.02.2008, 12:11   #9
bmb_66
Пользователь
 
Регистрация: 11.12.2007
Сообщений: 39
По умолчанию

спасиба за всё. пачти что и сам дадумался но у меня по другому
if (Form1.Edit1.text<>'') and (Form1.Edit6.text=' ') then

а код
procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Edit1.Text:='';
end;
ни как не хочет работат, что то придумаю наверна.
bmb_66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Электронный Справочник Killbrum Софт 14 15.10.2017 20:44
Телефонный справочник на TC Qai Фриланс 5 25.05.2008 01:02
справочник по Api функциям serg131 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 22.05.2008 04:54
справочник по прерываниям serres Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 22.12.2007 16:17
справочник bill Помощь студентам 3 22.05.2007 16:03