Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.02.2007, 10:37
novv75 novv75 вне форума
Прохожий
 
Регистрация: 02.02.2007
Сообщения: 23
Репутация: 10
Восклицание Соединение двух баз данных

Здравствуйте!
Проблема такая нужно соединить две базы данных Dbase по полям
в первой таблице тип поля С - 5 во второй С-11, то есть на не точное соответствие
пример запись в поле первой таблицы "холод" во второй "холодильник"
Заранее благодарен !!!
Ответить с цитированием
  #2  
Старый 02.02.2007, 19:42
DeZik DeZik вне форума
Прохожий
 
Регистрация: 30.01.2007
Сообщения: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от novv75
Здравствуйте!
Проблема такая нужно соединить две базы данных Dbase по полям
в первой таблице тип поля С - 5 во второй С-11, то есть на не точное соответствие
пример запись в поле первой таблицы "холод" во второй "холодильник"
Заранее благодарен !!!

ну ты при соединении проверяй в поле c-11 наличие совпадений в поле c-5.
Ответить с цитированием
  #3  
Старый 05.02.2007, 10:21
novv75 novv75 вне форума
Прохожий
 
Регистрация: 02.02.2007
Сообщения: 23
Репутация: 10
По умолчанию

теория понятна, а практика?
Ответить с цитированием
  #4  
Старый 06.02.2007, 11:06
Holy Holy вне форума
Новичок
 
Регистрация: 31.07.2006
Сообщения: 55
Репутация: 10
По умолчанию

Подключи две базы. Из каждой запросом выбери интересующие таблицы. Пробеги по наборам и подсвети в гриде те записи, которые похожи. Дай пользователю принять решение (сформируй финальный набор данных). А дальше либо создай новую базу и занеси в нее полученные записи.
Если есть трудности с каким то из этапов, давай конкретнее.
Ответить с цитированием
  #5  
Старый 06.02.2007, 15:31
novv75 novv75 вне форума
Прохожий
 
Регистрация: 02.02.2007
Сообщения: 23
Репутация: 10
По умолчанию

Обьясни как "пробежать и подсветить".
Мне нужно чтобы в первой сетке стояли записи с первой таблицы, а во второй сетки соответствующие записи со второй таблицы.например
10001 - в первой сетке
10001001,10001002,10001003 и т.д.из второй таблицы во второй сетке
при изменении курсора в первой таблице соответственно менялась запись и во второй
т.е 10002 - в первой сетке
10002001,10002002,10002003 и т.д. из второй таблицы во второй.
Ответить с цитированием
  #6  
Старый 06.02.2007, 16:03
Holy Holy вне форума
Новичок
 
Регистрация: 31.07.2006
Сообщения: 55
Репутация: 10
По умолчанию

Например, при смене текущей записи делаем так:
Код:
ClientDataSet2.Filter := 'Name = ''' + ClientDataSet1.FieldByName('Name').AsString + '*''';
ClientDataSet2.Filtered := True;

В ClientDataSet1 выбираем данные из первой таблицы (10001, 10002 и т.д.)
В ClientDataSet2 выбираем данные из второй таблицы (10001000001, 10001000002, 10002000001 и т.д.)
Ответить с цитированием
  #7  
Старый 07.02.2007, 09:20
novv75 novv75 вне форума
Прохожий
 
Регистрация: 02.02.2007
Сообщения: 23
Репутация: 10
По умолчанию

А можно ли это сделать через TTable?
Ответить с цитированием
  #8  
Старый 07.02.2007, 09:42
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Можно, TTable тож наследник TDataSet
Ответить с цитированием
  #9  
Старый 13.02.2007, 08:14
novv75 novv75 вне форума
Прохожий
 
Регистрация: 02.02.2007
Сообщения: 23
Репутация: 10
По умолчанию

Привет Holy! Где нужно написать указанный код ?
Ответить с цитированием
  #10  
Старый 13.02.2007, 09:50
dron-s dron-s вне форума
Прохожий
 
Регистрация: 08.02.2007
Сообщения: 44
Репутация: 10
По умолчанию

Цитата:
Где нужно написать указанный код ?
ну если хочешь, можешь на него просто посмотреть
Ответить с цитированием
  #11  
Старый 13.02.2007, 10:15
Holy Holy вне форума
Новичок
 
Регистрация: 31.07.2006
Сообщения: 55
Репутация: 10
По умолчанию

Например, если использовать компонент TcxGrid от Developer Express Inc, то на событие OnFocusedRecordChanged.
Ответить с цитированием
  #12  
Старый 13.02.2007, 13:46
novv75 novv75 вне форума
Прохожий
 
Регистрация: 02.02.2007
Сообщения: 23
Репутация: 10
По умолчанию

А через обыкновенную кнопку или в момент открытия запроса можно?
Ответить с цитированием
  #13  
Старый 13.02.2007, 15:56
dron-s dron-s вне форума
Прохожий
 
Регистрация: 08.02.2007
Сообщения: 44
Репутация: 10
По умолчанию

Цитата:
А через обыкновенную кнопку или в момент открытия запроса можно?
ну а если сначала попробывать а потом спрашивать?
конечно можно, в чём проблемы то?
только в случае как предложил Holy будет выполнятся дейчтвие как сетка получает фокус записи, а если на батон код бросить, то выполнятся будет ТОЛЬКО тогда, когда будешь тыкать батон
Ответить с цитированием
  #14  
Старый 13.02.2007, 16:47
novv75 novv75 вне форума
Прохожий
 
Регистрация: 02.02.2007
Сообщения: 23
Репутация: 10
По умолчанию

Выдает ошибку при вводе кода Holy
[Error] Unit1.pas(136): Statement expected, but expression of type 'Boolean' found
Помогите!!!
Ответить с цитированием
  #15  
Старый 13.02.2007, 17:26
dron-s dron-s вне форума
Прохожий
 
Регистрация: 08.02.2007
Сообщения: 44
Репутация: 10
По умолчанию

Ошибка: тип Логический не определён
показывай структуру таблицы!!!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:31.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter