combobox & Access

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
elvira
Сообщения: 60
Зарегистрирован: 28 авг 2006, 22:59

09 ноя 2006, 09:32

Подскажите пожалуйста
1. как заполнить в combobox - text(caption) из уже заполненного списка
в VB combobox имеет свойства list, в Access этого свойства нет.
2. как очистить List в Combobox, метод Clear в Access тоже отсутствует
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

09 ноя 2006, 15:04

1) Не понял Ваш вопрос. Попытайтесь сформулировать по-другому... Что есть на форме... Что хочется получить....

2) Если Вы используете обычные для форм Access Поле со списком и Список, то Вы должны понимать, что список в них опирается исключительно на таблицу, запрос или список значений заданный строкой в RowSource.
В первых двух случаях надо изенить исходные данные, дающие этот список значений и вызвать метод Requery. А в третьем случае надо просто изменить свойство RowSource.
В любом случае список станет пустым если в RowSource записать пустую строку. :)
elvira
Сообщения: 60
Зарегистрирован: 28 авг 2006, 22:59

13 ноя 2006, 08:54

идея такая:
на форме есть combo, в коде с помощью AddItem я заполнила название месяцев -"Январь" "Февраль".....и т.д
теперь при открытии формы я хочу иметь следующее: combo.text = combo.list(0), то есть я хочу увидеть "Январь" каk Default,при этом не открывая список. (в идеале я хочу видеть месяц сегодняшнего числа что-то вроде
DateName("mm", Date()) , но опять же DateName в Access не существует :( )
MadChild
Сообщения: 3
Зарегистрирован: 16 ноя 2006, 12:09

16 ноя 2006, 12:40

Код: Выделить всё

Private Sub Form_Load()
   Список2.AddItem "Январь"
   Список2.AddItem "Февраль"
   Список2.AddItem "Матр"
   Список2.AddItem "Апрель"
   Список2.AddItem "Май"
   Список2.AddItem "Июнь"
   Список2.AddItem "Июль"
   Список2.AddItem "Август"
   Список2.AddItem "Сентябрь"
   Список2.AddItem "Октябрь"
   Список2.AddItem "Ноябрь"
   Список2.AddItem "Декабрь"

   Список2.Selected((Int(Format(Date, "m")) - 1)) = True
End Sub
Но, как говорилось выше, это применимо только к объекту, не привязанному к базе, то есть список значений, вы присваиваете ручками из кода.
Всё об автоматизации работы в MS Office
http://vba.glamournsk.ru
elvira
Сообщения: 60
Зарегистрирован: 28 авг 2006, 22:59

23 ноя 2006, 13:44

Спасибо.
Все очень забавно, но опятьже, combo.Selected не существует
есть ещё один combo - заполненый из DateBase, где я так же не могу понять
как заполнить combo.text=listIndex(0)
Fatty
Сообщения: 33
Зарегистрирован: 20 ноя 2006, 11:23
Откуда: Славен град Петров

27 ноя 2006, 00:02

elvira писал(а):Спасибо.
Все очень забавно, но опятьже, combo.Selected не существует
есть ещё один combo - заполненый из DateBase, где я так же не могу понять
как заполнить combo.text=listIndex(0)
Если это еще актуально, так можно выбрать значения из ComboBox'a:

Код: Выделить всё

Private Sub Combo0_Click()
     Dim i As Long, lstVar As Variant

     i = Combo0.ListIndex
     MsgBox "Selected: " & Combo0.ItemData(i + 1)
     ReDim lstVar(Combo0.ColumnCount - 1) As String
     For i = 0 To Combo0.ColumnCount - 1
          lstVar(i) = Combo0.Column(i)
     Next
     For i = 0 To UBound(lstVar)
          MsgBox "Column " & i + 1 & " value is " & lstVar(i)
     Next

End Sub

Для заполнения списка смотри свойства RowSource и RowSourceType
в зависимости от источника данных добавляемых в список
могут быть варианты
Надеюсь поможет

~'J'~
ikemy
Сообщения: 1
Зарегистрирован: 27 апр 2009, 00:39
Откуда: Minsk

27 апр 2009, 01:07

У меня возникала та же проблема.
Вот какое решение я нашел (этот фрагмент кода для события OnLoad формы):

Dim cbQ As ComboBox
Set cbQ = Me![cbQueries]
With cbQ
.SetFocus
.Text = .ItemData(0) ' Первая запись в списке будет по умолчанию
End With

Для ComboBox'а свойство BoundColumn = 1, а сам список был сформирован вручную (метод AddItem)

Программа работала по крайней мере в Access 2003
GeorgeSoca
Сообщения: 0
Зарегистрирован: 12 окт 2015, 04:09
Откуда: Guam
Контактная информация:

17 окт 2015, 13:06

На нашем сайте вы можете чувствовать себя в безопасности! Кроме того, мы используем зеркальные жесткие диски на все наши серверы, поэтому мы также взять резервную два раза в день на отдельных серверах. Мы используем ISPmanager, как на панели управления. ISPmanager является панель управления, которая позволяет легко управлять своей веб-сайт. С нами вы можете разместить столько веб-сайты и домены, которые вы хотите для учетной записи хостинга.
virtual hosting
Ответить