Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Круглый стол
  
Правила КС
>> Настройки

Фильтр вопросов
>> Новые вопросы
отслеживать по
>> Новые ответы

Избранное

Страница вопросов
Поиск по КС


Специальные проекты:
>> К л ю к в а
>> Г о л о в о л о м к и

Вопрос №

Задать вопрос
Off-topic вопросы

Помощь

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  00:12[Войти] | [Зарегистрироваться]
Ответ на вопрос № 50972

12-04-2007 05:09
Ошибка: "Аргументы имеют неверный тип,  выходят за пределы допустимого диапазона или вступают в конфликт друг с другом"

Создана база данных в MS Access XP, содержащая две таблицы, одна основаная, вторая дополнительная (Таблица Отделы и таблица Сотрудники, основная и дополнительная соответственно). Управление базой сделал с помощью ADO в Delphi 7. Подключил базу через ADO Connection, создал DataSource, ADO Table и DBGrid для каждой таблицы. И при попытке установить Master Source и MAster Fields (для того чтобы в DBGrid дополнительной таблицы просматривать сотрудников только опереденного отдела) в дополнительной таблице выдает выше написанную ошибку. В Access связи не устанавливал.
Может кто подскажет как с этим бороться? Заранее спасибо!

[+] Добавить в избранные вопросы

Отслеживать ответы на этот вопрос по RSS

Ответы:


Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице.
Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.

08-09-2009 01:00
Понимаю, что тема старая, но отвечу, так сказать, для себя)

1. Именовать поля и таблицы в Access по-английски, конечно, желательно, но не обязательно.
2. Когда устанавливаете связи MasterSource и MasterFields сделайте таблицу Active=false. Связь будет создана, а так же автоматом заполнится свойство IndexFieldNames. Вот его то и надо обнулить и после этого только сделать таблицу Active=true. Тогда описанная выше ошибка не возникнет.

01-05-2007 06:29
>>> все таки Delphi при помощи MasterSource и MasterFields создает связи
Работать то конечно работает, но не так. Когда вы устанавливаете "связи" в Delphi, это не влияет никак на тиблицы, поэтому при желании можно внести некорректиные данные - Detail, ссылающийся на несуществующий Master например. Если же Вы укажете связи в Access, то тем самым ГАРАНТИРОВАННО получите корректные данные, так как за этим будет следить теперь сам сервер.

16-04-2007 00:30 | Сообщение от автора вопроса
Python, спасибо огромное за помощь! Сделал все имена полей и таблица на английском языке и все заработало....Интересный факт: все работает как с созданием связей в схеме данных Access, так и без создания связей. То есть получается, что все таки Delphi при помощи MasterSource и MasterFields создает связи, а не Access.

15-04-2007 06:22 | Вопрос к автору: запрос дополнительной информации
>>> одна основаная
Основаная на чем? Ладно, шутка, я понял, про что речь. Только наверное, главная все-же таблица Сотрудники, так как именно в них должно быть поле - ссылка на код отдела, в котором работает данный сотрудик.
>>> В Access связи не устанавливал
Вот это то и неправильно. Поля, которые ты связываешь в Delphi должы быть обязательно связаны в Access. Потому что ты пишешь КЛИЕНТ - он только отображает даные, все операции по проверкам (в частности, тому, что ты ссылаешься в таблице Сотрудники на существующий отдел) должен проводить СЕРВЕР - он для того и дан, а это устанавливается через foreign key, или связи в терминах Access. Дайте посмотреть типы полей в той и другой таблице, по которым осуществляете связь. У Вас должен быть DepNo в таблице Отделы, типа Счетчик, или Целочисленный (если номера отделов выдаются централизованно), а в таблице Сотрудники должно быть поле Depart типа Целочисленый - в нем должна быть ссылка на DepNo таблицы Отделы. Кстати, советую все наименования объектов базы осуществлять на английском языке - даже с учетом того, что Access поддерживает работу с русскоязычными именами таблиц и полей. При создании связей обязательно установите галочку - проверять ссылоную целостность, это не позволит Вам внести некорректные данные, потому полезно.

12-04-2007 23:54 | Сообщение от автора вопроса
Причем, если создать связь в самом Access и из него же сделать форму, то связь работает и отображаются только сотрудники принадлежащие одному отделу.....

12-04-2007 23:44 | Сообщение от автора вопроса
Да вроде поля одинаковые. Связь устанавливаю по полю Код отдела (тип: числовой)

12-04-2007 08:55
Мне кажеться, поля через которые ты связываешь между собой две таблицы, разные по типу. А связи в Access тут не причем уж точно.

Добавьте свое cообщение

Вашe имя:  [Войти]
Ваш адрес (e-mail):На Королевстве все адреса защищаются от спам-роботов
контрольный вопрос:
Зимой — белый, летом — серый. Кто?
в качестве ответа на вопрос или загадку следует давать только одно слово в именительном падеже и именно в такой форме, как оно используется в оригинале.
Надоело отвечать на странные вопросы? Зарегистрируйтесь на сайте.
Тип сообщения:
Текст:
Жирный шрифт  Наклонный шрифт  Подчеркнутый шрифт  Выравнивание по центру  Список  Заголовок  Разделительная линия  Код  Маленький шрифт  Крупный шрифт  Цитирование блока текста  Строчное цитирование
  • вопрос Круглого стола № XXX

  • вопрос № YYY в тесте № XXX Рыцарской Квинтаны

  • сообщение № YYY в теме № XXX Базарной площади
  • обсуждение темы № YYY Базарной площади
  •  
     Правила оформления сообщений на Королевстве

    Страница избранных вопросов Круглого стола.
      
    Время на сайте: GMT минус 5 часов

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

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования