|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Вычисляемые поля Тable
Уважаемые подскажите как создать вычисляемой поле в таблице , для нумерации строк. Поля создал, новот с кодом программы проблема ,
Назначение поля:- производит нумерацию при фильтрации и при показе полной базе данных. |
#2
|
||||
|
||||
Вопрос
Т.е. как я понял - ты хочешь при создании записи в таблице оно тут же индексировалось? Поясни точнее...
|
#3
|
|||
|
|||
Спасибо , за то что откликнулся. Обьясняю , но во первых я не просто начинающий, а самоучащийся. Создал программу по изготовлению документов и учету клиентов по весовому оборудованию, т.к. являюсь
на данный момент инженером по электронному ВО.Так вот чтобы мне хотелось. В базе данных в таблице DBGrid я хотел бы чтобы было видно количество клиентов. Отчет в RAWE нумерация идет нормально, но я понимаю что- может это и извращение заставить DBGrid заставить нумеровать одно вычисляемое поле так как в режиме калькуляции много событий которые должны учитываться. Но как говориться хорошо жить не запретиш. Так вот основное хотелось бы чтобы, нумерация в таблице происходила бы автоматически и грубо говоря, чтобы было видно количество, клиентов при создании таблицы, а также при проведении фильтрации или сортировки. Пытался кое-что делать. вводить переменную, но процесс идет по нарастающей. В связи с этим прошу, подсказать возможно ли это с учетом всех требований. За желание оказать помощь спасибо. Ершов Геннадий. Видел твой сайт, скачал кое-что надеюсь мне поможет. Мои координаты. www.gerik.pochta.ru e-mail. gerik@pochta.ru г.Ярославль. Образумь, если это не возможно или сложно. Чтобы пропало стремление, так как где-то я читал что " "юзеры" по данному вопросу сходят с ума". На счет твоего вопроса-ДА. Последний раз редактировалось Gerik, 22.02.2006 в 15:41. |
#4
|
||||
|
||||
Нда, я понял, что ты хочешь. Это из разряда головных болей. Но всё же есть решение и этой проблемы. Сам я готового решения тебе не дам, но покажу - где есть ответы:
Вот статьи из 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
|
|||
|
|||
Спасибо и за это, буду биться дальше.
|
#6
|
|||
|
|||
Извените пожалуйста, но можно прокоментировать кодом вот эти слова "Решение: измените тип поля с + на N, установите минимальное значение и восстановите тип поля на +.". Кака это сделать???
|
#7
|
||||
|
||||
Господа! Ну примите Вы наконец теорию. Базы данных - суть множества. А в теории множеств нет понятия "порядковый номер". Поэтому эти вопросы решайте на момент бумажных отчетов. А для "количества клиентов" есть COUNT
|
#8
|
|||
|
|||
Попытаюсь объяснить свою проблему...
Мне нужно из нескольких таблиц с полями типа "+" перекинуть все записи в промежуточную таблицу (в которой тоже есть поле "+" но понятное дело его значения не соответствуют тем что были в исходных таблицах). Затем нужно из промежуточной извлечь некоторые, не все записи одной из исходных таблиц. Тоесть в выходную таблицу нужно записать строки к примеру с номерами 2, 4, 6. Как в этой выходной таблице "присвоит" полю типа "+" эти значения?? Или вобщем мне поможет просто сброс этого щетчика до начального значения??? Помогите пожалуйста!! Последний раз редактировалось YAD, 14.04.2007 в 14:18. |
#9
|
|||
|
|||
Автоинкрементые поля (+, как ты их называешь) существуют именно для того, чтобы однозначно определить запись. И менять их невозможно. Да и незачем.
Создай новое поле в промежуточной таблице типа integer и пиши туда значение автоинкрементного поля соответствующей записи исходной таблицы. И потом извлекай по этому дополнительному полю. А автоинкрементное поле промежуточной таблицы не трогай. Забудь о нем вообще. ) |
#10
|
|||
|
|||
Спасибо за решение, до меня чето не дошло что тип поля большой роли при считывание не играет)
Я решил проблему так сказать "в лоб". Исходная таблица динамически создается, при этом значение автоинкриментного поля равно 0, а потом добовление-удалением пустых строк дохожу до нужного идекса и вписываю строку. Тоже работает) И всеже мне интересно как изменить тип поля в ходе выполнения программы?? |