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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.02.2006, 08:20
Gerik Gerik вне форума
Прохожий
 
Регистрация: 21.02.2006
Сообщения: 3
Репутация: 10
По умолчанию Вычисляемые поля Тable

Уважаемые подскажите как создать вычисляемой поле в таблице , для нумерации строк. Поля создал, новот с кодом программы проблема ,
Назначение поля:- производит нумерацию при фильтрации и при показе полной базе данных.
Ответить с цитированием
  #2  
Старый 22.02.2006, 00:54
Аватар для Ross
Ross Ross вне форума
Активный
 
Регистрация: 15.10.2005
Адрес: Казань
Сообщения: 250
Репутация: 30
Вопрос Вопрос

Т.е. как я понял - ты хочешь при создании записи в таблице оно тут же индексировалось? Поясни точнее...
Ответить с цитированием
  #3  
Старый 22.02.2006, 15:38
Gerik Gerik вне форума
Прохожий
 
Регистрация: 21.02.2006
Сообщения: 3
Репутация: 10
По умолчанию

Спасибо , за то что откликнулся. Обьясняю , но во первых я не просто начинающий, а самоучащийся. Создал программу по изготовлению документов и учету клиентов по весовому оборудованию, т.к. являюсь
на данный момент инженером по электронному ВО.Так вот чтобы мне хотелось. В базе данных в таблице DBGrid я хотел бы чтобы было видно количество клиентов. Отчет в RAWE нумерация идет нормально, но я понимаю что- может это и извращение заставить DBGrid заставить нумеровать одно вычисляемое поле так как в режиме калькуляции много событий которые должны учитываться. Но как говориться хорошо жить не запретиш. Так вот основное хотелось бы чтобы, нумерация в таблице происходила бы автоматически и грубо говоря, чтобы было видно количество, клиентов при создании таблицы, а также при проведении фильтрации или сортировки. Пытался кое-что делать. вводить переменную, но процесс идет по нарастающей. В связи с этим прошу,
подсказать возможно ли это с учетом всех требований. За желание оказать помощь спасибо. Ершов Геннадий. Видел твой сайт, скачал кое-что надеюсь мне поможет. Мои координаты. www.gerik.pochta.ru
e-mail. gerik@pochta.ru г.Ярославль. Образумь, если это не возможно или сложно. Чтобы пропало стремление, так как где-то я читал что " "юзеры" по данному вопросу сходят с ума". На счет твоего вопроса-ДА.

Последний раз редактировалось Gerik, 22.02.2006 в 15:41.
Ответить с цитированием
  #4  
Старый 22.02.2006, 20:35
Аватар для Ross
Ross Ross вне форума
Активный
 
Регистрация: 15.10.2005
Адрес: Казань
Сообщения: 250
Репутация: 30
Радость

Нда, я понял, что ты хочешь. Это из разряда головных болей. Но всё же есть решение и этой проблемы. Сам я готового решения тебе не дам, но покажу - где есть ответы:
Вот статьи из www.Delphiworld.narod.ru по этой теме:

Создание autoincrement поля - http://delphiworld.narod.ru/base/cre...ent_field.html
Работа с автоинкрементальными (AutoInc) полями - http://delphiworld.narod.ru/base/use...nc_fields.html
Создание уникального поля - http://delphiworld.narod.ru/base/cre...que_field.html
Создание уникального поля 2 - http://delphiworld.narod.ru/base/cre...ue_field2.html

А, так и я тоже самоучка.
Ответить с цитированием
  #5  
Старый 26.02.2006, 08:31
Gerik Gerik вне форума
Прохожий
 
Регистрация: 21.02.2006
Сообщения: 3
Репутация: 10
По умолчанию

Спасибо и за это, буду биться дальше.
Ответить с цитированием
  #6  
Старый 12.04.2007, 21:12
YAD YAD вне форума
Прохожий
 
Регистрация: 12.04.2007
Сообщения: 5
Репутация: 10
По умолчанию

Извените пожалуйста, но можно прокоментировать кодом вот эти слова "Решение: измените тип поля с + на N, установите минимальное значение и восстановите тип поля на +.". Кака это сделать???
Ответить с цитированием
  #7  
Старый 13.04.2007, 00:06
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Господа! Ну примите Вы наконец теорию. Базы данных - суть множества. А в теории множеств нет понятия "порядковый номер". Поэтому эти вопросы решайте на момент бумажных отчетов. А для "количества клиентов" есть COUNT
Ответить с цитированием
  #8  
Старый 14.04.2007, 13:46
YAD YAD вне форума
Прохожий
 
Регистрация: 12.04.2007
Сообщения: 5
Репутация: 10
По умолчанию

Попытаюсь объяснить свою проблему...
Мне нужно из нескольких таблиц с полями типа "+" перекинуть все записи в промежуточную таблицу (в которой тоже есть поле "+" но понятное дело его значения не соответствуют тем что были в исходных таблицах). Затем нужно из промежуточной извлечь некоторые, не все записи одной из исходных таблиц. Тоесть в выходную таблицу нужно записать строки к примеру с номерами 2, 4, 6. Как в этой выходной таблице "присвоит" полю типа "+" эти значения?? Или вобщем мне поможет просто сброс этого щетчика до начального значения???
Помогите пожалуйста!!

Последний раз редактировалось YAD, 14.04.2007 в 14:18.
Ответить с цитированием
  #9  
Старый 21.04.2007, 13:26
ilang ilang вне форума
Новичок
 
Регистрация: 11.12.2006
Сообщения: 68
Репутация: 10
По умолчанию

Автоинкрементые поля (+, как ты их называешь) существуют именно для того, чтобы однозначно определить запись. И менять их невозможно. Да и незачем.

Создай новое поле в промежуточной таблице типа integer и пиши туда значение автоинкрементного поля соответствующей записи исходной таблицы. И потом извлекай по этому дополнительному полю. А автоинкрементное поле промежуточной таблицы не трогай. Забудь о нем вообще. )
Ответить с цитированием
  #10  
Старый 21.04.2007, 18:30
YAD YAD вне форума
Прохожий
 
Регистрация: 12.04.2007
Сообщения: 5
Репутация: 10
По умолчанию

Спасибо за решение, до меня чето не дошло что тип поля большой роли при считывание не играет)
Я решил проблему так сказать "в лоб". Исходная таблица динамически создается, при этом значение автоинкриментного поля равно 0, а потом добовление-удалением пустых строк дохожу до нужного идекса и вписываю строку. Тоже работает)
И всеже мне интересно как изменить тип поля в ходе выполнения программы??
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter