Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.21;
Скачать: CL | DM;

Вниз

связь между ячейками в простой БД   Найти похожие ветки 

 
AndrewEA   (2006-12-29 18:07) [0]

я сделал в дестоп тулс 5 таблиц (paradox7), добавил их в приложение. но мне надо сделать так, чтобы при добавлении информации в ячейку ,например, ФИО таблицы 1, тоже самое появилось в таблице 2 под ФИО. как это можно осуществить?
п.с. опыта у меня очень мало
работаю с делфи 2005 (9).


 
Anatoly Podgoretsky ©   (2006-12-29 18:11) [1]

>   ()  []

Это нарушение нормальной формы, просто сделай связь по ИД


 
Sergey13 ©   (2006-12-29 18:22) [2]

> [0] AndrewEA   (29.12.06 18:07)

Отсутствие опыта иногда компенсируется чтением тематической литературы.


 
Ученик чародея ©   (2006-12-29 19:32) [3]


> AndrewEA   (29.12.06 18:07)


Можно через триггер, но это в указанном случае [0] изврат и путь с страшным глюкам.

Используй Firebird или FBEmbeded, заодно про нормальные формы и реляционную алгебру прочитаешь.

Например, это
http://www.intuit.ru/department/database/sqlmdintro/
http://www.intuit.ru/department/database/rdbintro/
http://www.intuit.ru/department/database/sql/


 
Плохиш ©   (2006-12-29 20:50) [4]


> AndrewEA   (29.12.06 18:07)  
> я сделал в дестоп тулс 5 таблиц (paradox7), добавил их в
> приложение. но мне надо сделать так, чтобы при добавлении
> информации в ячейку ,например, ФИО таблицы 1, тоже самое
> появилось в таблице 2 под ФИО. как это можно осуществить?

По тому, что здесь написано, нужно в OnAfterPost таблицы 1 сделать добавление в таблицу 2.


 
Ученик чародея ©   (2006-12-30 00:54) [5]


> Плохиш ©   (29.12.06 20:50) [4]
>
>
> > AndrewEA   (29.12.06 18:07)  
> > я сделал в дестоп тулс 5 таблиц (paradox7), добавил их
> в
> > приложение. но мне надо сделать так, чтобы при добавлении
> > информации в ячейку ,например, ФИО таблицы 1, тоже самое
> > появилось в таблице 2 под ФИО. как это можно осуществить?
>
>
> По тому, что здесь написано, нужно в OnAfterPost таблицы
> 1 сделать добавление в таблицу 2.


Не учи плохому, этому его еще Фленов с Архангельским научат.


 
AndrewEA   (2006-12-30 14:57) [6]

что означает "сделай связь по ИД"?


 
AndrewEA   (2006-12-30 15:03) [7]

вот что я понаписал.
Table2Fio.Value:=table3fio.Value; - такая байда не работает, пишет, что другая таблица не находится в режиме редактирования.
тут в принципе код только по выбору нужной таблицы.
procedure TForm1.FormCreate(Sender: TObject);
begin
table1.Active:=true;
table2.Active:=true;
table3.Active:=true;
table4.Active:=true;
table5.Active:=true;

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
table1.Active:=false;
table2.Active:=false;
table3.Active:=false;
table4.Active:=false;
table5.Active:=false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if ComboBox1.Text="1" then  begin
DBGrid1.DataSource:=DataSource1; label1.Caption:="Каталог автомобилей салона";
dbnavigator1.DataSource:=DataSource1; end;

if ComboBox1.Text="2" then   begin
DBGrid1.DataSource:=DataSource2; label1.Caption:="Клиенты салона";dbnavigator1.DataSource:=DataSource2;end;

if ComboBox1.Text="3" then  begin
DBGrid1.DataSource:=DataSource3; label1.Caption:="Заказы клиентов";dbnavigator1.DataSource:=DataSource3;end;

if ComboBox1.Text="4" then   begin
DBGrid1.DataSource:=DataSource4; label1.Caption:="Заказы заводам";dbnavigator1.DataSource:=DataSource4; end;

if ComboBox1.Text="5" then   begin
DBGrid1.DataSource:=DataSource5; label1.Caption:="Заводы";dbnavigator1.DataSource:=DataSource5; end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
{Table2Fio.Value:=table3fio.Value; }
end;

end.


 
Плохиш ©   (2006-12-30 16:25) [8]


> AndrewEA   (30.12.06 15:03) [7]

Какое отношение это всё имеет к > AndrewEA   (29.12.06 18:07)  ?

> Ученик чародея ©   (30.12.06 00:54) [5]

Не говори, что я должен делать...


 
MsGuns ©   (2006-12-31 13:38) [9]

>Ученик чародея ©   (29.12.06 19:32) [3]
>Можно через триггер, но это в указанном случае [0] изврат и путь с страшным глюкам.

В парадоксе есть триггеры ?

>Используй Firebird или FBEmbeded, заодно про нормальные формы и реляционную алгебру прочитаешь.

Знаешь анекдот, как один дедуган советовал всем заполучать геморрой, ибо у него есть прекрасный рецепт изготовления свечей ?


 
Anatoly Podgoretsky ©   (2006-12-31 15:58) [10]

AndrewEA   (30.12.06 14:57) [6]
Каждая таблица должна иметь первичный ключ, часто его называют ИД. По данному ключу запись однозначно идентифицируется и связывается.

Если хочешь как то еще быть живым с Парадокс, то забудь про Table делай все через SQL и в таблицах только один индекс - первичный ключ. Возможно тогда тебе еще повезет, но сомнительно, если приложение сетевое.

Если есть возможность, то уйти на SQL сервер


 
AndrewEA   (2006-12-31 20:22) [11]

база локальная. надо сделать к экзамену, блин


 
Megabyte ©   (2006-12-31 20:56) [12]

Используй Аксесс.


 
Megabyte ©   (2006-12-31 20:56) [13]

Используй Аксесс.


 
Ученик чародея ©   (2006-12-31 22:46) [14]


> MsGuns ©   (31.12.06 13:38) [9]
> >Используй Firebird или FBEmbeded, заодно про нормальные
> формы и реляционную алгебру прочитаешь.
>
> Знаешь анекдот, как один дедуган советовал всем заполучать
> геморрой, ибо у него есть прекрасный рецепт изготовления
> свечей ?


Реляционные базы это больший геморрой по сравнению с Paradox. Если бы еще dbf с компонентами прямого доступа в обход BDE - это еще рабочий вариант, а работа с Paradox в 2007 году - это секс в гамаке стоя.


 
Ученик чародея ©   (2006-12-31 22:53) [15]


> Megabyte ©   (31.12.06 20:56) [12]
>
> Используй Аксесс.


Можно, но множество проблем типа неиспользование места удаленных записей (при удаленни записи помечаются как удаленные и приходится "сжимать" базу) FBEmbeded намного удобнее, тем более можно использовать компоненты доступа TIBTable - для начинающего только изучать базы самое оно, так как SQL автор вроде бы еще не знает.


 
MsGuns ©   (2007-01-01 01:03) [16]

>Ученик чародея ©

В честь Нового Года промолчу, но лучше б ты тоже промолчал ;)))


 
sniknik ©   (2007-01-01 16:48) [17]

> но множество проблем типа неиспользование места удаленных записей (при удаленни записи помечаются
> как удаленные и приходится "сжимать" базу)
и все множество проблем судя по всему надуманные, к реальности отношения не имеющие, как и неиспользование места после удаленных записей. оно используется, и "сжимать" базу в общем нет необходимости, а уж делать это часто точно не нужно (в принципе вообще можно не сжимать... разве что если юзеру захочется посмотреть на реальный размер базы, без рабочего пространства/полупустых страниц. либо при переносе/пересылке куданибудь).

> тем более можно использовать компоненты доступа TIBTable
для аксесс тоже можно использовать TADOTable... в принципе, но это ОЧЕНЬ НЕ РЕКОМЕНДУЕТСЯ..., и дело даже не в том что компонент неправильно работает, а в том что навязывается неправильная логика работы с клиент сервером, причем в самом начале обучения когда формируются начальные навыки.
и кстати jet (провайдер для аксесс) это единственный провайдер который поддерживает работу в режиме файл сервера, т.е. это фактически единственный случай когда настройками можно и TADOTable заставить адекватно работать... только смысл? это же частный случай. лучше всетаки учится по правилам и после разобрать исключение, чем изучать исключение и после сказать что больше такого нигде нет...

IB/FB/TIBTable  даже таким исключением не является, всегда работает по принципу клиент сервера. (т.е. я бы тоже ОЧЕНЬ НЕ РЕКОМЕНДОВАЛ использовать)

p.s. единственным значимым недостатком/проблемой в аксесс является ограничение на размер базы в 2гб. но и это документированное ограничение т.что прямо проблемой назвать нельзя. (будет ли тупик на дороге куда вы заехали проблемой? если по всей дороге стояли знаки "там тупик, поворот на объезд в другую сторону". очевидно будет, но не для всех ...;)


 
Anatoly Podgoretsky ©   (2007-01-01 17:01) [18]

> sniknik  (01.01.2007 16:48:17)  [17]

> единственным значимым недостатком/проблемой в аксесс является ограничение на размер базы в 2гб. но и это документированное ограничение

Которое решается согласно рекомендации Микрософт - использовать бесплатный MS SQL - тогда размер базы ограничивается 2/4 гб, но количество баз может быть 12 * 12 экземпляров MS SQL

При том Микрософт настоятельно рекомендует такое использование даже для родного Акцесс и ФоксПро


 
Ученик чародея ©   (2007-01-01 20:01) [19]


> Ученик чародея ©   (31.12.06 22:46) [14]
>
> Реляционные базы это больший геморрой по сравнению с Paradox.
>  


Ну это читать так

Реляционные базы - это больший геморрой чем Paradox???

Пьян был немного.


 
Anatoly Podgoretsky ©   (2007-01-01 20:10) [20]

> Ученик чародея  (01.01.2007 20:01:19)  [19]

Парадокс это реляционная база


 
palva ©   (2007-01-01 20:31) [21]

Ученик чародея ©   (31.12.06 22:46) [14]
> а работа с Paradox в 2007 году - это секс в гамаке стоя.
Не говорите так. Все захотят попробовать. А претензии будут к вам.


 
Ученик чародея ©   (2007-01-01 22:09) [22]


> palva ©   (01.01.07 20:31) [21]
>
> Ученик чародея ©   (31.12.06 22:46) [14]
> > а работа с Paradox в 2007 году - это секс в гамаке стоя.
>
> Не говорите так. Все захотят попробовать. А претензии будут
> к вам.


Что попробовать? Секс в гамаке стоя или Paradox?



Страницы: 1 вся ветка

Текущий архив: 2007.01.21;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.029 c
2-1167944280
bolt
2007-01-04 23:58
2007.01.21
Программно выполнить DBCLICK?


15-1167503328
Pazitron_Brain
2006-12-30 21:28
2007.01.21
Побрился первый раз!


15-1167780991
Ringo
2007-01-03 02:36
2007.01.21
2007 год. Ваш прогноз для России и всех остальных?


15-1165937364
GrayFace
2006-12-12 18:29
2007.01.21
Версии Delphi. А также вопрос к тем, у кого Delphi более, чем 7


2-1167831429
AlexanderMS
2007-01-03 16:37
2007.01.21
Спеллер Word а для нужд программы.