|  25.08.2006, 10:55 | #1 | 
| Участник |   
			
			Помогите плиз. В таблице G/L Account, переименовываю записи, если запустить повторно, то переименовавается только 1 запись IF FIND('-') THEN REPEAT IF "No. 2"<>'' THEN BEGIN No_Temp:="No."; RENAME("No. 2"); "No. 2":=No_Temp; MODIFY(TRUE); END; UNTIL NEXT=0; | 
|  | 
|  25.08.2006, 11:02 | #2 | 
| Участник | 
			
			Вероятно, дело в том, что после переименования записей "сбивается" последовательное их прохождение в порядке первичного ключа.  Заполните лучше временную табличку - копию G/L Account и сделайте цикл по ней, а переименовывайте в настоящей. | 
|  | 
|  25.08.2006, 11:05 | #3 | 
| Участник | 
			
			Большое спасибо, только вот загвозка, никогда не делал временную таблицу, можно пример
		 | 
|  | 
|  25.08.2006, 11:15 | #4 | 
| Участник | 
			
			Да, в общем-то, все проще некуда - у переменной типа Record есть свойство Temporary. Получится таблица с теми же полями, но заполнять вы ее можете чем хотите, не трогая содержимое базы.
		 | 
|  | 
|  25.08.2006, 11:26 | #5 | 
| Участник | 
			
			Наверно сегодня я туплю, ничего не получилось
		 | 
|  | 
|  25.08.2006, 11:33 | #6 | 
| Участник | 
			
			Объявите две переменные, допустим GLAcc и tmpGLAcc - эта временная.  Заполните временную табличку tmpGLAcc записями из GLAcc. Затем организуйте цикл такой, как вы написали, но по таблице tmpGLAcc. В цикле находите соответствующую запись из GLAcc и переименовывайте ее. | 
|  | 
|  25.08.2006, 11:34 | #7 | 
| Участник | 
			
			Ключ надо сменить на другой - чтобы не было ключа в поле который меняется
		 | 
|  | 
|  25.08.2006, 11:34 | #8 | 
| Участник | 
			
			Большое спасибо
		 | 
|  | 
|  25.08.2006, 11:38 | #9 | 
| Участник | |
|  |