Помогите пожалуйста с Browse

ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
VladimirGT
Посетитель
Сообщения: 44
Зарегистрирован: 27 Апрель 2010, 21:05

Помогите пожалуйста с Browse

Сообщение VladimirGT »

У меня установлен последний релиз 9.1, тип базы MS SQL.
Я в форме использую дочерний Browse и Range Limit при открытии отображается все корректно, но стоит мне на Browse сделать добавление или какую-либо другую операцию, то некоторые записи в таблице начинают дублироваться, закрыл форму, опять открыл все хорошо, т.е. любая операция по изменению записи ведет к ее дублированию. Если в Browse одна, то все корректно, а при 2-х и более начинается дублирование одной и той же записи. Хотя я использую Range Limit не на дочернем Browse, то все работает замечательно.
Посоветуйте пожалуйста, что-нибудь в первый раз такое вижу, голову поломал не могу понять в чем дело.

Заранее благодарен, с Уважением Владимир!
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Помогите пожалуйста с Browse

Сообщение kreator »

По Вашим броузам не очень понятно, где что, где дочерний и т.д. просто такое поведение происходит при просмотре броуза по ключу (Кларионовскому) не уникальному. При работе с SQL это недопустимо. Например, сортировка сотрудников в броузе происходит по фамилии, имени, отчеству, а ключ этот, естественно не уникальный, броуз показывает ерунду, надо в ключ (кларионовский) добавить уникальный ID сотрудника, SQL индексы трогать не надо. Специфика работы Клариона.
We are hard at work… for you. :)
VladimirGT
Посетитель
Сообщения: 44
Зарегистрирован: 27 Апрель 2010, 21:05

Re: Помогите пожалуйста с Browse

Сообщение VladimirGT »

Есть таблица с ID к этой таблице привязана другая таблица по ключу, с ключами вроде все хорошо, но отображение в Browse при использовании Range Limit все-равно некорректное :(
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Помогите пожалуйста с Browse

Сообщение kreator »

Нет, Range Limit не причём, он отвечает за фильтр. Проблема в Order. Какой Order в Вашем запросе / броузе?
We are hard at work… for you. :)
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Помогите пожалуйста с Browse

Сообщение Алексей- Софт-Центр »

Добрый день!
Владимир, не важно кто к чему привяза и по каким ключам.
Важно, при описании файла конкретного броуза, присвоить (установить) ему его составной ключ,
который будет содержать одно из полей ключа - уникальное значение!
Kreator Вам про это писал
Например, сортировка сотрудников в броузе происходит по фамилии, имени, отчеству, а ключ этот, естественно не уникальный, броуз показывает ерунду, надо в ключ (кларионовский) добавить уникальный ID сотрудника


Алексей
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Помогите пожалуйста с Browse

Сообщение kreator »

И, если идти дальше в правильном направлении. Мы делаем так. Есть две таблицы. Связываем их на стороне сервера через форейн-ключ, в котором одно поле (ID-шник). В нашем словаре прописываем эту связь, в принципе, только для того, чтобы Кларион знал, что за целостность БД отвечает сервак. А в интерфейсе связываем их по prop:SQLFilter. Потому что, например, сортировка может быть разная, а фильтр для связи двух таблиц один.
We are hard at work… for you. :)
VladimirGT
Посетитель
Сообщения: 44
Зарегистрирован: 27 Апрель 2010, 21:05

Re: Помогите пожалуйста с Browse

Сообщение VladimirGT »

Алексей- Софт-Центр, kreator -> большое спасибо, я просто немного не так понял kreator. Ребята большое Вам спасибо все получилось!

БОЛЬШОЕ СПАСИБО ОТ ДУШИ !!!
Ответить