Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Как присвоить значения полю в Таблице ?   Найти похожие ветки 

 
Golik   (2006-05-01 11:41) [0]

Как присвоить значения полю в Таблице ?
есть таблица Access, в которой есть поле (Nom)-номер , этот номер соответствует записи в таблице.
как пронумировать все записи по этому полю ?например  от 1 до 100?


 
alex-drob ©   (2006-05-01 12:44) [1]

update


 
Golik   (2006-05-01 12:55) [2]

что update ?
добавляю новую запись.
полю Nom присваиваю значение Recordcount+1;
но если я вставлю запись между 3 и 4 то номер то буде там 5 .
а мне надо чтоб по на жатию на кнопку все нумеровалось от 1 до Recordcount.


 
alex-drob ©   (2006-05-01 13:03) [3]

Команда UPDATE в SQL изменяет значение поля. Можно после добавления записи переписывать все значения поля Nom.

Может можно и проще, не знаю.

А зачем нужно это поле Num?


 
Golik   (2006-05-01 13:20) [4]

Num это номер записи!


 
alex-drob ©   (2006-05-01 13:24) [5]


> Golik   (01.05.06 13:20) [4]
> Num это номер записи!

Это я прочитал!

Я спрашиваю для чего ты его используешь в программе?


 
Golik   (2006-05-01 13:27) [6]

мне надо чтоб каждая запись нумеровалась.
задание такое.


 
Virgo_Style ©   (2006-05-01 13:30) [7]

Order by, и все будет по порядку


 
Golik   (2006-05-01 13:34) [8]

у меня сортировка по полю Дата Стоит.
так что если я добавил запись между 05.05.05. и 05.06.05,то новой записе присвоится в поле Nom  значение 3. а мен надо чтоб было 2. соответственно
у след.Даты 05.06.05 поле Nom должно ровняться 3.


 
alex-drob ©   (2006-05-01 13:39) [9]

неуверен но можно попробывать после добавления записи
update таблица
set Num=Num+1
where num>номер добавленой записи


 
Virgo_Style ©   (2006-05-01 13:41) [10]

Ну тогда открой с нужной сортировкой, пробеги по датасету и установи везде нужные значения.


 
Golik   (2006-05-01 16:12) [11]

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


 
Virgo_Style ©   (2006-05-01 16:25) [12]

Next
Edit
Post


 
Галинка ©   (2006-05-01 23:52) [13]

А есои это поле просто автоикрементом сделать? Можно ли будет туда вообще что-то впихнуть?


 
Golik   (2006-05-02 13:07) [14]

вот в том то и дело что не впихнеш если приспичит !


 
DiamondShark ©   (2006-05-02 13:40) [15]

Странные очень желания.
В чём глобальный общечеловеческий смысл наличия такого хитровыкрученного поля в таблице?


 
Golik   (2006-05-02 13:44) [16]

таблица содержит записи, которые должны распологатся в хронологическом порядке по Дате.
и если я пропустил какую-либо запись ,то мне надо ее вставить ,соответственно потом номера документов поменять.
а вот как незнаю. делаю
for i:=1 to Recordcount do begin
а  дальше ? не пойму как .


 
Sergey13 ©   (2006-05-02 13:47) [17]

2[16] Golik   (02.05.06 13:44)
Это курсовая?


 
Golik   (2006-05-02 13:48) [18]

да нет.


 
Sergey13 ©   (2006-05-02 13:50) [19]

2[18] Golik   (02.05.06 13:48)
Лаба? Только не говори мне что это на работе дали написать задачу, в которой номера документов меняются случайным образом, в зависимости от того, что ты вспомнил о пропущеной записи.


 
Golik   (2006-05-02 13:52) [20]

нет не наработе.
но номера документов так и меняются если забыл и вставил.


 
DiamondShark ©   (2006-05-02 13:54) [21]


> а  дальше ? не пойму как .

Например, так:
Table1.First;
while not Table1.EOF do
begin
Table1.Edit;
Table1.FieldByName("Nom").Value := Table1.RecNo;
Table1.Post;
Table1.Next
end;

Только это бред.
Если при добавлении строк в таблицу приходится лопатить все записи, значит задача поставлена (или понята ;) ) крайне коряво.

Выкладывай исходную задачу. Никому в здравом уме поля с таким поведением не нужны.


 
Golik   (2006-05-02 14:06) [22]

еще раз обьясняю
поле Nom-числовое,
Дата-Дата
Текст-Текст.
добаляю запись 01.01.01
еще добавляю   02.02.02
потом вспоминаю что пропустил запись с датой  01.02.01
вставляю,но номер то у неё  не 2 а 3. правильно?
нажимаю кнопочку  и вся нумерация исправилась-
1-01.01.01
2-01.02.01
3-02.02.02

так понятно?


 
Sergey13 ©   (2006-05-02 14:18) [23]

2[22] Golik   (02.05.06 14:06)
>так понятно?
Непонятно, зачем хранить порядковый номер? А если ты будешь показывать ТОЛЬКО февральские записи - опять перенумеровывать? За все годы?


 
DiamondShark ©   (2006-05-02 14:30) [24]


> так понятно?

Нет, не понятно.

Если это поле нужно для идентификации записи (первичный ключ), то совершенно по-барабану, какие у него будут числовые значения. И autoincrement для этого специально придумали.
Если же это поле нужно только для красивости отображения, то совершенно незачем его хранить (и постоянно изменять!). А если записей сто тысяч? На каждый чих их все изменять?
Для красивости надо сделать calculated поле и возвращать в нём RecNo.

Так понятно?



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.031 c
8-1134657965
seleman
2005-12-15 17:46
2006.05.21
Вопрос по видео


2-1146895322
Вася567
2006-05-06 10:02
2006.05.21
Работа с Excel в потоке


1-1144913139
pvm
2006-04-13 11:25
2006.05.21
Экспорт из DLL


2-1146654488
De
2006-05-03 15:08
2006.05.21
Как грамотно написать?


15-1145979821
Картинки
2006-04-25 19:43
2006.05.21
Скрин-шоты