Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.014 c
2-1146575748
Der Nechk@ssoff
2006-05-02 17:15
2006.05.21
Перехват и скриншот


15-1145896873
HeadHunter
2006-04-24 20:41
2006.05.21
Срочно требуются Delphi developers


15-1145948611
OlegP
2006-04-25 11:03
2006.05.21
Леди анд лжентельмены, это надо отметить!


2-1147014841
AlexanderMS
2006-05-07 19:14
2006.05.21
XP Manifest


8-1131503385
Irinka
2005-11-09 05:29
2006.05.21
Работа с PNG





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский