Текущий архив: 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.5 MB
Время: 0.011 c