Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / добавление строки в середину таблицы / 24 сообщений из 24, страница 1 из 1
10.12.2012, 13:26
    #38072361
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
можно ли добавить в середину таблицы новую запись? скажем между 12-й и 13-й записями новую добавить? через меню фокспро или на крайний случай программно
...
Рейтинг: 0 / 0
10.12.2012, 13:30
    #38072371
ArgonS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989,

да можно

ЗЫ: желаете подробностей, пишите развернутый вопрос с приведенным примером таблицы
...
Рейтинг: 0 / 0
10.12.2012, 13:37
    #38072385
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
ArgonS, между второй и третьей записью нужно вставить новую запись. Таблицу прикрепляю.
...
Рейтинг: 0 / 0
10.12.2012, 13:38
    #38072392
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989,

Физически - нет, т.к. записи добавляются ТОЛЬКО в конец таблицы. Либо хитрую индексацию по какому-то полю, либо еще более извращенные методы.
Цель-то какая? Может, оно тебе и не надо.
...
Рейтинг: 0 / 0
10.12.2012, 13:40
    #38072397
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
IgorNG, цель такая чтобы при нажатии на кнопку между второй и третьей появлялась новая запись. Программно ведь можно сделать? подскажите как?
...
Рейтинг: 0 / 0
10.12.2012, 13:45
    #38072407
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989IgorNG, цель такая чтобы при нажатии на кнопку между второй и третьей появлялась новая запись. Программно ведь можно сделать? подскажите как?

Это - не цель. Это твоё понимание выполнения какой-то задачи.
Для чего нужно вставлять какую-то запись, причем в определенное место?
По-моему, я уже не первый, кто об этом спрашивает
...
Рейтинг: 0 / 0
10.12.2012, 13:51
    #38072421
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Как не цель, условие задачи стоит такое, добавить несколько записей в таблицу, после чего при нажатии на кнопку вставить пустую запись между 2 и 3
...
Рейтинг: 0 / 0
10.12.2012, 13:57
    #38072435
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Можете написать пример использования Append blank?
...
Рейтинг: 0 / 0
10.12.2012, 13:58
    #38072438
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989Как не цель, условие задачи стоит такое, добавить несколько записей в таблицу, после чего при нажатии на кнопку вставить пустую запись между 2 и 3

