| 
| 
 | Вопрос # 3 986/ вопрос открыт / | 
 |  Здравствуйте, эксперты!Подскажите, пожалуйста! Есть две таблицы БД. Одна Основная, вторая-подчиненна (например,  в 1-ой поля: ФИО и поле Chislo, а во второй № телефона). Понятно, что номеров может быть много у одного «ФИО».
 Вот вопрос можно ли как-нибудь сделать чтобы  в поле «Chislo» основной таблицы отражалось количество телефонных номеров у определенного «ФИО»?
 Пробовал посмотреть через вычисляемые поля, но не понял как это туда прикрутить.
 Еще конечно можно цикл запустить со счетчиком, но может есть более «красивый» способ….
 Заранее спасибо.
 
|  |   Вопрос задал: Вадим1979 (статус: Посетитель)Вопрос отправлен: 6 апреля 2010, 19:09
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Егор Здравствуйте, Вадим1979!Делается это с помощью запроса SQL:
 
 SELECT Таблица1.ФИО, Count(Таблица2.Телефон) AS [Count-Телефон]
FROM Таблица1 INNER JOIN Таблица2 ON Таблица1.id = Таблица2.id
GROUP BY Таблица1.ФИО;В MS Access проверял, работает. Если что непонятно - спрашивайте в минифоруме.
 
|  | Ответ отправил: Егор (статус: 10-ый класс)Время отправки: 7 апреля 2010, 05:19
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 4; последнее сообщение — 7 апреля 2010, 22:58; участников в обсуждении: 3. 
|   | Вадим1979 (статус: Посетитель), 7 апреля 2010, 20:25 [#1]:Егор, а если не через SQL? У меня AdoTable.
 Там есть решение?
 |  
|   | Егор (статус: 10-ый класс), 7 апреля 2010, 20:33 [#2]:ну, можно использовать ADOQuery вместо ADOTable - разница не слишком велика. не понимаю, чем мой вариант не подходит? я не настаиваю на своём решении, но не понимаю, в чём его недостаток.
 вообще, что изначально нужно было получить?
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | Вадим1979 (статус: Посетитель), 7 апреля 2010, 22:22 [#3]:Вариант хороший, но я в SQL плаваю, по этому пока только ADOTable. Получить нужно примерно следующее:
 На форме DBGrid от Таблица1.
 В DBGrid следующие поля:
 ключ,ФИО,количество тел. номеров.
 Количество тел. номеров берется из связанной (подчиненной) Таблица2 и соответствует числу номеров каждого ФИО.
 Вот и все.
 |  
|   | Вадим К (статус: Академик), 7 апреля 2010, 22:58 [#4]:ну плаваете, и что с этого? ставьте ADOQuery, в свойство sql вписывайте запрос и подключайте в остальном как обычный Table. Всё. Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |