Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 28.10.2024 15:18

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: 17.07.2012 12:52 
Не в сети

Зарегистрирован: 14.05.2009 13:49
Сообщения: 7
Есть необходимость в таблицу клиенты вставить фамилию и телефон контакта, который вносился в базу последним.
Выражение в ячейке столбца (select MAX(tblContacts.AddTime) FROM tblContacts WHERE tblMain.ID = tblContacts.ClientID) может выводить дату последнего ввода контакта.
Как вывести фамилию и телефон,чтобы не было несколько строк с одинаковыми клиентами и разными контактами, а только с одним - последним введенным контактом?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17.07.2012 13:39 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
> в таблицу клиенты вставить фамилию и телефон контакта, который вносился в базу последним
А зачем вам это нужно? Что за необходимость?
В подчиненной таблице "Контакты" вы можете отсортировать по поле AddTime и увидите запись, добавленную последней.
Если какие-то сециальные цели, то целесообразно создать отдельный отчет.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17.07.2012 15:12 
Не в сети

Зарегистрирован: 14.05.2009 13:49
Сообщения: 7
Ivan писал(а):
> в таблицу клиенты вставить фамилию и телефон контакта, который вносился в базу последним
А зечем вам это нужно? Что за необходимость?
В подчиненной таблице "Контакты" вы можете отсортировать по поле AddTime и увидите запись, добавленную последней.
Если какие-то сециальные цели, то целесообразно создать отдельный отчет.


Удобно видеть в таблице сразу информацию о контакте ( в данном случае о последнем) и неудобно когда одна компания идет с тремя-четырьмя строчками если контактов 3-4.
Также в таблице удобно видеть последние дела с этой организацией - текущие последние потребности и т.д

Думаю это сделать очень легко - надо найти строчку в контактах где дата внесения максимальная , в этой строчке найти нужную ячейку (с контактом или с работой) и вставить в таблицу клиентов.
Только я не знаю как это сделать правильно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17.07.2012 16:44 
Не в сети

Зарегистрирован: 25.01.2012 11:41
Сообщения: 186
создаете 2 вычисляемых поля

(select Contact from tblContacts where (ClientID = tblMain.ID) and (AddTime = (select MAX(AddTime) as T from tblContacts as T2 where (ClientID = tblMain.ID))))

и по аналогии второе.

Потом в настройке полей таблицы ставите галочку "Панель справа" и выбираете поля (нами созданные). В итоге у вас всегда навиду будут нужные поля.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17.07.2012 16:57 
Не в сети

Зарегистрирован: 14.05.2009 13:49
Сообщения: 7
RMelnyk писал(а):
создаете 2 вычисляемых поля

(select Contact from tblContacts where (ClientID = tblMain.ID) and (AddTime = (select MAX(AddTime) as T from tblContacts as T2 where (ClientID = tblMain.ID))))

и по аналогии второе.

Потом в настройке полей таблицы ставите галочку "Панель справа" и выбираете поля (нами созданные). В итоге у вас всегда навиду будут нужные поля.


Не совсем понял что здесь Т и Т2. Также не понял зачем делать два поля.

Возможно оно будет на виду - но все же в таблице нагляднее плюс проще распечатать эту таблицу с полем в ней чем делать отдельный отчет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17.07.2012 17:04 
Не в сети

Зарегистрирован: 25.01.2012 11:41
Сообщения: 186
Цитата:
Как вывести фамилию и телефон


А это сколько полей? Ну извините, может не правильно выразился, значит так, создаете столько полей сколько вам нужно

По поводу того что такое Т и Т2, если запрос работает корректно, то не обращайте внимания, а если хотите разобраться почему он работет, то это лучьше поизучать SQL/
Цитата:
Возможно оно будет на виду - но все же в таблице нагляднее плюс проще распечатать эту таблицу с полем в ней чем делать отдельный отчет.

А это на ваше усмотрение. По поводу отчета я вобще ничего не говорил, думаю коментарий не по адресу

Надеюсь я вам помог


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17.07.2012 19:10 
Не в сети

Зарегистрирован: 14.05.2009 13:49
Сообщения: 7
RMelnyk писал(а):
Цитата:
Как вывести фамилию и телефон


А это сколько полей? Ну извините, может не правильно выразился, значит так, создаете столько полей сколько вам нужно

По поводу того что такое Т и Т2, если запрос работает корректно, то не обращайте внимания, а если хотите разобраться почему он работет, то это лучьше поизучать SQL/
Цитата:
Возможно оно будет на виду - но все же в таблице нагляднее плюс проще распечатать эту таблицу с полем в ней чем делать отдельный отчет.

А это на ваше усмотрение. По поводу отчета я вобще ничего не говорил, думаю коментарий не по адресу

Надеюсь я вам помог


То что вы ответили это уже помощь!

Попробовал на клиентах - все работает.
Попробовал на другой таблице - база зависла. Буду искать ошибку.

Вам большое спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17.07.2012 19:33 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
> ставите галочку "Панель справа" и выбираете поля (нами созданные)

Вычисляемые поля создавать не обязательно (и перегружать таблицу). Можно сразу в настройках панели справа задать пользовательскую формулу SELECT, вычисляющее нужное значение для текущей записи.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17.07.2012 22:01 
Не в сети

Зарегистрирован: 05.07.2012 16:12
Сообщения: 69
Уважаемый администратор, можно узнать почему игнорируются мои вопросы в других темах? Извиняюсь за флуд.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18.07.2012 10:16 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Отвечать на все ваши вопросы на форуме является правом, но не обязанностью "Простой софт".
Может быть, вам ответит кто-то другой :D

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18.07.2012 17:57 
Не в сети

Зарегистрирован: 05.07.2012 16:12
Сообщения: 69
Другие не так активны на форуме как вы)) Ни сколько не хочу, чтоб на ваше право накладывались удрученностью мои вопросы))


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB