Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / заполнение combobox / 18 сообщений из 18, страница 1 из 1
15.06.2004, 15:04:56
    #32561792
Alexsander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
Хелп как при загрузке формы заполнить combobox c присоединенным полем
из таблицы из 2х полей, где 1-счетчик, а второе string


Private Sub Form_Load()

Dim ctl As Control
Set ctl = Me![C1] 'C1 - combobox


Dim MyDatabase As Database, MyTable As Recordset
Dim MyTableDef As TableDef, MyField As Field, MyIndex As Index
Set MyDatabase = DBEngine.Workspaces(0).Databases(0)

Set MyTable = CurrentDb.OpenRecordset("SELECT * FROM Names1", dbOpenDynaset)

MyTable.MoveFirst
Do Until MyTable.EOF


Me![C1].AddItem MyTable("Index")

Me![C1].AddItem MyTable("Names")



MyTable.MoveNext
Loop
MyTable.Close

MsgBox ctl.ListCount

End Sub



Все пишется в один столбец....
...
Рейтинг: 0 / 0
15.06.2004, 15:07:26
    #32561799
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
Выкинуть весь этот код и написать
Код: plaintext
Me!C1.RowSource = "SELECT * FROM Names1"
...
Рейтинг: 0 / 0
15.06.2004, 15:49:29
    #32561915
Allll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
Все пишется в один столбец....
Нужно задать 2 столбца и первый из них (счётчик) сделать невидимым (шириной 0)
В свойствах combobox записать:
Число столбцов 2
Ширина столбцов 0см;5см
Данные SELECT Names1.Index, Names1.Names FROM Names1;

Ваш вариант программного заполнения будет работать слишком медленно при большом количестве строк.
...
Рейтинг: 0 / 0
15.06.2004, 16:13:14
    #32561994
Alexsander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
Лох ПозорныйВыкинуть весь этот код и написать
Код: plaintext
Me!C1.RowSource = "SELECT * FROM Names1"


не работает, рукается - 13 ошибка, type mismatch???
...
Рейтинг: 0 / 0
15.06.2004, 16:14:36
    #32561999
Alexsander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
AllllВсе пишется в один столбец....
Нужно задать 2 столбца и первый из них (счётчик) сделать невидимым (шириной 0)
В свойствах combobox записать:
Число столбцов 2
Ширина столбцов 0см;5см
Данные SELECT Names1.Index, Names1.Names FROM Names1;

Ваш вариант программного заполнения будет работать слишком медленно при большом количестве строк.


Мне нужно программно - у меня запрос будет с параметром
( select.. where names = parametr)
...
Рейтинг: 0 / 0
15.06.2004, 16:20:34
    #32562019
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
Вот и пиши в программе

Код: plaintext
me.combo1.RowSource = "SELECT Index, Names FROM Names1 Where Names Like '*" & me.text1 & "*'"
(имя таблицы, полей и условие - пиши свои :) )
...
Рейтинг: 0 / 0
15.06.2004, 16:30:58
    #32562053
Alexsander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
paparomeВот и пиши в программе

Код: plaintext
me.combo1.RowSource = "SELECT Index, Names FROM Names1 Where Names Like '*" & me.text1 & "*'"
(имя таблицы, полей и условие - пиши свои :) )


me.combo1.RowSource - ругается на RowSource; это надо где прописыывать?
...
Рейтинг: 0 / 0
15.06.2004, 16:34:30
    #32562073
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
paparome
имя таблицы, полей и условие - пиши свои
...
Рейтинг: 0 / 0
15.06.2004, 16:36:06
    #32562079
Sfag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
Пропиши в св-вах, не надо VBAсик мучать
...
Рейтинг: 0 / 0
15.06.2004, 16:37:05
    #32562081
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
авторme.combo1.RowSource - ругается на RowSource; это надо где прописыывать?

Вам нужно в программе - вот и прописывайте в том месте программы, где это нужно (я же не знаю, где это вам нужно :( )

Что значит ругается?
Типа как? Ошибка где (оригинал желательно)
...
Рейтинг: 0 / 0
15.06.2004, 16:45:37
    #32562107
Alexsander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
paparome авторme.combo1.RowSource - ругается на RowSource; это надо где прописыывать?

Вам нужно в программе - вот и прописывайте в том месте программы, где это нужно (я же не знаю, где это вам нужно :( )

Что значит ругается?
Типа как? Ошибка где (оригинал желательно)


Me.C1.RowSource = CurrentDb.OpenRecordset("SELECT Names1.index, Names1.Names FROM Names1", dbOpenDynaset)

C1 - имя combo. пишеь type mismatch...
...
Рейтинг: 0 / 0
15.06.2004, 16:47:01
    #32562110
Alexsander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
SfagПропиши в св-вах, не надо VBAсик мучать

в свойства параметр не передашь....
...
Рейтинг: 0 / 0
15.06.2004, 16:48:03
    #32562112
Sfag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
Ну и чему удивляешься?!?!?!?!?!?
надо так:
Код: plaintext
Me.C1.RowSource = "SELECT Names1.index, Names1.Names FROM Names1"
...
Рейтинг: 0 / 0
15.06.2004, 16:48:46
    #32562115
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
авторMe.C1.RowSource = CurrentDb.OpenRecordset("SELECT Names1.index, Names1.Names FROM Names1", dbOpenDynaset)

paparomeme.combo1.RowSource = "SELECT Index, Names FROM Names1 Where Names Like '*" & me.text1 & "*'"

Быстро ищем 3 отличия?

CurrentDB.Open... - викинь нах...
Ибо RowSource имеет тип String, а не RecordSet!!!
...
Рейтинг: 0 / 0
15.06.2004, 16:50:25
    #32562116
Sfag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
А ты не передавай, а прориши откуда брать
"SELECT ... WHERE ... =" & TextBox1 & "
+ почитай
...
Рейтинг: 0 / 0
15.06.2004, 17:07:28
    #32562171
Alexsander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
paparome авторMe.C1.RowSource = CurrentDb.OpenRecordset("SELECT Names1.index, Names1.Names FROM Names1", dbOpenDynaset)

paparomeme.combo1.RowSource = "SELECT Index, Names FROM Names1 Where Names Like '*" & me.text1 & "*'"

Быстро ищем 3 отличия?

CurrentDB.Open... - викинь нах...
Ибо RowSource имеет тип String, а не RecordSet!!!


Me.C1.RowSource = "SELECT Names1.index, Names1.Names FROM Names1;"

Гениально, так работает, 3 спасибы! Параметр потом засажу...
...
Рейтинг: 0 / 0
15.06.2004, 17:11:05
    #32562182
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
И поглубже - поглубже, вдруг Access при загрузке формы пожалуется на то что не найден требуемый контрол...

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
15.06.2004, 17:42:01
    #32562253
аха
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение combobox
не, ну и руками собирать сурс из рекордсета бывает не вредным.

Вот к примеру поле Database таблицы MSysObjects распознается как МЕМО, взять от него дистинкт и ордербай затруднительно (в 97). А кинул значения в массив, отсортировал, пошил строчку, одновременно чикая дубли, - и получай список подключенных баз.

Хотя может кто лучче способ предложит (не пользуя темповых таблиц)?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / заполнение combobox / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]