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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Ошибка #Имя? Access2003
 
 автор: Ler   (11.03.2009 в 12:31)   личное сообщение
 
 

Добрый день! помогите пожалуйста чайнику...

Создал запрос на выборку с таким кодом

SELECT [Холодный период].[1], [Холодный период].[2]
FROM Города LEFT JOIN [Холодный период] ON Города.[Код города]=[Холодный период].[Код города]
WHERE ((([Холодный период].[Код города])=Forms!Исх_данные!Город));

при попытке вывести результат запроса в поле формы (в свойствах данные указываю =[ЗапросХ1]![1]) вместо значения выдает #Имя?

з.ы. Если что-то еще надо скажите что... я аксес изучал в институте на ламерском уровне...

  Ответить  
 
 автор: Lukas   (11.03.2009 в 12:41)   личное сообщение
 
 

В TextBox можно показать только одно значение, а вы хотите показать в нем набор данных всего запроса. Используйте ListBox или ComboBox, в свойстве "источник строк" которого укажите запрос.

  Ответить  
 
 автор: Ler   (11.03.2009 в 12:47)   личное сообщение
 
 

Но ведь в принципе у меня в результате запроса выдает одно значение. Поэтому я и применил элемент управления "Поле".

  Ответить  
 
 автор: Lukas   (11.03.2009 в 12:49)   личное сообщение
 
 

1. Можно назначить форме источником - ваш запрос, а TextBox-у источником - имя того поля запроса, значение которого вам нужно отобразить в этом TextBox.
2. Если необходимо получить единственное значение в TextBox, можно использовать в источнике данных TextBox-а функцию DlookUp, например.

  Ответить  
 
 автор: Ler   (11.03.2009 в 13:53)   личное сообщение
 
 

А как использовать функцию DlookUp, не подскажете?

  Ответить  
 
 автор: Lukas   (11.03.2009 в 13:58)   личное сообщение
 
 

http://www.hiprog.com/forum/srchform.php?id_forum=1&name=Dlookup&numberthemes=30&srchwhere=2&id_forum=1&logic=0&send=%CD%E0%E9%F2%E8

+ справка Acсess

  Ответить  
 
 автор: Ler   (11.03.2009 в 14:35)   личное сообщение
 
 

воспользовался поиском. Ввел вот это

=DLookup("[1]", "Холодный период", "[ЗапросХ1]"), где
первое- название столбца в таблице
второе - название таблицы
третье - название запроса на выборку значения

выдает следующую ошибку:
пропущен операнд или оператор, введен недопустимый знак или лишняя запятая, либо задана строка без ковычек...

  Ответить  
 
 автор: Lukas   (11.03.2009 в 14:51)   личное сообщение
 
 

Второй аргумент - строка, идентифицирующая набор данных. Можно использовать имя запроса без параметров.
Третий аргумент - критерий. Если ваш запрос возвращает одну запись, можно опустить.
Примерно так:
=Dlookup("1","ЗапросХ1")

  Ответить  
 
 автор: Ler   (11.03.2009 в 15:12)   личное сообщение
 
 

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

  Ответить  
 
 автор: Lukas   (11.03.2009 в 15:23)   личное сообщение
 
 

=DlookUp("1","ЗапросХ1")
1. запятую заменить на точку с запятой
2. Проверить возвращает - ли запрос данные.
3. Проверить имя поля и запроса в выражении.

  Ответить  
 
 автор: Ler   (11.03.2009 в 16:20)   личное сообщение
 
 

1. сделал
2. запрос работает (рядом список сделал на основе того же запроса. работает как часы).
3. имя поля и запроса в выражении копировал из названия...

  Ответить  
 
 автор: Lukas   (11.03.2009 в 16:25)   личное сообщение
 
 

Прицепите в архиве вырезку самого необходимого, посмотрим.

  Ответить  
 
 автор: Ler   (11.03.2009 в 16:52)   личное сообщение
 
 

архив весит 192 Кб. поэтому залил сюда http://slil.ru/27042490

  Ответить  
 
 автор: Lukas   (11.03.2009 в 17:15)   личное сообщение
14 Кб.
 
 

Запрос то тут и правда ни к чему:

=DLookUp("[1]";"[Холодный_период]";"[Код города]=" & [Формы]![Исх_данные]![Город])

  Ответить  
 
 автор: Ler   (11.03.2009 в 17:30)   личное сообщение
 
 

Всё извиняюсь, вставил новое поле и всё получилось... Спасибо Вам большое ребята!!!

  Ответить  
 
 автор: Lukas   (11.03.2009 в 17:40)   личное сообщение
37 Кб.
 
 

В прицепе файл с одной формой Вывод.
Импорт в свой файл, предварительно удалив старую.
Тренируемся "на кошках".

  Ответить  
 
 автор: Анатолий (Киев)   (11.03.2009 в 15:31)   личное сообщение
 
 

ИМХО, здесь вам не нужен запрос.
=DLookup("[1]"; "[Холодный период]"; "[Код города]=" & NZ([Город]; 0))
Этого достаточно, если всё происходит в форме "Исх_данные", [Код города] - числовое и поле (поле со списком?) "[Город]" возвращает число.

  Ответить  
 
 автор: Ler   (11.03.2009 в 15:58)   личное сообщение
 
 

Не совсем так:
вначале в форме "исх_данные" три поля со списком, где поочередно выбираются страна, область и город... потом кнопкой "далее" попадаем в другую форму "Вывод", где и нужно вывести значение запросх1 в поле...
код города числовое поле...

з.ы. попробовал создать список вместо поле (с источником строк запросх1). выводит нормально...

  Ответить  
 
 автор: Анатолий (Киев)   (11.03.2009 в 16:38)   личное сообщение
 
 

=DLookup("[1]"; "[Холодный период]"; "[Код города]=" & NZ(Forms![исх_данные]![Город]; 0))
Форма "исх_данные" должна быть открыта.

  Ответить  
 
 автор: Ler   (11.03.2009 в 16:57)   личное сообщение
 
 

теперь он вместо #Имя? пишет #Ошибка

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