Ошибка получения информации набора данных поле не найдено

динамический список, произвольный запрос ошибка ☑ 0

karuzo

09.01.13

11:36

есть: документ направление, резвизит тч которого «источник» содержит ссылку на документ «накладная». Создаю произвольную форму, табчасть — динамический список формируемый произвольным запросом.

ВЫБРАТЬ

   Напр.Ссылка.Дата КАК Дата,

   Напр.Ссылка.Направление,

   Напр.Источник.Контрагент

ИЗ

   Документ.Направление.Накладные КАК Напр

Указана группировка по дате сдопорлнением день и по направлению. Отображение — дерево. Результат: дерево формируется, при раскрытии нижнего уровня ошибка:

Ошибка в запросе набора данных

по причине:

{(6, 7)}: Поле не найдено «Напр.ПометкаУдаления»

Напр.<<?>>ПометкаУдаления,

Откуда, зачем, почему — в запросе нет Напр.ПометкаУдаления?

1

karuzo

09.01.13

12:05

Что добавить к этой печальной повести? Ну, управляемое приложение. В случае, когда убираю Дату из запроса и группировку  — оставляю только группировку по направлению , «Поле не найдено «Напр.Дата»»

2

Vladimirr

09.01.13

12:08

(0) Добавь в запрос в выбранные поля сам документ.

3

karuzo

09.01.13

12:13

(2) не понял

4

Mort

09.01.13

12:13

Основная таблица установлена?

5

Vladimirr

09.01.13

12:16

(3) в Выборку сама Ссылка не попадает

6

karuzo

09.01.13

12:16

(4) Да, Документ.Направление

7

Mort

09.01.13

12:18

(6) А чего тада ожидал? Даже если добавишь стандартные реквизиты в запрос, он не будет обеспечивать уникальность записей.

8

karuzo

09.01.13

12:18

(5) добавил — без изменений

9

karuzo

09.01.13

12:24

(7) не хватает «тебе нужно …» )

10

acsent

09.01.13

12:26

ну так добавь нужные поля в запрос

11

karuzo

09.01.13

12:28

добавляю поле Напр.ПометкаУдаления

теперь ошибка гласит

Ошибка при выполнении запроса. Ошибка при выполнении запроса.

по причине:

Ошибка получения информации набора данных

по причине:

Ошибка в запросе набора данных

по причине:

{(7, 7)}: Поле не найдено «Напр.ПометкаУдаления»

Напр.<<?>>ПометкаУдаления КАК ПометкаУдаления1,

12

Vladimirr

09.01.13

12:30

(11) засунь запрос в консоль запросов и там его отладь, чтобы были все поля и все работало. Потом уже подсовывай его в динамический список

13

karuzo

09.01.13

12:32

сую

14

Mort

09.01.13

12:40

Убери основную таблицу. Тока без ключей обслуживать добавление и открытие нужно будет вручную.

15

acsent

09.01.13

12:41

Напр.Ссылка.ПометкаУдаления

16

acsent

09.01.13

12:41

ты руками чтоли запрос пишешь?

17

Mort

09.01.13

12:42

(12),(15) Следующая ветка автора будет «почему у меня глюки в дин списке, выводятся кучи одинаковых записей и т.п.»

18

karuzo

09.01.13

12:46

(14) без основной таблицы недоступна группировка — как в этом случае сделать дерево?

(16)нет

19

Mort

09.01.13

12:49

Тада на ДС придется подзабить.

Нужно скатать базу с методички и сделать какие-то запросы. Базу с горем пополам скатал. Начал в конфигураторе по урокам вводить запрос:

ВЫБРАТЬ
        РаботникиОрганизаций.Период,
        РаботникиОрганизаций.Регистратор,
        РаботникиОрганизаций.Сотрудник,
        РаботникиОрганизаций.Организация,
        РаботникиОрганизаций.ЗанимаемыхСтавок,
        РаботникиОрганизаций.ПодразделениеОрганизации,
        РаботникиОрганизаций.Должность
        ИЗ
        РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
        РаботникиОрганизаций.ПричиныИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)

Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(10, 9)}: Таблица не найдена «РегистрСведений.РаботникиОрганизаций»
<<?>>РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций

