Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2010, 21:18   #1
neprogrammist
Пользователь
 
Аватар для neprogrammist
 
Регистрация: 08.01.2010
Сообщений: 54
Вопрос СУБД с модулем VB

вот тут задание я никак нипойму как сделать, может вы знаете?

- Для данного программного модуля создать базу данных в СУБД Microsoft Access и через макрос запустить его на выполнение. Результат вывести в виде таблицы.

модуль написан на визуал бэсике, я совершенно в неё не разбираюсь, помогите пожалуйста, как мне это выполнить правильно?

вот модуль:

Код:
Public Function прогр(program)
Dim d As Database
Dim s As Recordset
Dim b As Recordset
Dim f As Recordset
Set d = DBEngine.Workspaces(0).Databases(0)
Set f = d.OpenRecordset("Успеваемость")
Set b = d.OpenRecorset("Студенты")
f.Index = "инс"
Do Until b.EOF
f.Seek "=", b!инс
If f.NMatch = True Then
Set s = d.OpenRecordset("УчПланы")
Do Until s.EOF
If b!группа = s!группа Then
f.AddNew
f!инс = b!инс
а!часы = s!часы
f!дисциплина = s!дисциплина
f.Update
End If
s.MoveNext
Loop
End If
b.MoveNext
Loop
MsgBox ("Программа завершена успешно")
End Function

Последний раз редактировалось Stilet; 08.01.2010 в 22:38.
neprogrammist вне форума Ответить с цитированием
Старый 08.01.2010, 21:58   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте neprogrammist.
Здесь помогают решить проблему, а не "решить" за Вас.
Мой совет, бросайте учебное заведение где учат непонятным (и очевидно бесполезным для Вас) MS Access и VBA. Идите туда где научат грамотно писать "не пойму", и обращаться к тем кому задаете вопрос, это Вам больше пригодится в жизни.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 09.01.2010, 14:58   #3
neprogrammist
Пользователь
 
Аватар для neprogrammist
 
Регистрация: 08.01.2010
Сообщений: 54
Плохо

Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте neprogrammist.
Здесь помогают решить проблему, а не "решить" за Вас.
Мой совет, бросайте учебное заведение где учат непонятным (и очевидно бесполезным для Вас) MS Access и VBA. Идите туда где научат грамотно писать "не пойму", и обращаться к тем кому задаете вопрос, это Вам больше пригодится в жизни.
Евгений.
мне нужны только советы по данной задаче, с чего начать? какие ошибки в условиях?

я не прошу сделать за меня а всего лишь хочу чтобы мне помогли с решением, я полагаю ваши умы это не затруднит
neprogrammist вне форума Ответить с цитированием
Старый 09.01.2010, 16:41   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

"как..это выполнить правильно?" :
1) создать базу данных MS Access
2) создать таблицы с заданными полями и индексами
3) разместить в модуле БД код, предварительно откорректировав его, исправив f.NMatch на f.NoMatch, а!часы на f!часы, ... (это только то что видно "невооруженным" взглядом)
4) наполнить таблицы исходными данными...
5) запустить и выполнить код
6) "результат вывести в виде таблицы" открыть таблицу с результатом, программно можно подобным кодом:
Код:
Sub openResult()
    DoCmd.OpenTable "Успеваемость"
End Sub
Удачи Вам.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 10.01.2010, 20:45   #5
neprogrammist
Пользователь
 
Аватар для neprogrammist
 
Регистрация: 08.01.2010
Сообщений: 54
Плохо

Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
"как..это выполнить правильно?" :
1) создать базу данных MS Access
2) создать таблицы с заданными полями и индексами
3) разместить в модуле БД код, предварительно откорректировав его, исправив f.NMatch на f.NoMatch, а!часы на f!часы, ... (это только то что видно "невооруженным" взглядом)
4) наполнить таблицы исходными данными...
5) запустить и выполнить код
6) "результат вывести в виде таблицы" открыть таблицу с результатом, программно можно подобным кодом:
Код:
Sub openResult()
    DoCmd.OpenTable "Успеваемость"
End Sub
Удачи Вам.
Евгений.
спасибо Евгений =) , но что делать с макросами? в каком порядке их составить?
neprogrammist вне форума Ответить с цитированием
Старый 11.01.2010, 18:54   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте neprogrammist.
"..что делать с макросами?.." - если запуск программы обязательно должен выполняться макросом - создайте его, выберите из списка событие ЗапускПрограммы и задайте ему Вашу функцию прогр(), (предварительно избавив её конструкцию от бесполезного аргумента (program)).
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 11.01.2010, 19:07   #7
neprogrammist
Пользователь
 
Аватар для neprogrammist
 
Регистрация: 08.01.2010
Сообщений: 54
Плохо

Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте neprogrammist.
"..что делать с макросами?.." - если запуск программы обязательно должен выполняться макросом - создайте его, выберите из списка событие ЗапускПрограммы и задайте ему Вашу функцию прогр(), (предварительно избавив её конструкцию от бесполезного аргумента (program)).
Евгений.
привет Евгений =) для выполнения данного модуля мне нужен только этот макрос? может нужно что то ещё ?

спасибо
neprogrammist вне форума Ответить с цитированием
Старый 11.01.2010, 19:56   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

neprogrammist, код выложенной Вами процедуры, называется Function и он действительно должен располагаться в модуле, но "данного модуля" пока я здесь не вижу. Ссылаясь на нумерацию поста #4, пункты 1 - 4, выполняются без участия кода и только выполнение пункта 5 и возможно 6 (для этого переименуйте Sub openResult в Function openResult) может вызываться макросами.
Удачи Вам.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с библиотечным модулем Splash Паскаль, Turbo Pascal, PascalABC.NET 6 19.05.2009 19:48
Проблема с модулем Graph Rus 47 Паскаль, Turbo Pascal, PascalABC.NET 9 14.04.2009 17:06
Помогите с Модулем lex90 Паскаль, Turbo Pascal, PascalABC.NET 2 24.01.2009 18:26