Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подскажите,что я делаю не так???
 
 автор: zhebov_andrey   (01.06.2009 в 15:28)   личное сообщение
21 Кб.
 
 

Уже третий день не могу победить эту проблему (прикрепил)...
Делаю ПолеСоСписком2 зависимым от полясосписком0, а оно получается пустым...Что я еще не сделал/не заметил/не понял???

  Ответить  
 
 автор: Denis V.   (01.06.2009 в 15:51)   личное сообщение
 
 

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

  Ответить  
 
 автор: Goblin   (01.06.2009 в 23:53)   личное сообщение
24 Кб.
 
 

Я только предполагать могу. Вот так?

  Ответить  
 
 автор: snipe   (02.06.2009 в 02:55)   личное сообщение
27 Кб.
 
 

Еще один вариант......
(не верьте тому что видите, на самом деле все по другому)
то что показывает поле со списком не обязательно хранится в таблице в том же виде

  Ответить  
 
 автор: snipe   (02.06.2009 в 07:54)   личное сообщение
 
 

Не торопись применять то что я послалал (а я делал на основе Goblin а тот в свою очередь на основе Вашего файла).....
там ошибка......
сейчас сделаю и отправлю

  Ответить  
 
 автор: zhebov_andrey   (02.06.2009 в 08:27)   личное сообщение
 
 

Так и не понял как это делается (в смысле убрать повторяющиеся значения в поле [Класс_заболеваний]??? Буду ждать файл!!!

  Ответить  
 
 автор: snipe   (02.06.2009 в 08:30)   личное сообщение
43 Кб.
 
 

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

и еще ...я так и не понял назначение поля Локализация в таблице основная - мне кажется оно лишнее

  Ответить  
 
 автор: zhebov_andrey   (02.06.2009 в 10:46)   личное сообщение
 
 

Snipe, поясните пожалуйста, как это сделать (убрать одинаковые значения в полесосписком [Класс_заболеваний], а то на примере работает, а как делается не знаю...

  Ответить  
 
 автор: snipe   (02.06.2009 в 11:06)   личное сообщение
 
 

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

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

  Ответить  
 
 автор: zhebov_andrey   (02.06.2009 в 11:11)   личное сообщение
 
 

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

  Ответить  
 
 автор: snipe   (02.06.2009 в 11:19)   личное сообщение
 
 

Тогда нужно сделать следующее
1. В таблице основная поле КлассЗаболевания сделать текстовым - количество знаков около 100
2. В форме в свойствах ПоляСоСписком0 в на вкладке Данные значение в строке ПРисоединенный столбец установить равное 2
3. В форме в свойствах ПоляСоСписком2 в на вкладке Данные значение в строке ПРисоединенный столбец установить равное 2
4. В форме в свойствах ПоляСоСписком2 в на вкладке Данные значение в строке Данные изменить на Локализация

  Ответить  
 
 автор: snipe   (02.06.2009 в 11:20)   личное сообщение
 
 

Это еще не все

  Ответить  
 
 автор: snipe   (02.06.2009 в 11:26)   личное сообщение
 
 

Источник строк ПолеСоСписком2 изменить вот на это.....
SELECT [МКБ-Локализация].МКБ, [МКБ-Локализация].Локализация, Класс_Заболевания.КлассЗаболевания FROM Класс_Заболевания INNER JOIN [МКБ-Локализация] ON Класс_Заболевания.IDКласса=[МКБ-Локализация].IDКласса WHERE (((Класс_Заболевания.КлассЗаболевания)=Forms!Основная!ПолеСоСписком0));

  Ответить  
 
 автор: snipe   (02.06.2009 в 11:30)   личное сообщение
 
 

вроде все.......
только зачем в таблице хранить текстовую информацию......
если вместо Класса Заболевания - можно хранить его числовое значение
а вместо Локализации и МКБ хранить только МКБ (как я понял МКБ уникально и соответствует только одному заболеванию) ...соответственно использование ключевого поля необязательно

  Ответить  
 
 автор: zhebov_andrey   (02.06.2009 в 11:50)   личное сообщение
 
 

Просто потом вся информация выгружается в Excel для последующего анализа....

  Ответить  
 
 автор: snipe   (02.06.2009 в 11:54)   личное сообщение
 
 

Предугадывая Ваш следующий вопрос.....
Что бы заполнялось поле МКБ в таблице Основная нужно на форме создать поле данные увязать с полем МКБ а на событие после обновления ПоляСоСписком2 повешать код

Me!поле8 = Me!ПолеСоСписком2.Column(0)

(поле8 - это у меня а у Вас оно может по другому называться)

  Ответить  
 
 автор: zhebov_andrey   (02.06.2009 в 13:32)   личное сообщение
 
 

  Ответить  
 
 автор: Goblin   (02.06.2009 в 22:55)   личное сообщение
66 Кб.
 
 

Ну по уникальным записям в поле со списком проще так. Поле со списком. Источник запрос. В этом запросе правой клавишей и далее по рисунку.

  Ответить  
 
 автор: zhebov_andrey   (03.06.2009 в 08:04)   личное сообщение
 
 

Вот спасибо за это огромное, а я голову ломаю как это сделано....

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList