Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 глюк в поле со списком  [new]
evgen_travolta
Member

Откуда:
Сообщений: 90
Вобщем дело в том, имеется поле со списком с такими свойствами:

Число столбцов=2
Ширина столбцов=4см;4см
Ширина списка=8см
Тип источника строк=Список значений
Источник строк=3;3;1;1;2;1;4;4
Присоединенный столбец=2

ну вот вроде и все остальные свойства по дефолту,
так вот в таком поле после выбора второй еденички,
выделено красным, в ключе должно быть 2, а там 1,
почему подменяется значение не понятно.

Есть у кого какие мысли по поводу этого?

Заранее спасибо
23 апр 07, 13:45    [4056861]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
Usver
Member

Откуда: S_URAL
Сообщений: 191
Выделенная красным 1 попадает в 3-ю строку, 2-й столбец. А он присоединенный=> попадает в исходную табл.
23 апр 07, 13:55    [4056935]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
evgen_travolta
Member

Откуда:
Сообщений: 90
Usver
Выделенная красным 1 попадает в 3-ю строку, 2-й столбец. А он присоединенный=> попадает в исходную табл.


да это все понятно, я наверное непонятно выразил свой вопрос,
вобщем я выбрал третью строку в списке с ключом 2, а после выбора
мне нужен ключ той строки которую я выбрал а там не 2 а 1, т.е.
ключ второй строки, почему так?
23 апр 07, 14:01    [4057005]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
KrukVN
Member [заблокирован]

Откуда: РБ, Гомель
Сообщений: 778
о каком ключе Вы говорите если нет уникальности?
23 апр 07, 14:07    [4057044]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
KrukVN
Member [заблокирован]

Откуда: РБ, Гомель
Сообщений: 778
в Вашем случае акс видит первую попавшуюся единичку, а она вторая, а не третья
выбираем третью, а получаем вторую. все верно и это не глюк. будет уникальность значений - будет все правильно
23 апр 07, 14:09    [4057068]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
Usver
Member

Откуда: S_URAL
Сообщений: 191
evgen_travolta
Usver
Выделенная красным 1 попадает в 3-ю строку, 2-й столбец. А он присоединенный=> попадает в исходную табл.


да это все понятно, я наверное непонятно выразил свой вопрос,
вобщем я выбрал третью строку в списке с ключом 2, а после выбора
мне нужен ключ той строки которую я выбрал а там не 2 а 1, т.е.
ключ второй строки, почему так?


Тогда напрашивается, чтобы присоединяемые значения были уникальными, иначе Акс подставляет первую найденную 1.
23 апр 07, 14:13    [4057100]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
Usver
Member

Откуда: S_URAL
Сообщений: 191
Опоздал :)
23 апр 07, 14:14    [4057117]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
KrukVN
Member [заблокирован]

Откуда: РБ, Гомель
Сообщений: 778
автор
Опоздал :)

ниччо, так понятнее будет :)
23 апр 07, 14:17    [4057146]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
evgen_travolta
Member

Откуда:
Сообщений: 90
KrukVN
о каком ключе Вы говорите если нет уникальности?


уникальность именно в первом столбце.

эти числа просто пример, а можно вот так:

Источник строк=3;12345;1;54321;2;54321;4;445665

допустим есть справочник оборудования, номера не уникальны,
у них есть искусственный ключ т.е. счетчик, так вот не буду же я
показывать пользователю эти уникальные коды, а показываю номера,
и тут если есть одинаковые номера Access ставит не то которое
выбрал пользователь, а то которое первое, а мне потом нужно некоторые
действия проделать с этим оборудованием.
23 апр 07, 14:19    [4057169]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
KrukVN
Member [заблокирован]

Откуда: РБ, Гомель
Сообщений: 778
автор
уникальность именно в первом столбце

тогда присоединенным должен быть первый столбец, а не второй
23 апр 07, 14:20    [4057186]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
evgen_travolta
Member

Откуда:
Сообщений: 90
KrukVN
автор
уникальность именно в первом столбце

тогда присоединенным должен быть первый столбец, а не второй


не так не пойдет, в таблицу то попадают значения
присоединенного столбца, т.е. будет попадать ключ,
а нужно чтобы попадал номер.
23 апр 07, 14:26    [4057241]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
Usver
Member

Откуда: S_URAL
Сообщений: 191
evgen_travolta
KrukVN
о каком ключе Вы говорите если нет уникальности?


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


Тогда ширина колонки с ключом=0.

Интересно, а если номера оборудования совпадают, Акс их разлечить не может, как это сделает Юзер? :)
23 апр 07, 14:27    [4057252]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
bILL HEAD
Guest
автор
допустим есть справочник оборудования, номера не уникальны,
у них есть искусственный ключ т.е. счетчик, так вот не буду же я
показывать пользователю эти уникальные коды, а показываю номера
а какой смысл показывать одинаковые строки в списке?
как пользователь сделает выбор между неуникальными ? (на основании чего?)
23 апр 07, 14:28    [4057267]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
KrukVN
Member [заблокирован]

