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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.03.2010, 03:17
tela tela вне форума
Прохожий
 
Регистрация: 17.10.2009
Сообщения: 8
Репутация: 10
По умолчанию Связанные таблицы

Всем доброй ночи! Помогите пожалуйста новичку решить проблему. Проблема следующая: пытаюсь связать две таблицы с помощью query но неполучается. сам запрос следующий:
select *
from CKBI,telephone
where keylink=key1

Связь в таблицах вообще отсутствует, тоесть таблица с ключевым полем keylink выдает абсолютно все игнорируя условие. Может я что не так делаю? Пожалуйста помогите, заранее благодарен!
Ответить с цитированием
  #2  
Старый 12.03.2010, 05:53
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Какие поля в этих таблицах? (название, тип)
Почему они не связаны? Обычно одно поле присутствует в обеих таблицах (хоть и может называться по-разному).
Ответить с цитированием
  #3  
Старый 12.03.2010, 10:56
tela tela вне форума
Прохожий
 
Регистрация: 17.10.2009
Сообщения: 8
Репутация: 10
По умолчанию

типы полей следующие:
В таблице CKBI следующие поля: key1(счетчик,ключ.поле), name(строка),surn(строка),patr(строка),num_pos(стр ока),date(дата),pos(строка),vzv(число),pid(число)
В таблице telephone следующие поля:key_tlf(счетчик, ключ.поле),keylink(число),dom(строка),mob(строка), rab(строка)
keylink- числовое поле в таблице telephone
key1- счетчик, ключевое поле в таблице CKBI
По идее tlfquery(в котором прописан сам запрос) должен фильтровать данные полей mob,dom,rab
Почему не связываются, сам не пойму, компилятор никаких ошибок не выдает, он просто вроде как игнорирует запись (показывает все поля таблицы telephone не зависимо от выбраной строки CKBI)

where keylink=key1

причем пробовал уже и полностью прописывать имя типа:

where telephone.keylink=CKBI.key1

База данных - Access(с паролем)
Ответить с цитированием
  #4  
Старый 12.03.2010, 11:59
tela tela вне форума
Прохожий
 
Регистрация: 17.10.2009
Сообщения: 8
Репутация: 10
По умолчанию

СУБД следующая:


CKBI.mdb-connection->

CKBIquery(SQL=Select * from CKBI)->CKBIsource (DataSet= CKBIquery)

tlfquery('DataSource=CKBISource',SQL=select * from telephone,CKBI WHERE telephone.keylink like CKBI.key1)->tlfsource('DataSet=tlfquery')
Ответить с цитированием
  #5  
Старый 12.03.2010, 12:09
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

пробуй
Код:
select * from telephone WHERE keylink = :key1
Ответить с цитированием
  #6  
Старый 12.03.2010, 12:27
tela tela вне форума
Прохожий
 
Регистрация: 17.10.2009
Сообщения: 8
Репутация: 10
По умолчанию

При активации query выдает ошибку "Неправильно определен обьект Parametr. Предоставлены несовместимые или неполные сведения"
Ответить с цитированием
  #7  
Старый 12.03.2010, 12:33
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Странно.
Я надеюсь, ты сначала CKBIquery.Open делаешь, а потом tlfquery.Open ?
Ответить с цитированием
  #8  
Старый 12.03.2010, 12:55
tela tela вне форума
Прохожий
 
Регистрация: 17.10.2009
Сообщения: 8
Репутация: 10
По умолчанию

Код HTML:
Странно. Я надеюсь, ты сначала CKBIquery.Open делаешь, а потом tlfquery.Open ?
Тоесть?
Ответить с цитированием
  #9  
Старый 12.03.2010, 12:58
tela tela вне форума
Прохожий
 
Регистрация: 17.10.2009
Сообщения: 8
Репутация: 10
По умолчанию

Код HTML:
Странно. Я надеюсь, ты сначала CKBIquery.Open делаешь, а потом tlfquery.Open ?
Тоесть?
Ответить с цитированием
  #10  
Старый 12.03.2010, 13:06
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Тоесть сначала надо открыть CKBIquery, а потом открыть tlfquery, и именно открыть а не выполнить. Что тут непонятного?
Ответить с цитированием
  #11  
Старый 12.03.2010, 13:21
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Вы вроде несколько не то предлагаете. У него две таблицы в запросе не связываются.
Код:
select *
from CKBI,telephone
where keylink=key1
Попробуйте так:
Код:
select * from CKBI
inner join telephone on keylink=key1
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #12  
Старый 12.03.2010, 13:57
tela tela вне форума
Прохожий
 
Регистрация: 17.10.2009
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Вы вроде несколько не то предлагаете. У него две таблицы в запросе не связываются.
Код:
select *
from CKBI,telephone
where keylink=key1
Попробуйте так:
Код:
select * from CKBI
inner join telephone on keylink=key1

Выдает ошибку при активации query "Не поддерживается выражение обьединения"
Ответить с цитированием
  #13  
Старый 13.03.2010, 00:36
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

У меня есть подозрение, что проблема в запрещенных именах полей. Поля Name и Date являются вроде зарезервированными в Акцесе. Попробуйте переименовать их.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter