Ошибка вставки новой записи [РЕШЕНО]
Автор GOYa, 20 мая 2010, 11:14
0 Пользователи и 1 гость просматривают эту тему.
Помогите.
При вводе данных из формы выдает
«Ошибка вставки новой записи»
Прм повторном вводе
«Ошибка вставки новой записи»
Состояние SQL: 23000
Код ошибки: -104
Violation of unique constraint SYS_PK_47: duplicate value(s) for column(s) «ID» in statement [INSERT INTO «Таблица1» ( «ID»,»Test») VALUES ( ?,?)]
Но данные в таблицу вводятся.
[вложение удалено Администратором]
Очевидно, в поле ID вводятся повторяющиеся значения. Поскольку данное поле у Вас объявлено первичным ключом, его значения должны быть уникальными.
Насколько хватает моих знаний — ругается на то, что вводятся одинаковые значения в поле ID, которое должно быть уникальным, ибо первичный ключ.
Update: Упс, опередили 
А вообще, первичный ключ-ID лучше делать самозаполняющимся, т.е. выставить Автозначение в «Да».
A Matter of Life and Death
В том то и вопрос, что таблица изначально пустая, а вводится первая запись.
См. прикрепл. файл.
она не пустая.
Update: у Вас форма в режиме «только добавление», поэтому существующие записи не показываются.
[вложение удалено Администратором]
Цитата: Helen от 20 мая 2010, 11:58
она не пустая.Update: у Вас форма в режиме «только добавление», поэтому существующие записи не показываются.
Приношу свои извинения за кривизну рук. Но делал все по мануалу:
создал базу
в ней таблицу с двумя полями: ID- самозаполняющийся и name — текстовое поле
мастером прикрутил форму только для ввода данных
и когда ввожу запись в поле name выскакивает эрор из первого поста хотя данные в таблицу таки заносятся. 
[вложение удалено Администратором]
Цитата: GOYa от 20 мая 2010, 14:11и когда ввожу запись в поле name выскакивает эрор из первого поста
не могу воспроизвести. Расскажите пошагово, как вносятся данные в форме, начиная с открытия.
Цитата: GOYa от 20 мая 2010, 14:11и когда ввожу запись в поле name выскакивает эрор из первого поста хотя данные в таблицу таки заносятся.
Воспроизвёл. Что интересно — так когда форма создана только для внесения новых данных. Если форма позволяет просматривать и редактировать уже существующие данные, ошибки нет.
A Matter of Life and Death
1. Открыл файл
2. Вызвал форму tab1
3. В поле name ввёл данные
4. Нажал иконку «Следующая запись» на нанели инструментов Навигация формы
5. Ошибка.
A Matter of Life and Death
не могу 
ООо 3.2.1 RC1.
Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Цитата: GOYa от 20 мая 2010, 14:59Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Видимо, проблему закрыли в Go-OO раньше. Через неделю где-то выйдет 3.2.1 Communinty, проверим ещё разочек там.
A Matter of Life and Death
Цитата: Syzygy от 20 мая 2010, 16:07
Цитата: GOYa от 20 мая 2010, 14:59Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Видимо, проблему закрыли в Go-OO раньше. Через неделю где-то выйдет 3.2.1 Communinty, проверим ещё разочек там.
Нет в Go-OO 3.2-13 этот баг есть. Нет в Оо 3.1 от Nowell. Но возможно его нет и в оригинале Оо 3.1
Свобода информации — свобода личности!
Уже много лет одна фигня меня бесит в ОпенОфисе.
У меня есть файл с реестром закупок в файле «Снабжение.ods», который постоянно использую. Т.е. открыл утром и постоянно в нем работаю. Но часто появляется ошибка при записи файла после внесения изменения в файл:
«Ошибка при сохранении документа Снабжение:
Ошибка записи.
Невозможно записать файл.»
Я закрываю этот файл и сразу же его открываю. И после этого вообще не вознкиает никаких ошибок. Т.е. эта ошибка появляется после первого открытия файла. Не помогло даже внести в свойствах файла на вкладке «Безопасность» полный доступ всем учеткам и даже пробовал добавить учетку «Все» с полным доступом. Все равно, почти всегда возникает ошибка при первой записи в файл.
Такая фигня только с этим конкретным файлом. Пробовал открыть его как копию, пересохранить, сбросить права доступа к этмоу файлу
Скажите, кто-нить знает, как это исправить?!
П.с. Иногда помогает открыть другой файл — там внести изменения, закрыть и затем открыть этот пресловутый файл и почти всега он работает потом без ошибок.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
кнопкой внутри поля и из контекстного меню выберите пункт Заменить на > Поле со списком. Опять щелкните правой кнопкой на поле Категория. Выбе-
рите пункт Элемент управления.
Рис. 38. Открытие формы Номера телефонов в режиме разработки
Измените свойства объекта (рис. 39):
Рис. 39. Изменение свойств поля Категория
1.Используя вкладку Общие, найдите внизу параметр Раскрываемый и измените его значение на Да.
2.Используя вкладку Данные, измените следующие настройки:
41
•Поле данных: Категория;
•Пустая строка – NULL: Да (могут быть пустые значения);
•Требуется ввод данных: Нет (напомним, что поле Категория не являлось обязательным для таблицы Номера телефонов);
•Тип содержимого списка: Таблица;
•Содержимое списка: Категории абонентов.
Сохраните форму и закройте окно конструктора форм. В главном окне OpenOffice Base дважды щелкните по имени формы Номера телефонов, для того чтобы открыть ее в режиме ввода и просмотра данных. Заполните все поля первой записи. При этом при переходе к полю Категория появится список возможных значений категорий абонентов телефонного справочника из таблицы Категории абонентов (рис. 40), чего мы и добивались. Причем необходимо отметить, что если бы таблица Категории абонентов содержала более одного поля, то данные для поля со списком выбирались бы все равно из первого поля!
Рис. 40. Ввод данных в форму Номера телефонов
3.4. Ввод данных с помощью формы
Итак, поля на формах используются для ввода данных в базу данных. С их помощью мы вводим все данные, относящиеся к каждому объекту базы данных,
42
т.е. номеру телефона, который хотим сохранить в нашей базе данных.
Каждая запись (то, что раньше являлось отдельной строкой таблицы) теперь представляет из себя как бы отдельную карточку. Считается, что вводить данные удобнее именно в таком режиме.
Перемещаться между полями можно при помощи клавиши Tab, или клавиш управления курсором. При нажатии клавиши Tab после ввода данных о номере телефона в последнее поле формы, все поля очищаются за исключением, возможно, полей со значением Автозначение. Это значит, что мы завершили создание первой записи на форме (или таблице) номера телефонов. Заполнив запись перейти к новой записи (карточке) можно нажав клавишу Enter. Каждый раз, когда мы заполняем полями, мы добавляем очередную запись. Например, запись 2 на рис. 41.
Рис. 41. Запись в форме номера телефонов
В нижней левой части формы есть слово Запись. После него расположена навигационная панель с информацией о номере обрабатываемой записи и коли-
43
честве записей в таблице. В нашем примере, показана запись 2 из 2 имеющихся. Справа от этих цифр имеются дополнительные иконки, которые позволяют перемещаться от одной записи к другой (стрелки), добавлять новые записи, удалять записи и выполнять другие действия (рис. 42).
Рис. 42. Навигационная панель для управления записями
Вспомним основное назначение базы данных, состоящее в хранении информации, которую можно позднее использовать при необходимости, занесите в таблицу Номера телефонов не менее пяти записей фиктивных номеров телефонов.
Ввод данных с помощью других форм (Абоненты, например) осуществляется аналогично. При этом пустыми (незаполненными) могут остаться только те поля, у которых в свойствах указано для параметра Обязательное — Нет.
Переход к последнему полу формы автоматически сохраняет все данные для этой записи и начинает обработку следующей записи. Если остались незаполненные обязательные поля, то Вы увидите следующее окно (рис. 43).
Рис. 43. Ошибка вставки новой записи
При вводе данных поля Фамилия таблиц Номера телефонов и Абонен-
44
ты могут не обязательно принимать набор одних и тех же значений. В итоге, содержимое таблиц Номера телефонов и Абоненты должно выглядеть примерно как на рис. 44. Видно, что сортировка записей выполняется по одному из полей, чаще всего по полю Первичного ключа.
Рис. 44. Таблицы Номера телефонов и Абоненты
3.5. Сохранение формы в формате OpenOffice Writer
Разнесение файловой базы данных и формы, отображающей данные, может выглядеть удобным для конечного пользователя базы. Это повышает безопасность и ускоряет загрузку. Процесс разнесения прост: форма сохраняется как отдельный файл OO Writer, а потом удаляется из базы данных.
Сохранение формы создаст отдельный текстовой файл, где будут находится поля, диалоги и т.д. Для этого проделаем следующее:
•Открываем необходимую форму нашей базы данных (пусть это будет главная форма Номера телефонов), выбираем Файл > Сохранить копию как… и
сохраняем её в нужный нам каталог (удобнее положить в тот же каталог, где лежит база данных). Для сохранения используем имя Номера телефонов, а расширение программа подставит сама.
•Закрываем открытую форму и ОО Base. Открываем только что созданный документ Номера телефонов.odt. Все поля пока пустые. Настраиваем работоспособность формы. Активируем режим разработки и отображаем панель Ди-
зайн формы. Откройте окно Свойства формы. Для параметра Источник
45
данных выбираем нашу базу данных Телефонный справочник. Проверьте параметры Тип содержимого источника и Содержимое (рис. 45). Сохраня-
ем форму. Проверяем – форма работает.
Рис. 45. Выбор источника данных для формы
4. Доступ к другим источникам данных
В качестве продвинутых решений Base предлагает поддержку внешних совместимых обработчиков баз данных, таких как MySQL, являющихся идеальной системой для создания быстрых многопользовательских баз данных с поддержкой работы по сети. Помимо совместимых обработчиков, Base может использовать другие типы внешних источников данных, включая Microsoft Access, адресные книги, электронные таблицы и даже простые текстовые файлы.
OpenOffice.org позволяет получить доступ к источникам данных и связать их с любым документом OO. Например, связывая письмо с внешним документом, содержащим фамилии и адреса получателей, можно для каждого адреса сгенерировать свою копию этого письма.
Для регистрации источника данных, выберите пункт меню Файл > Соз-
дать > Базу данных, затем выберите Подключиться к существующей базе данных и определите тип источника данных, с которым необходимо соединиться. После этого мастер выберет нужный источник данных. Типы источников данных, к которым можно получить доступ из OpenOffice Base, представлены на рис. 46.
46
Выберите тип базы данных из выпадающего списка и щелкните по кнопке Далее. Щелкните по кнопке Просмотр и выберите каталог, содержащий базу данных или источник данных, и щелкните по кнопке Далее. Согласитесь с ус-
тановками по умолчанию: Да, зарегистрировать мне базу данных и Открыть базу данных для редактирования. Щелкните по кнопке Готово. Назовите и сохраните базу данных в выбранном каталоге в формате OpenOffice Base. Импортируя данные из баз данных вам будет предложено создать форму, исполь-
зуя Мастер для создания форм.
Если электронная таблица защищена паролем, установите флажок Требуется пароль. Если электронная таблица требует ввода имени пользователя, введите его. Если требуется также ввод пароля, установите его флажок.
Рис. 46. Подключение к внешней базе данных (источнику данных)
Доступ к некоторым типам баз данных позволяет вводить и изменять за-
47
писи в этих базах данных. Доступ к электронным таблицам, однако, не позволяет делать в них изменения.
4.1. Регистрация баз данных в OpenOffice
Это довольно простая процедура. В меню Сервис > Параметры > База данных OpenOffice.org выберите раздел Базы данных. В списке Зарегистри-
рованные базы данных будут перечислены эти базы данных (рис. 47). Ниже этого списка находятся три кнопки: Создать…, Удалить, Правка… Для регистрации базы данных, созданной в OpenOffice.org щелкните по кнопке Создать. Далее с помощью кнопки Обзор найдите нужную базу данных. Убедитесь в правильности зарегистрированного названия и щелкните по кнопке OK.
Рис. 47. Зарегистрированные базы данных
4.2. Использование источников данных
Зарегистрировав источник данных, такой как электронная таблица, текстовый документ, внешняя база данных или другой допустимый источник данных, вы можете использовать его в других модулях OpenOffice.org, включая Writer и Calc, выбрав пункт Вид > Источники данных или нажав клавишу F4.
48
Просмотр источников данных
Откройте документ в Writer или в Calc. Чтобы просмотреть доступные источники данных, нажмите F4 или выберите Вид > Источники данных из выпадающего меню. Появится список зарегистрированных баз данных, включая Bibliography и любые зарегистрированные базы данных.
Чтобы просмотреть каждую базу данных, щелкните на символе + слева от имени базы данных (рис. 48). Будут отображены строки Таблицы и Запросы. Щелкните по + слева от раздела Таблицы, чтобы увидеть созданные таблицы. Теперь щелкните по имени таблицы, чтобы увидеть все ее записи.
Рис. 48. База данных Телефонный справочник, открытая в Writer
Щелкните правой кнопкой по иконке базы данных, таблице или запросе и выберите пункт Редактирование базы данных. Далее вы можете редактировать, добавлять и удалять таблицы, запросы, формы и отчеты.
Использование источников данных в документах
49
Чтобы вставить поле из таблицы в документ (например, в электронную таблицу Calc или документ Writer), щелкните на имени поля (серый прямоугольник – в заголовке столбцов) и, удерживая нажатой левую кнопку мыши, перетащите поле в документ. В документе Writer, оно появится как поле <ИМЯ> (где ИМЯ это название поля, которое вы перетащили). В Calc оно появится в виде текстового окна.
Часто источник данных используется для рассылки писем. Выбрав Сер-
вис > Рассылка писем или щелкнув на иконке Циркулярное письмо (иконка с небольшим листом бумаги и конвертом на панели Данные таблиц), вы загрузите мастер Рассылка писем OpenOffice.org, который управляет созданием документа для письма.
Редактирование источников данных
Некоторые внешние источники данных (кроме электронных таблиц) можно редактировать с помощью диалогового окна панели Просмотр источника данных. Записи можно редактировать, добавить или удалить.
Данные отображаются в правой части экрана. Щелкните по полю, которое надо отредактировать. Ниже записей имеется пять небольших кнопок. Первые четыре кнопки служат для навигации по записям или для перемещения в начало или конец таблицы. Пятая кнопка, с небольшой звездочкой
, служит для добавления новой записи (рис. 48).
Для удаления записи, щелкните правой кнопкой по серому полю рядом с нужной записью чтобы выделить всю строку, а затем выберите Удалить строки для удаления выделенной строки.
4.3. Импорт данных в таблицы базы данных
Пользуясь формами, вы легко можете добавлять новые записи к таблицам. Предположим, что у вас уже есть некоторые данные, к примеру, в электронной
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
I am attempting to add records to a table which is linked to other tables that I don’t want to modify. When I attempt to add a record to the table in question, an error message appears:
Error inserting the new record.
Violation of the unique index "<unique index>":
duplicate values for columns "xxx", "yyyy" in statement [INSERT INTO "table"("xxx","yyyy")VALUES(?,?)].
The error message is correct in that the table does have a unique index composed of two fields. However in the first instance I don’t want records added to that table as it is only used as a lookup table for the main table which I am adding or modifying records.
The erroneous table does in fact have three keys. One primary, which is auto incremented, a second, unique key comprising two fields, and a third, foreign lookup key which is not unique.
I’m not sure what’s going on under the hood here but I think it is to do with the index comprising two fields.
SELECT DISTINCT "Futures_Orders"."Date",
"Futures_Orders"."Symbol","Futures_Orders"."Contract_Mth",
"Futures_Orders"."Send_To_Broker",
"Futures_Orders"."Order-Id",
"Futures_Orders"."Broker","Futures_Orders"."Order_Action",
"Futures_Orders"."No_Contracts",
"Futures_Orders"."Order_Price",
"Futures_Orders"."Trade_Type",
CASE "Futures_Orders"."Order_Action"
WHEN 'b' THEN 's'
ELSE 'b'
END "If_Done_Action",
"Futures_Orders"."If_Done_Price",
"Futures_Orders"."No_Contracts" * (
CASE "Contract_Details"."USIntRates"
WHEN 'n' THEN ABS( "Futures_Orders"."Order_Price"
- "Futures_Orders"."If_Done_Price" ) /
"Contract_Details"."MinTick"
ELSE ABS(ABS(TRUNCATE("Futures_Orders"."Order_Price",
0)-TRUNCATE("Futures_Orders"."If_Done_Price",
0))*"Contract_Details"."MinTick" -
CASE
WHEN "Contract_Details"."Symbol"
IN ( 'FV', 'TU' ) THEN 400
ELSE 200
END *
ABS("Futures_Orders"."Order_Price" -
TRUNCATE("Futures_Orders"."Order_Price", 0)-
"Futures_Orders"."If_Done_Price" + TRUNCATE(
"Futures_Orders"."If_Done_Price", 0 )))
END
* "Contract_Details"."MinTickVal" / "FX_Rates"."Rate" +
CASE
WHEN "Broker_Commissions"."Commission_AUD" +
"Broker_Commissions"."Commission" = 0
THEN "Broker"."Commission"
ELSE "Broker_Commissions"."Commission_AUD" +
"Broker_Commissions"."Commission" / "FX_Rates"."Rate"
END
* 2) "Risk",
"Contract_Details"."Symbol", "Contract_Details"."Currency",
"FX_Rates"."Code", "Broker"."Broker",
"Broker_Commissions"."Symbol", "Broker_Commissions"."Broker",
"Broker_Commissions"."ID"
FROM "Futures_Orders", "Contract_Details", "FX_Rates", "Broker",
"Broker_Commissions" WHERE "Futures_Orders"."Symbol" =
"Contract_Details"."Symbol" AND "Contract_Details"."Currency" =
"FX_Rates"."Code" AND "Futures_Orders"."Broker" = "Broker"."Broker"
AND "Futures_Orders"."Broker" = "Broker_Commissions"."Broker" AND
"Futures_Orders"."Symbol" = "Broker_Commissions"."Symbol"
I am attempting to add records to a table which is linked to other tables that I don’t want to modify. When I attempt to add a record to the table in question, an error message appears:
Error inserting the new record.
Violation of the unique index "<unique index>":
duplicate values for columns "xxx", "yyyy" in statement [INSERT INTO "table"("xxx","yyyy")VALUES(?,?)].
The error message is correct in that the table does have a unique index composed of two fields. However in the first instance I don’t want records added to that table as it is only used as a lookup table for the main table which I am adding or modifying records.
The erroneous table does in fact have three keys. One primary, which is auto incremented, a second, unique key comprising two fields, and a third, foreign lookup key which is not unique.
I’m not sure what’s going on under the hood here but I think it is to do with the index comprising two fields.
SELECT DISTINCT "Futures_Orders"."Date",
"Futures_Orders"."Symbol","Futures_Orders"."Contract_Mth",
"Futures_Orders"."Send_To_Broker",
"Futures_Orders"."Order-Id",
"Futures_Orders"."Broker","Futures_Orders"."Order_Action",
"Futures_Orders"."No_Contracts",
"Futures_Orders"."Order_Price",
"Futures_Orders"."Trade_Type",
CASE "Futures_Orders"."Order_Action"
WHEN 'b' THEN 's'
ELSE 'b'
END "If_Done_Action",
"Futures_Orders"."If_Done_Price",
"Futures_Orders"."No_Contracts" * (
CASE "Contract_Details"."USIntRates"
WHEN 'n' THEN ABS( "Futures_Orders"."Order_Price"
- "Futures_Orders"."If_Done_Price" ) /
"Contract_Details"."MinTick"
ELSE ABS(ABS(TRUNCATE("Futures_Orders"."Order_Price",
0)-TRUNCATE("Futures_Orders"."If_Done_Price",
0))*"Contract_Details"."MinTick" -
CASE
WHEN "Contract_Details"."Symbol"
IN ( 'FV', 'TU' ) THEN 400
ELSE 200
END *
ABS("Futures_Orders"."Order_Price" -
TRUNCATE("Futures_Orders"."Order_Price", 0)-
"Futures_Orders"."If_Done_Price" + TRUNCATE(
"Futures_Orders"."If_Done_Price", 0 )))
END
* "Contract_Details"."MinTickVal" / "FX_Rates"."Rate" +
CASE
WHEN "Broker_Commissions"."Commission_AUD" +
"Broker_Commissions"."Commission" = 0
THEN "Broker"."Commission"
ELSE "Broker_Commissions"."Commission_AUD" +
"Broker_Commissions"."Commission" / "FX_Rates"."Rate"
END
* 2) "Risk",
"Contract_Details"."Symbol", "Contract_Details"."Currency",
"FX_Rates"."Code", "Broker"."Broker",
"Broker_Commissions"."Symbol", "Broker_Commissions"."Broker",
"Broker_Commissions"."ID"
FROM "Futures_Orders", "Contract_Details", "FX_Rates", "Broker",
"Broker_Commissions" WHERE "Futures_Orders"."Symbol" =
"Contract_Details"."Symbol" AND "Contract_Details"."Currency" =
"FX_Rates"."Code" AND "Futures_Orders"."Broker" = "Broker"."Broker"
AND "Futures_Orders"."Broker" = "Broker_Commissions"."Broker" AND
"Futures_Orders"."Symbol" = "Broker_Commissions"."Symbol"
Код:
DECLARE @t_guid uniqueidentifier, @deal INT
SELECT @t_guid = newid()
EXEC @deal = [gkArcade].[gk].[SYS_GEN_ID]
INSERT INTO [gkArcade].[gk].[TRANSACTS] (ACCOUNT, ACTIVITY, [DATE],
VALUE1, UNIT1, VALUE2, UNIT2, QUANT,
CREATOR, CREATORADDR, CREATORREF, CREATORDATE,
LEVEL2, [LEVEL], CARD, PERIOD )
VALUES( @CARD, 1, GETDATE(),
@PRICE, @UNIT, 1, 101, 1,
1, @MACHINE, NULL, GETDATE(),
@LEVEL2, @LEVEL, @CARD, NULL )
INSERT INTO [gkArcade].[gk].[GK_TRANSACTS]
([DATE],[ACTIVITY],[CARD],[ACCOUNT_TYPE],[VALUE],[QUANT],[CREATOR],[CREATORADDR]
,[DEAL],[LEVEL],[LEVEL2],[ARCADE],[GUID],[TRANSACT_GUID])
VALUES (GETDATE(),1,@CARD,11,0-@PRICE,1.00,1,@MACHINE,@deal,@LEVEL,@LEVEL2,1,newid(),@t_guid)
INSERT INTO [gkArcade].[gk].[GK_TRANSACTS]
([DATE],[ACTIVITY],[CARD],[ACCOUNT_TYPE],[VALUE],[QUANT],[CREATOR],[CREATORADDR]
,[DEAL],[LEVEL],[LEVEL2],[ARCADE],[GUID],[TRANSACT_GUID])
VALUES (GETDATE(),1,@CARD,3,1.00,0.00,1,@MACHINE,@deal,@LEVEL,@LEVEL2,1,newid(),@t_guid)