1С:Предприятие 8.3 (8.3.9.2170)

Конфигурация:
Бухгалтерия предприятия (учебная), редакция 3.0 (3.0.30.16) (http://v8.1c.ru/buhv8/)
Copyright (С) ООО «1C», 2009 — 2014. Все права защищены
(http://www.1c.ru)

ВЫБРАТЬ    ЗаказКлиентаТовары.Номенклатура,    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(                        Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары Ошибка при выполнении запроса. Ошибка при выполнении запроса. по причине: {(1, 20)}: Поле не найдено «ЗаказКлиентаТовары.Дата» ЗаказКлиентаТовары.<<?>>Дата Подскажите, плиз, что не так не пойму

Точно этот запрос выполняется? демоническое обновление? или просто не обновил базу?

точно, я сам его писал ) запрос по остаткам в табл части

ЗаказКлиентаТовары.Ссылка.Дата

демоническое, значит. написано одно, а выполняется другое

я ослеп видимо, не вижу в Запросе поле Дата вобще

вот в том и весь прикол ! )) я тоже мозг себе весь сломал

+1 тоже 3 раза пересмотрел

А что говорит отладчик про текст запроса перед его выполнением?

перечитай до просветления . КЭШ чисти короче

есть динамических списка, один простой работает с таким запросом ВЫБРАТЬ    ЗаказКлиента.Ссылка,    ЗаказКлиента.Номер, второй работает с запросом в сабже, я пробовал удалить его, второй, ошибка исчезла

и раз Композитор — напиши музыку для этой ошибки… чтонить трагичное

Блин тут про 1С, а я думал дожди, поле…

мда, флуд пошел, печально, в общем 2 дин.списка, второй выдает какую-то хрень

какой флуд? сказано — Кривой КЭШ. Динамическое обновление. Что ещё надо то?

к динамическим спискам отношения не имеет

внешняя обработка ! причем тут динамическое обновление !

возможно, как то влияет тот факт, что отладка производится в конфе, подключенной к хранилищу

вовремя сказано! она тоже может поехать, особенно если изменить запрос, сохранить обработку а в предприятии оставить открытую старую)

потому что в одном случае поле такое есть, а в другом нет

надо сохранить под другим именем, поможет ?

не помогло, (19 )а как кэш почистить ?

проверь… может скэшировалась тоже гденить

для внешних обработок смысла вроде нет чистить кэш. но…

Закрой 1С и снова открой. Потом проверяй. А на будущее — не передавай из формы в модуль объекта ссылку на форму.

Платформа какая? Если не поможет — есть смысл посмотреть в ошибках платформы, для динамических списков видел какую-то ошибку наподобие, Емнип

чего то прочистил в локал сеттингс/1с82 — папки с уи в названии, закрыл все процессы 1с82, щас пеперезапущу

я вчера отлаживал внешнюю печ.форму, где это делал о чем ты написал, но уже после этого закрывал 1с процессы

Файловый вариант или клиент-сервер?

1С:Предприятие 8.2 (8.2.14.528), файловый с подключением к хранилищу

перезапустил 1С, обозвал по-другому обработку — не помогает ничего

я так чувствую, придется 2й динамический список удалять, а вместо него делать таблицу значений, это глюк какой-то, возможно недоработка на уровне платформы…

Это в динамическом списке основной таблице по тч?

А эта обработка, случаем, не делалась правкой другой обработки? Если немного изменить первый список — изменения применяются? Или старая копия остается?

ее вроде так нельзя делать либо добавляй все поля через ссылку

эт очень старая фишка еще с бета версии в запрос по тч с основной таблице он запрашивает и поля ссылки

либо убирай основную таблицу

понял, убрал основную таблицу, Ошибка при выполнении запроса. Ошибка при выполнении запроса. по причине: Ошибка получения данных по причине: Ошибка создания набора данных «НаборДанныхДинамическогоСписка» по причине: Ошибка при исполнении запроса набора данных по причине: {(8, 20)}: Ошибка обработки представления «РегистрНакопления.ТоварыНаСкладах.Остатки:Несоответствие типов (Параметр номер «»1″»)» ЛЕВОЕ СОЕДИНЕНИЕ <<?>>РегистрНакопления.ТоварыНаСкладах.Остатки(

все же пока чего то тоже не идет с , как от этого избавиться, снова прощу помощи

в общем, сделаю таблицей значений

сделай вложенный запрос без основной таблицы это самое простое решение

или сделай соединение с основной ссылкой

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

При постоянном использовании программного обеспечения в коммерческой деятельности часто приходится сталкиваться с различными багами, которые могут серьезно затормозить экономический процесс. И одна из подобных проблем и станет темой сегодняшнего обзора. Это ошибка в «1С: Предприятие» — «Поле объекта не обнаружено», мы тщательно и детально разберем, как исправить подобную неполадку в 1C. Сразу стоит уточнить, что этот баг не носит критического характера, серьезными проблемами все равно не обернется. Но приостановить выполнение задачи вполне сможет, что неприятно. Особенно если от заполнения формы зависят сроки, нарушать которые ни в коем случае нельзя. Да и часто без базовых навыков приходится обращаться к профессионалам. А они появляются не мгновенно, придется отправить запрос в компанию, осуществляющую техническое сопровождение. Зачастую понадобится около суток. И гораздо проще все сделать самостоятельно прямо на месте. А как это возможно, мы и узнаем в статье.

got-reshenie-doc

«Поле объекта не обнаружено»: что значит уведомление и причины его появления

Разбираться можно и простыми логическими изысканиями. Поскольку проблема только с формой, то становится понятно, что сам объект присутствует. Он есть в базе конфигурации, будь то документ, справочник или модуль. Но вот его формальное выражение невозможно, поскольку релиз его не поддерживает. То есть зачастую все связано с тем, что новое программное обеспечение устанавливается напрямую на старую конфигурацию. И они по понятным причинам конфликтуют, ведь система обращается к тем данным и их формам, которые уже просто не используются. Запросы не могут быть нормально обработаны, ведь их способ оформления в коде уже изменился.

Существует несколько причин, по которым такая нестыковка может возникнуть на предприятии. К основным из них стоит отнести:

  • Частичное или глобальное обновление программы. Примечательно то, что сбой может появляться даже при незначительном апдейте, который серьезно систему не затрагивает.
  • Переустановка всей платформы или установка новой. Обновления и модификации выходят не так часто, чтобы в подобном сбое появилась какая-то система. Но зачастую компании работают годами на устаревших версиях. И как только решаются немного модернизировать техническую составляющую, сталкиваются с такими вот трудностями.
  • Системная проблема в самой базе. Вызвана бывает различными причинами. Возможно, данные некорректно обрабатываются.
  • Изменения в конфигурации. Причем любого плана: настройка, доработка, персонализация ПО под задачи компании. Часто, когда появляется проблема «Поле объекта не обнаружено», контрагент, справочник, номенклатура, в принципе любой модуль, к которому обращается система, становится недоступен для обработки. И это серьезно тормозит всю работу, которая должна была ускориться после внесения доработок.

А теперь разберемся, как устранить этот баг. Приведем несколько вариантов, которые зависят от конкретной первопричины.

Итак, пройдемся конкретно по способам устранения.

Проблемы с обновлением

поле агрегатного объекта не обнаружено как исправить

Определить эту причину навскидку получится даже у непрофессионала. Если проблема начала появляться как раз после того, как произошел очередной апдейт, то велика вероятность, что он был установлен некорректно или на неподходящую базу.

В этом случае мы в первую очередь проводим восстановление сохраненной (резервной) копии. При этом произойдет небольшой откат, ведь база будет без последних изменений, но выбора нет. Смотрим на результат, и если баг повторяется, когда сотрудники обращаются к модулям, значит, переходим к следующей стадии.

1с поле агрегатного объекта не обнаружено

Есть вероятность, что сам размер новой информации в апдейте слишком крупный. И он не встает нормально на текущую базу данных. Правда, если неприятность возникает у большинства пользователей, то выпуск отзывается обратно, также переделывается объем информации, который подается дозировано.

поле объекта не обнаружено код страны 1с

Для проверки обновления на корректность перейдем на официальный сайт разработчика. А затем в поле поиска вводим название нашей текущей конфигурации, с которой и работает предприятие. И если действительно это не локальная неурядица, а крупный баг, то сайт выдаст несколько полезных сведений. Это название — поле объекта не обнаружено, код страны, 1С релиз, к которому будет исправлена эта недоработка и дата его выхода.

1 с поле объекта не обнаружено

Баг платформы

Отличный вариант проверки — выявить нормально ли работает конфигурация с платформой. Обычно на диске сохраняется старая версия, и стоит попробовать использовать ее. Устанавливаем ее параллельно на компьютер, а потом запускаем проблемную конфигурацию уже на ней. И проверяем путем банального теста, возникает ли ошибка снова.

поле объекта не обнаружено руководитель 1с

поле объекта не обнаружено значение

Соответственно, в случае исправления неполадок, причина становится кристально понятной. Что же конкретно не так с новой платформой рассказать сможет опять же официальный сайт. Стоит перейти на него и просмотреть информацию по поиску с кода вашей обновленной платформы.

поле объекта не обнаружено описание ошибки

Чистим кеш

Некоторые пользователи считают, если вам мешает ошибка, «Поле объекта не обнаружено», информация 32-system или временные папки, — temp должна все равно оставаться неприкосновенной. Грубо говоря, вы боитесь трогать материалы, дабы не навредить. Но так поступают лишь люди, которые неграмотны в этой области. Ведь в temp-папках хранится кеш, временная информация. И она может быть как актуальной, так и устаревшей. И когда система обращается к неактуальному архиву, то у нее естественно возникают проблемы с соответствием формы объекта.

Поступаем следующим образом:

В стандартном проводнике вводим набор символов — %appdata%.

в 1с пишет поле объекта не обнаружено

Нам понадобится конкретная папка, которая носит название — 1С\1cv8.

поле объекта не обнаружено что значит

Теперь нам необходимо отсортировать сведения, то есть, папки внутри директории по дате последнего изменения. Так мы отсеем старые временные файлы от новых. Сортировка выполняется щелчком мыши по верхней строке — дата изменения. Теперь все старые файлы удаляем. Теоретически, логично попробовать очистить вообще весь кеш. Но это на первое время серьезно увеличит загрузку и темп работы системы. Хотя такой метод считается вполне безопасным.

поле объекта не обнаружено контрагент

Настройки пользователя

Если в 1С пишет «Поле объекта не обнаружено», данные, к которым обращается программа, зачастую существуют, но к ним просто нет доступа. И возможной причиной среди прочих стоит назвать некорректно настроенный профиль пользователя.

Переходим в персональные настройки в директории администрирования, а после выбираем полную очистку.

поле объекта не обнаружено данные

Укажите конкретного человека, профиль которого должен быть исправлен. Помните, что привилегии и права потом придется восстанавливать заново.

1с предприятие поле объекта не обнаружено

Конфигурация

объект не обнаружен в 1с

Самый неприятный из возможных исходов. Ведь системных методов починки здесь не предусмотрено, поэтому придется все делать вручную. И если у вас не выйдет, помните, что вы всегда можете обратиться к профессионалам, которые не только решат технические проблемы, но и помогут серьезно расширить текущие возможности программного обеспечения, персонализировать их, а также проведут полную диагностику, выяснят, исправно ли работает ваша версия «1С: Организация», при этом проверка на «Поле объекта не обнаружено» прилагается.

Итак, когда сбой возникает очередной раз, нажимаем на значок подробного разбора.

поле объекта не обнаружено организация

Нам демонстрируют конкретные модули, с которыми и связана невозможность обработки. То есть, для них не существует корректной формы.

поле объекта не обнаружено 1с как исправить

Далее включается конфигуратор. Умная система самостоятельно активирует его.

поле объекта не обнаружено 1c

Смотрим на наличие возможности обработки. Обратите внимание на свойство «видимость» файлов, являющихся проблемными, поле которых не обнаруживается.

1с проверка на поле объекта не обнаружено

Открываем общий справочник по номенклатуре, и вводим там название нашего объекта. Смотрим на выдачу. В большинстве случаев формы программа не находит.

ошибка в 1с поле объекта не обнаружено

Нам нужно перевести реквизит битого модуля в элемент, создать его форму. Просто в поле нужно зацепить строчку мышкой и вручную перетащить в необходимое окно.

поле объекта не обнаружено информация 32

Сохраняем внесенные изменения, проводим обновление конфигурации. Проверяем результат. Если проблемы была определена верно, то никаких багов больше не наблюдается. Этот метод работает со всеми конфигурациями и настройками.

1с проверка на поле объекта не обнаружено

Сбой при запуске

Часто если возникает ошибка в 1С, поле объекта не обнаружено, руководитель просто не знает, как точно поступить. Работа стоит, сотрудники ждут решения. Вызывать мастеров или обращаться к сисадмину, в компетенцию которого этого не входит.

А ведь достаточно выполнить алгоритм из трех простых действия:

  • Перезагружаем и восстанавливаем (откатываем) программное обеспечение.
  • Обращаемся на официальный сайт дистрибьютора для обновления.
  • Запускаем внутреннюю проверку конфигурации на ошибки.

И если сбой возникает конкретно при запуске, то этих трех действий более, чем в половине случаев будет достаточно для исправления неполадки.

gotovoe-reshenie-1c-sklad

«Падает» модуль, но программа работает

Сложная ситуация. Выяснить конкретную причину стоит попытаться самостоятельно, посредством алгоритма, приведенного выше. Но если этот процесс не увенчается успехом, то неполадка кроется глубже. И здесь уже без специалиста не обойтись. Придется обращаться в специализированную компанию.

Сбиты настройки пользователя

Значит, один из профилей ссылается на битые файлы. Либо на те, что уже сейчас просто не актуальны в этой конфигурации. Опять же, придется очистить все настройки этого пользователя через администрирование и восстановить его доступ с нуля.

Повреждение файла

Если поле не обнаружено, описание ошибки часто сообщает, что сам объект был поврежден. Виной тому становится некорректная установка или системная неполадка при конфликте версией программного обеспечения. Лучшим решением будет запуск Конфигуратора, а после — проверка программы на наличие повреждений тома. Таким образом, будут выявлены все файлы, которые работает на текущем этапе некорректно.

Исправляем ошибку

ошибка в 1с поле объекта не обнаружено

Теперь посмотрим на стандартные причины, которые уже были описаны выше. Но на несколько других примерах, чтобы было еще более наглядно.

Обновляем платформу

В первую очередь открываем информацию по самому обновлению. Нам нужно узнать номер поставки, чтобы дальше было удобно проводить операции по поиску.

поле объекта не обнаружено информация 32

Переходим во вкладку «сервис», там смотрим не только конкретику по версии, но и рекомендуемую платформу. А дальше сравниваем ее с той, что установлена на нашем предприятии. Если возникает несоответствие, то логично предположить, что нормально работать система не будет. Она будет обращаться к пустым формам, которые уже не существуют. И в этом варианте, если поле объекта не обнаружено, значение бага кроется просто в конфликте версий. Нужно скачать с официального сайта корректный вариант для установки.

поле объекта не обнаружено

Удаление настроек

Мы не раз уже упоминали про этот пункт. И не зря, ведь львиная доля неполадок связана с ним. Для устранения их необходимо перейти в настройки прав и доступа через меню администрирования.

поле объекта не обнаружено 1с

поле объекта не обнаружено поле

В следующем меню нам нужно сделать важный выбор. Если конфликт возникает на персональном компьютере одного сотрудника, то конкретного его настройки и вызывают сбой. Тогда нам нужно провести полную чистку его прав и параметров. Но если детально неясно, у кого проблема появляется, а кто ее миновал, то имеет смысл провести глобальную чистку. То есть, удалить настройки всех пользователей, управляющих системой. Да, потом придется повозиться, чтобы восстановить права. Как исправить ситуацию, если в 1С поле агрегатного объекта не обнаружено — это вопрос зачастую с одним ответом — просто сносить все персональные настройки.

Причины возникновения ошибки

Ошибка обновления

Восстанавливаем базу данных

Применяется методика в случае, когда все описанные выше приемы не дали результата. Тогда возникает серьезная вероятность, что неполадка кроется в самой базе. И восстановить ее весьма сложно. Если вы ранее не имели опыта в этом аспекте, возможно, лучше будет довериться профессионалам. Они быстро и без угрозы для системы проведут процедуру.

Самостоятельно же нам понадобится снова запустить конфигуратор, выбрать «тестирование и восстановление базы».

Чистка кешей 1С

По сути, в нашем случае утрачена логическая адаптация файлов с формами. Выявленные повреждения нужно исправить. Для этого придется указать логическое действие, что делать с файлом. При проведении проверки он может быть удален, создан или очищен.

Ошибка 1С при запуске программы

Создание файла — это имитация существующего элемента, которого на самом деле не будет. То есть ошибка исчезнет, потому что система будет считать, что обращается не к битому файлу. Но и открыть фантомный элемент не сможет, что логично. Если возникает баг, 1 С поле объекта не обнаружено, то после такой проверки уведомлений больше не будет, но корректная форма не появится из ниоткуда. Все равно придется обновлять платформу.

А вот в случае выбор удаления или очищения, все битые файлы будут автоматически удаляться с сервера. И обращаться к ним ПО не будет. Этот вариант тоже по-своему хорош. Но его лучше производить после обновления. Тогда, у нас останутся старые элементы, которые уже не нужны. И при обращении к ним будет появляться баг, который тормозит деятельность. А полное удаление во время тестирования все нерабочие файлы просто удалит, поэтому никакой путаницы возникать не будет.

Если вашей компании требуется ПО, с помощью которого можно ускорить рутинные операции, оптимизировать и автоматизировать многие рутинные процессы (например, маркировку товаров в магазине или инвентаризацию объектов на складе), обращайтесь в «Клеверенс». У нас найдется отличное решение для вашего бизнеса.

Заключение

Подводя итог, хотелось бы отметить два момента. Первый заключается в том, что, часто не установив причину верно, либо проводя процедуры неправильно, избавиться от неполадки не получится, но зато выйдет заработать еще парочку новых. Поэтому если вы не уверены в своих навыках, лучше обращайтесь к специалистам.

Второй заключается в том, что не стоит путать описанный выше сбой и баг, когда объект не обнаружен в 1С. Это не говорит о некорректности формы, а лишь о том, что самого элемента на диске или сервере просто нет. И решается эта ошибка совершенно иным методом.

Количество показов: 39447

I have the following query to one of my database tables:

select count(*) as mycount
  from mytable
 where fieldone = :fieldone
   and fieldtwo = :fieldtwo

Parameters are correctly loaded into the query (both of type String).

When I run this query outside the app (for instance, through the dbexplore) and replace the parameters with the actual values, I get the correct result. But when running it in the app, I get a Field 'fieldtwo' not found error, right on the Query.Open call.

Why would the BDE not find this field, when it actually exist?

Update: The following query, executed right after the first one (the one that fails), works fine in the app:

select *
  from mytable
 where fieldone = :fieldone
 order by fieldone, fieldtwo

asked Feb 21, 2011 at 13:59

Pablo Venturino's user avatar

Pablo VenturinoPablo Venturino

5,2185 gold badges34 silver badges41 bronze badges

3

The best guess is that you have populated the field list in the query, this overrides any concept of the underlying fields that are in the query and is a cause of countless confusion.

Right click on the query, pick the fields editor clear all the values that are there and then choose ‘add all fields’ that should cause the missing field to appear once the query is executed.

I think it should auto-populate the fields if there are no defined fields when the query is executed, so you may not need to choose ‘add all fields’ after clearing the fields.

answered Feb 21, 2011 at 14:36

Anya Shenanigans's user avatar

Anya ShenanigansAnya Shenanigans

91.7k3 gold badges109 silver badges123 bronze badges

1

Whenever we come across a problem like this we tend to remove the query from the form and create it dynamically at run time… It depends how ingrained into the form it is…

E.g. If you have a data aware control looking at «fieldtwo» which tries to fetch some data when the underlying data set gets updated then it’ll trigger an error like this, but it’s more obvious when you’ve written code such

SomeEdit.Text = Query.FieldByName("fieldtwo").AsString;

That way it falls over on the relevant line instead of the open (triggering a related event)

answered Feb 21, 2011 at 15:43

James's user avatar

JamesJames

9,7735 gold badges34 silver badges58 bronze badges

2

Clear the query content using Query1.SQL.Clear; statement before opening it.

Other reason can be you are opening other database which may not have the specified field. Be sure that both the DatabaseName's in your app and dbexplore are same

answered Feb 21, 2011 at 14:22

Bharat's user avatar

BharatBharat

6,8285 gold badges35 silver badges57 bronze badges

5

I used to face porblems with BDE when i have SQLExplorer open and the app accesses the DB at the same time (but i had errors like ), try closing the Explorer it may help, if not i would build the SQL as text without the Parameters and try if it works then (if its possible in your situation).

answered Feb 21, 2011 at 14:59

CloudyMarble's user avatar

CloudyMarbleCloudyMarble

37k70 gold badges97 silver badges130 bronze badges

1

I don’t use parameters, so I’m just grabbing at straws here. I still use the BDE regularly, but am no expert. I find I shy away from more complex expressions (which yours is not!) because of the little «surprises» like this that the BDE throws at you.

Perhaps adding parentheses:

 where (fieldone = :fieldone)
 and (fieldtwo = :fieldtwo)

Or, single or double quote signs (this probably will make it worse?)

 where (fieldon = ":fieldone")
 and   (fieldtwo = ":fieldtwo")

Or, to explore the problem, remove the «and fieldtwo = :fieldtwo» line and see if it runs.

Would it be possible for you to do your own parameter substitution with a StringReplace as in

 Query1.SQL.Text := StringReplace(Query1.SQL.Text, ":fieldone", "MyVarName",[rfReplaceAll   ]); 

answered Feb 21, 2011 at 15:36

RobertFrank's user avatar

RobertFrankRobertFrank

7,33211 gold badges53 silver badges99 bronze badges

2

If you are creating a ClienDataSet in memory by the Create DataSet method, you should check the TFieldDefs property, which must have a different field name or not created

answered May 23, 2017 at 2:23

Martin Miguel Parody Narvaez's user avatar

I was having a weird but small problem, I’ll post in case it will help someone in some day.

uRegPeople.pas

with frmEditPerson do
  begin
    PersonID := qryPerson.FieldByName(ID).AsInteger;
    ...
  end;

I had qryPerson both in frmRegPeople and in frmEditPerson, by using with I was referencing to frmEditPerson.qryPerson, however I wanted to reference to frmRegPeople.qryPerson. Then I need to change to the following code.

with frmEditPerson do
  begin
    PersonID := Self.qryPerson.FieldByName(ID).AsInteger;
    ...
  end;

// Explanation
// qryPerson --> frmEditPerson.qryPerson;
// Self.qryPerson --> frmRegPeople.qryPerson;

answered Dec 21, 2018 at 13:37

Soon Santos's user avatar

Soon SantosSoon Santos

2,10722 silver badges44 bronze badges

Понравилась статья? Поделить с друзьями:
  • Ошибка пневмы на туареге
  • Ошибка плагин не установлен на сайте фнс
  • Ошибка подписания документа ошибка инициализации плагина
  • Ошибка позиционирования каретки
  • Ошибка пневмы е53