powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / access->exsel vba combobox
8 сообщений из 8, страница 1 из 1
access->exsel vba combobox
    #36960582
Renat Zakirov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет Всем. У меня такая задача. В MS Excel надо создать форму с двумя элементами управления ComboBox и 1 кнопкой. При запуске формы первый элемент ComboBox должен заполнятся значениями из базы MS Access. (годы с 1974 - 2004 ) , а второй должен заполнятся районами (Саба – Челны). И там выбираешь год и район потом нажимаешь на кнопку и он из базы вытаскивает данные по заданному году и району в лист Excel. Помогите решить эту задачу.

вот ссылка на базу
...
Рейтинг: 0 / 0
access->exsel vba combobox
    #36960612
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ссылка то где?
...
Рейтинг: 0 / 0
access->exsel vba combobox
    #36960622
Renat Zakirov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
access->exsel vba combobox
    #36960837
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Renat Zakirov,

серьезная задача. А какой уровень знаний у Вас есть?
...
Рейтинг: 0 / 0
access->exsel vba combobox
    #36960901
Renat Zakirov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanus,

Я новичок в этом. Может посоветуете какую-нибудь статью, пример или книжку.
Там можно заранее и не получать значения из базы в ComboBox, а просто вводить первый ComboBox годы , а на второй ComboBox районы. Запустить макрос, потом выбрать год, район и нажать на кнопку и он через ADO должен подключится к базе и в SQL запросе передает год, и район и вытаскивает данные в лист Excel.

Я вот так могу вытаскивать данные:

Private Sub CommandButton1_Click()
Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim com As New ADODB.Command
cn.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source=C:\base.mdb"
cn.Open
Set rst.ActiveConnection = cn
rst.Open "Select * from table1"
startRow = 3
Do Until rst.EOF
Cells(startRow, 4) = rst.Fields(0).Value
Cells(startRow, 5) = rst.Fields(1).Value
rst.MoveNext
startRow = startRow + 1
Loop
rst.Close
Set rst = Nothing
cn.Close
Set cn = Nothing
End Sub
...
Рейтинг: 0 / 0
access->exsel vba combobox
    #36960962
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Renat Zakirov,
книжку посоветовать не могу, но есть масса где это обсуждалось вот в этой ветке


для оформления кода используйте тег SRC при редактировании сообщения
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub CommandButton1_Click()
Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim com As New ADODB.Command
cn.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source=C:\base.mdb"
cn.Open
Set rst.ActiveConnection = cn
rst.Open "Select * from table1"
startRow =  3 
Do Until rst.EOF
Cells(startRow,  4 ) = rst.Fields( 0 ).Value
Cells(startRow,  5 ) = rst.Fields( 1 ).Value
rst.MoveNext
startRow = startRow +  1 
Loop
rst.Close
Set rst = Nothing
cn.Close
Set cn = Nothing
End Sub

если знаете как добавить в комбобокс данные то по сути остается переделать SQL запрос под содержимое этих боксов. Как это сделать знаете?
...
Рейтинг: 0 / 0
access->exsel vba combobox
    #36961160
Renat Zakirov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanusесли знаете как добавить в комбобокс данные то по сути остается переделать SQL запрос под содержимое этих боксов. Как это сделать знаете?
Нет, как добавить в комбобокс данные не знаю. Вы можете добавить данные и переделать SQL запрос.
...
Рейтинг: 0 / 0
access->exsel vba combobox
    #36961218
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Renat Zakirov,
я могу помочь это сделать.

начнем с того что в комбобокс добавляются данные командой AddItem
Код: plaintext
Me.ComboBox1.AddItem [название элемента]
обратиться к выбранному пользователем элементу
Код: plaintext
Me.ComboBox1.Text или Me.ComboBox1.Value

Алгоритм такой
1. Вы заполняете комоббоксы нужными значениями перед тем как пользователь увидит форму
2. показываете форму
3. пользователь видит выбирает значения и жмет кнопку на форме
4. Вы обращаетесь к нужным значениям и формируете SQL запрос в базу Access с ограничениями которые выставил пользователь. Запрос примет вид
Код: plaintext
Seleсt * from table1 where Myfld1= 'bla-bla'  and Myfld2= 'bla-bla-bla' 
5. Запускаете при помощи своего кода этот SQL запрос
строка с запросом в коде вот эта
Код: plaintext
rst.Open "Select * from table1"
6. Рисуете итог выполнения на лист

все понятно?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / access->exsel vba combobox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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