Откуда: РБ, Гомель
Сообщений: 778
Короче, если Вы хотите одекватности от поля со списком, то нуна чтобы в присоединенном столбце была уникальность значений
23 апр 07, 14:32    [4057306]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
evgen_travolta
Member

Откуда:
Сообщений: 90
Usver
evgen_travolta
KrukVN
о каком ключе Вы говорите если нет уникальности?


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


Тогда ширина колонки с ключом=0.

Интересно, а если номера оборудования совпадают, Акс их разлечить не может, как это сделает Юзер? :)


на счет ширины колонки с ключом так и есть,
а на счет того как юзера различают номера, так там
кроме номера еще выводится тип оборудования, а эта
комбинация уникальна.
23 апр 07, 14:32    [4057308]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
bILL HEAD
Guest
чего вы паритесь ?
акс делает типа FINDFIRST по присоединенному полю в своем списке
что вы от него хотите ? чтобы он прочитал мысли юзера
23 апр 07, 14:36    [4057341]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
evgen_travolta
Member

Откуда:
Сообщений: 90
bILL HEAD
чего вы паритесь ?
акс делает типа FINDFIRST по присоединенному полю в своем списке
что вы от него хотите ? чтобы он прочитал мысли юзера


я не хочу чтобы он читал мысли, а хочу чтобы в поле было именно то значение которое
выбрали, вот если в обработчике после обновления если сделать прерывание и добавить
в Watches :
ME!Поле1.Column(0)
тогда там стоит то что надо, но потом Access
изменяет значение, кто его просил спрашивается?
23 апр 07, 14:44    [4057420]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
KrukVN
Member [заблокирован]

Откуда: РБ, Гомель
Сообщений: 778
Ну это уж слишком :)
Вы выбираете не из того, что Вам видно, а из присоединенного столбца, и если в нем нет уникальности, то... гы... кажется ща зациклит... повторяюсь уже
23 апр 07, 14:47    [4057450]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
KrukVN
Member [заблокирован]

Откуда: РБ, Гомель
Сообщений: 778
Скажите Вы видите разницу между 1 и 1 или между 54321 и 54321?
А акс, что телепат?
23 апр 07, 14:50    [4057463]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
evgen_travolta
Member

Откуда:
Сообщений: 90
KrukVN
Скажите Вы видите разницу между 1 и 1 или между 54321 и 54321?
А акс, что телепат?


а Delphi со своим TDBLookupComboBox телепат чтоли,

я еще раз говорю во время выполнения Поле1_AfterUpdate, в ключе именно то значение которое выбрал пользователь, но потом оно изменяется на первое, если выбрали второй, третий и т.д. лично я считаю это неправильно.
23 апр 07, 15:08    [4057632]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
ruprext
Member

Откуда: 55°19'N - 50°27'E
Сообщений: 879
evgen_travolta
лично я считаю это неправильно.

напишите письмо биллу гейтсу, он сделает другой аксес... телепатический
23 апр 07, 15:14    [4057687]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
bILL HEAD
Guest
кажэтся я понял проблему
попробуйте свойство АВТОПОДСТАВА = нет
23 апр 07, 15:15    [4057701]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
evgen_travolta
Member

Откуда:
Сообщений: 90
bILL HEAD
кажэтся я понял проблему
попробуйте свойство АВТОПОДСТАВА = нет


пробовал ----> не помогает
23 апр 07, 15:16    [4057710]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
Usver
Member

Откуда: S_URAL
Сообщений: 191
evgen_travolta
KrukVN
о каком ключе Вы говорите если нет уникальности?


... а мне потом нужно некоторые
действия проделать с этим оборудованием.


Ну, гипотетически, в табл. занесется номер (неуникальный) оборудования тот, который имеет ввиду пользователь. А при дальнеших обработках как Акс будет делать выборку? Как будет выбирать "то что надо" ?
И что все таки, что мешает использовать уникальный ключ? (Я так понимаю, это некоторый справочник, или данные приведены в кач-ве примера)
23 апр 07, 15:16    [4057712]     Ответить | Цитировать Сообщить модератору
 Re: глюк в поле со списком  [new]
evgen_travolta
Member

Откуда:
Сообщений: 90
To KrukVN: по моему ничего телепатического тут нет, Вы сами попробуйте воспроизведите данную ситуацию:

повесьте на форму список и одну кнопку, в списке сделайте такой набор данных какой я привел в первом своем посте, потом запустите форму на выполнение и выберите в списке Значение "1" с ключом "2", далее в событии OnAfterUpdate добавьте в Watches :
Me!Поле.Column(0), запомните какое там значение, после полной обработки данного события нажмите на кнопку (в событии OnClick код msgbox Me!Поле.Column(0)) и увидите что там.
ради интереса проделайте эти нехитрые операции.
23 апр 07, 15:24    [4057784]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить