Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавить пункт в Combobox, тип источника строк таблица или запрос 
V
    Опции темы
Woodlin
Дата 20.5.2010, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



Желаю всем форумчанам здравствовать!

На форме комбобокс, в свойствах источник строк установлен "Таблица или запрос", список заполняется запросом из модуля. В выпадающем списке несколько колонок. 
Возникла необходимость добавить в список пункт (типа "< нет >" или "не выбран" )

Подскажите как это реализовать?
additem не подходит потому что тип источника строк не "список значений",
а если тип источника строк поставить = "список значений", то список запросом не заполняется...
PM MAIL ICQ   Вверх
Akina
Дата 20.5.2010, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Woodlin @  20.5.2010,  09:51 Найти цитируемый пост)
additem не подходит потому что тип источника строк не "список значений",

Задай именно "Список значений" и заполни его при открытии формы.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Woodlin
Дата 20.5.2010, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



Цитата(Akina @  20.5.2010,  12:05 Найти цитируемый пост)
Задай именно "Список значений" и заполни его при открытии формы. 


Akina, разжуй пожалуйста как это провернуть. Попытался через AddItem заполнить список, но в итоге в нём пропали названия колонок.
PM MAIL ICQ   Вверх
Akina
Дата 20.5.2010, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Woodlin @  20.5.2010,  12:54 Найти цитируемый пост)
в нём пропали названия колонок

Почему пропали? они НЕ ПОЯВИЛИСЬ. Да и откуда бы? от источника данных-то ты его оторвал.
Их тоже следует задавать при заполнении...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Woodlin
Дата 21.5.2010, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



Akina, чего то никак не получается.

Поправте меня если я не так делаю... раньше у меня для заполнения списка комбобокса (тип источника строк "Таблица или запрос")  был запрос такого типа:
Код

    Me!№_крышки.RowSource = "SELECT Номер_по_чертежу AS Номер, D, L " & _
         "FROM Изложница_Г_Крышки " & _
         "WHERE Расточка=0 AND Заказана=0 AND Номер_изложницы='" & Nom_Izl & "' " & _
         "UNION SELECT Расточка_номер, Расточка_D, Расточка_L " & _
         "FROM Изложница_Г_Крышки INNER JOIN Изложница_Г_Расточка_Крышки ON Изложница_Г_Крышки.код = Изложница_Г_Расточка_Крышки.[Код(Крышки)] " & _
         "WHERE Номер_изложницы='" & Nom_Izl & "'"


Потом когда понадобилось вставить в список "пустое" значение Вы посоветовали задать тип источника строк "Список значений" и заполнять его при открытии формы. Ничего лучше придумать я не смог и делал это через рекордсет, который заполнялся из запроса, код которого приведён чуть выше. Вот кусок кода:
Код

   Set Rst_List = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
    Rst_List.MoveFirst
    
    Me!№_втулки.RowSource = ""
       Do Until Rst_List.EOF
          Me!№_втулки.AddItem Rst_List.Fields(1).Value
          Rst_List.MoveNext
       Loop

только не пойму как заполнить названия колонок комбобокса и заполнить сами колонки значениями, заполняется только первая колонка и та без названия.

Где я не так делаю?
PM MAIL ICQ   Вверх
Woodlin
Дата 21.5.2010, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



Получилось заполнить список комбобокса с помощью Рекордсет таким образом:
Код

Dim Rst_List As DAO.Recordset
Set Rst_List = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
Set Me!№_втулки.Recordset = Rst_List


вот только добавить в этот рекордсет запись не получается, подозреваю что дело в запросе на объединение, из которого набираются записи в рекордсет. Вопрос всё в том же... ну как добавить эту долбаную "пустую" запись в комбобокс???
PM MAIL ICQ   Вверх
Woodlin
Дата 21.5.2010, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



ПОЛУЧИЛОСЬ!!!  smile 
Цитата(Akina @  20.5.2010,  12:05 Найти цитируемый пост)
Задай именно "Список значений" и заполни его при открытии формы. 


Akina, Вы абсолютно правЫ, а мне надо было внимательно причитать ВСЮ справку по AddItem Method Может кому понадобится сделал вот так:
Код

Dim Rst_List As DAO.Recordset

Dim strSQL As String
Me!№_втулки.RowSource = ""
    Me!№_втулки.AddItem Item:="Номер; D1; L; D2; L2", Index:=0
    Me!№_втулки.AddItem Item:="< нет >", Index:=1
       Do Until Rst_List.EOF
          Me!№_втулки.AddItem Item:="" & Rst_List.Fields(0).Value & "; " & Rst_List.Fields(1).Value & "; " & _
          & Rst_List.Fields(2).Value & "; " & Rst_List.Fields(3).Value & "; " & Rst_List.Fields(4).Value & ""
          Rst_List.MoveNext
       Loop

в strSQL запрос на объединение из двух таблиц

Это сообщение отредактировал(а) Woodlin - 21.5.2010, 12:25
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

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

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.