Форум программистов Vingrad
|
Поиск: |
![]() ![]()
|
|
Опции темы |
| Sportsmen |
|
||
|
Шустрый Профиль
Репутация: нет
|
Помогите новичку! Вот такой код. Вылетает ошибка: «Table1: Cannot perform this operation on a close dataset»
|
||
|
|||
| Данкинг |
|
||
Yersinia pestis Профиль
Репутация: 35
|
——————— There’s nothing left but silent epitaphs. |
||
|
|||
| Sportsmen |
|
||||
|
Шустрый Профиль
Репутация: нет
|
У меня это уже в onCreat прописано… |
||||
|
|||||
| Savek |
|
||
|
Опытный Профиль
Репутация: 7
|
Приведенный тобой код ошибок не содержит, внимательнее читай текст ошибки |
||
|
|||
| Данкинг |
|
||||||
Yersinia pestis Профиль
Репутация: 35
|
Ну, может быть, connection неактивен тогда… ——————— There’s nothing left but silent epitaphs. |
||||||
|
|||||||
| Sportsmen |
|
||
|
Шустрый Профиль
Репутация: нет
|
Вообще я там BDE использую, там конекта нет… |
||
|
|||
| ТоляМБА |
|
||
Котэ Профиль
Репутация: 3
|
|
||
|
|||
| SergeBS |
|
||
|
Эксперт Профиль
Репутация: 11
|
Sportsmen,
|
||
|
|||
| Sportsmen |
|
||
|
Шустрый Профиль
Репутация: нет
|
Сделал, проще: |
||
|
|||



















![]() ![]()
|
| Правила форума «Delphi: Базы данных и репортинг» | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
| 0 Пользователей: |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
##### — эти символы сообщают, что столбец, содержащий числа, недостаточно широк, или же дата и время, введенные в ячейки данного столбца, содержат отрицательные числа. В первом случае достаточно просто увеличить ширину столбца или изменить числовой формат данных (например, уменьшить число знаков после запятой). Во втором же случае надо:
• проверить формулу, если вычисляется число дней между двумя датами;
• если формула не содержит ошибок, необходимо изменить формат ячейки и перейти, например, с формата Дата и время на Общий или Числовой формат.
Ошибка: 501 — недопустимый символ. Формула содержит недопустимый символ, например =1Eр вместо =1E2.
Ошибка: 502 — недопустимый аргумент. Функция имеет недопустимый аргумент, например отрицательное число для функции извлечения корня.
Ошибка: 503 (#NUM! ) — недопустимая операция с плавающей запятой. Вычисление приводит к переполнению диапазона значений.
Ошибка: 504 — ошибка в списке параметров. Используется недопустимый параметр функции, например текст вместо числа или гиперссылка вместо ссылки на ячейку.
Ошибка: 508 — нет пары.
Отсутствует скобка (закрывающая или открывающая).
Ошибка: 509 — отсутствует оператор. В формуле отсутствует оператор (+, – и т. д.).
Ошибка: 510 — отсутствует переменная.
Отсутствует переменная (два оператора стоят рядом).
Ошибка: 511 — отсутствует переменная. В функции не хватает переменной.
Ошибка: 512 — слишком длинная формула.
Общее число внутренних маркеров (операторов, переменных, скобок) в формуле превышает 512 или общее число матриц, которые создает формула, превышает 150.
Ошибка: 513 — слишком длинная строка. Идентификатор в формуле превышает 64 Kб.
Ошибка: 514 — внутреннее переполнение.
Переполнен стек вычислений (например, операция сортировки предпринята на слишком большом количестве числовых данных — более 100 000).
Ошибка: 516 — внутренняя синтаксическая ошибка. В стеке вычислений недоступна необходимая матрица.
Ошибка: 517 — внутренняя синтаксическая ошибка. Документ с новой функцией открыт в старой версии программы.
Ошибка: 518 — внутренняя синтаксическая ошибка. Переменная недоступна.
Ошибка: 519 (#VALUE) — нет результата. Ячейка, на которую ссылается формула, содержит текст вместо числа. -В ячейке отображается #ЗНАЧЕН! , а не Ошибка: 519.
Ошибка: 520 — внутренняя синтаксическая ошибка. Компилятор создал неизвестный код компиляции.
Ошибка: 521 — внутренняя синтаксическая ошибка. Нет результата.
Ошибка: 522 — циклическая ссылка. Формула ссылается прямо или косвенно на саму себя, а параметр Итерации не настроен.
Ошибка: 523 — процедура вычисления не сходится. Функция потеряла подбираемое значение или циклические ссылки не доходят до минимальных изменений для заданного максимального числа шагов.
Ошибка: 524 (#REF) — недопустимые ссылки. В формуле отсутствует столбец, строка или лист с заданной ячейкой.
-В ячейке отображается #ССЫЛ!2, а не Ошибка: 524.
Ошибка: 525 (#NAME) — недопустимые имена. Нет допустимой ссылки, доменного имени, подписи столбца/строки, макроса, присутствует неправильный десятичный разделитель или не найдена надстройка.
-В ячейке отображается #ИМЯ, а не Ошибка: 525.
Ошибка: 526 — внутренняя синтаксическая ошибка. Ссылка устарела.
Ошибка: 527 — внутреннее переполнение. Слишком сложное вложение ссылок.
Ошибка: 532 (#DIV/0!) — деление на ноль. В формуле используется деление на ноль.
Уже много лет одна фигня меня бесит в ОпенОфисе.
У меня есть файл с реестром закупок в файле «Снабжение.ods», который постоянно использую. Т.е. открыл утром и постоянно в нем работаю. Но часто появляется ошибка при записи файла после внесения изменения в файл:
Цитата:
«Ошибка при сохранении документа Снабжение:
Ошибка записи.
Невозможно записать файл.»
Я закрываю этот файл и сразу же его открываю. И после этого вообще не вознкиает никаких ошибок. Т.е. эта ошибка появляется после первого открытия файла. Не помогло даже внести в свойствах файла на вкладке «Безопасность» полный доступ всем учеткам и даже пробовал добавить учетку «Все» с полным доступом. Все равно, почти всегда возникает ошибка при первой записи в файл.
Такая фигня только с этим конкретным файлом. Пробовал открыть его как копию, пересохранить, сбросить права доступа к этмоу файлу
Скажите, кто-нить знает, как это исправить?!
П.с. Иногда помогает открыть другой файл — там внести изменения, закрыть и затем открыть этот пресловутый файл и почти всега он работает потом без ошибок.











)