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

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

серьезная задача. А какой уровень знаний у Вас есть?
...
Рейтинг: 0 / 0
17.11.2010, 09:30
    #36960901
Renat Zakirov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
access->exsel vba combobox
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
17.11.2010, 10:07
    #36960962
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
access->exsel vba combobox
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
17.11.2010, 11:32
    #36961160
Renat Zakirov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
access->exsel vba combobox
Shamanusесли знаете как добавить в комбобокс данные то по сути остается переделать SQL запрос под содержимое этих боксов. Как это сделать знаете?
Нет, как добавить в комбобокс данные не знаю. Вы можете добавить данные и переделать SQL запрос.
...
Рейтинг: 0 / 0
17.11.2010, 11:53
    #36961218
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
access->exsel vba combobox
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
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / access->exsel vba combobox / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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