SELECT 0 AS id, другие поля FROM Таблица INTO CURSOR NewCursor READWRITE
SELECT NewCursor
i = 1
SCAN
IF i = 2
i = i + 1
ENDIF
REPLACE id WITH i
i = i + 1
ENDSCAN
INSERT INTO NewCursor (id, ...) VALUES (2, ...)
INDEX ON id TAG id
...
Рейтинг: 0 / 0
10.12.2012, 14:01
    #38072441
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
IgorNG, блин :( неужели нельзя без такого кода просто вставить новую запись в таблицу в любом месте. Что за фокспро такой
...
Рейтинг: 0 / 0
10.12.2012, 14:02
    #38072445
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989IgorNG, блин :( неужели нельзя без такого кода просто вставить новую запись в таблицу в любом месте. Что за фокспро такой

Переходи на Excel - там можно
...
Рейтинг: 0 / 0
10.12.2012, 14:05
    #38072451
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
IgorNG, программа с dbf работает... что-то я ваш код пробую выдает ошибку

Numeric overflow. Data was lost.
...
Рейтинг: 0 / 0
10.12.2012, 14:06
    #38072453
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
правда я там номера изменил вместо 2 написал 311 потому что надо добавить между 311 и 312.
...
Рейтинг: 0 / 0
10.12.2012, 14:07
    #38072455
InsertBlank
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989IgorNG, блин :( неужели нельзя без такого кода просто вставить новую запись в таблицу в любом месте. Что за фокспро такой
Insert Blank Before|After - но грабли, ибо требуют эксклюзив
...
Рейтинг: 0 / 0
10.12.2012, 14:08
    #38072457
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989IgorNG, программа с dbf работает... что-то я ваш код пробую выдает ошибку

Numeric overflow. Data was lost.

Ну а свой код покажешь?
И VFP какой?
...
Рейтинг: 0 / 0
10.12.2012, 14:09
    #38072459
puls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989,

use a1
go 4
insert before blank
repl xxx with '999'
use
и все.
вставить запись между recn()=3 и recn()=4
...
Рейтинг: 0 / 0
10.12.2012, 14:13
    #38072469
puls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
А если в место go 4 поставить go 12 получеш что захотел.
...
Рейтинг: 0 / 0
10.12.2012, 14:24
    #38072494
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Спасибо, вот что я хотел
...
Рейтинг: 0 / 0
10.12.2012, 15:26
    #38072614
reware
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989можно ли добавить в середину таблицы новую запись? скажем между 12-й и 13-й записями новую добавить? через меню фокспро или на крайний случай программно
Если совсем тупо это сделать, то вначале копирукшь все записи, начиная с 13-й, в какую-то временную таблицу, удаляешь все записи, начиная с 13-й, в основной таблице (DELETE FOR, PACK), добавляешь в основную таблицу новую запись (APPEND BLANK), дописываешь в основную таблицу огрызок, ранее сохранённый во временной.
Код: sql
1.
2.
3.
4.
5.
6.
SELECT MainTable
COPY TO TempTable FOR RECNO()>=13
DELETE FOR RECNO()>=13
PACK
APPEND BLANK
APPEND FROM TempTable.dbf


Таблица MainTable, естественно, при этом должна быть открыта в эксклюзивном режиме.
...
Рейтинг: 0 / 0
10.12.2012, 16:22
    #38072763
Ffffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989IgorNG, блин :( неужели нельзя без такого кода просто вставить новую запись в таблицу в любом месте. Что за фокспро такой
Андрей8989, в базах данных отсутствует такое понятие, как физический порядок записи в таблице. Есть только порядок записи при отображении. Поэтому в общем случае на ваш вопрос можно ответить: сделать нельзя ни в в одной СУБД. Отображать записи можно в любом нужном порядке.
...
Рейтинг: 0 / 0
10.12.2012, 19:52
    #38073171
P-032
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
авторАндрей8989, в базах данных отсутствует такое понятие, как физический порядок записи в таблице.
Правда что ли ? :)
...
Рейтинг: 0 / 0
10.12.2012, 21:23
    #38073263
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Андрей8989Что за фокспро такой
Переходи на Дельфи! Там всё легко и можно...
...
Рейтинг: 0 / 0
10.12.2012, 22:19
    #38073308
P-032
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
Код: sql
1.
2.
CREATE TABLE Table1( ID N(4), Nam C(10), Level N(4))
INDEX ON BINTOC(ID)+BINTOC(LEVEL) TAG UI UNIQUE



Заполянем табличку. Хоть в фоске по CTL+Y.

id nam level1 1111 02 1112 03 1113 04 1114 05 1115 06 1116 07 1117 08 1118 09 1119 010 1110 011 1111 012 1112 013 1113 014 1114 015 1115 016 1116 017 1117 018 1118 019 1119 020 1120 0


Код: sql
1.
INSERT INTO table1 VALUES (table1.id,'Вставка',table1.level+1)



id nam level1 1111 02 1112 03 1113 04 1114 05 1115 06 1116 07 1117 08 1118 09 1119 010 1110 011 1111 012 1112 013 1113 013 Вставка 114 1114 015 1115 016 1116 017 1117 018 1118 019 1119 020 1120 0


Идея ясна? Хоть обстовляйся. Можно так же перемещать записи. Главное следи за уникальностью ключа.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
08.07.2015, 10:58
    #39002107
Makay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавление строки в середину таблицы
P-032,
Красава, действительно помог. Остальные хватит умничать, херни понаписали.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / добавление строки в середину таблицы / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]