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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2010, 11:36   #1
StrelokCU
Пользователь
 
Регистрация: 02.08.2010
Сообщений: 15
По умолчанию кнопка выбора записи из ленточной формы

Помогите пожалуйста.
Создать кнопку в ленточной форме, создаваемой на запросе с параметром, напротив каждой записи была кнопка при нажатии на нее открывалось форма для работы с выбранной записью. Где то уже видел так там так показано
Private Sub Кнопка_Click()
On Error GoTo Err_Кнопка_Click
DoCmd.OpenForm "Edit", acNormal, , "[Id] =" &Me.Id, acFormEdit, acDialog
Exit_Кнопка_Click:
MsgBox Err.Description
End Sub
Но не получается пока и не знаю даже что делать
StrelokCU вне форума Ответить с цитированием
Старый 19.08.2010, 22:15   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте StrelokCU.
"..не получается пока.." - что не получается?
команда:
DoCmd.OpenForm "Edit", acNormal, , "[Id] =" & Me.Id, acFormEdit, acDialog
должна открывать форму ("Edit"), в режиме диалога (acDialog), для редактирования данных (acFormEdit) с установленным фильтром ("[Id] =" & Me.Id)
убедитесь что у источника данных открываемой формы существует поле Id и Ваша форма, из которой Вы открываете, так-же содержит контрол (поле) Id к которому команда обращается (.. & Me.Id..)
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 20.08.2010, 13:16   #3
StrelokCU
Пользователь
 
Регистрация: 02.08.2010
Сообщений: 15
По умолчанию

Спасибо Евгений, попробовал добавить в таблицу и на форму поле Id, но происходит ошибка "Compile error: Method or data member not found
а если использовать вместо id поля поле "дата" где как раз и храниться дата которую выбирают кнопкой в формате 20.08.2010, но возникает ошибка "Число содержит синтаксическую ошибку в выражении запроса '[Дата]=20.08.201'."

Последний раз редактировалось StrelokCU; 20.08.2010 в 13:51.
StrelokCU вне форума Ответить с цитированием
Старый 21.08.2010, 07:46   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте StrelokCU.
"..попробовал добавить ..", ошибка "..Method or data member not found.." - значит все-же не добавил и пытался обратиться к несуществующему объекту.
"..если использовать вместо id поля поле "дата".." - поле ID предназначено для идентификации записи, т.е. его значения уникальны, если в Вашей таблице поле дата содержит только уникальные даты, использовать можно.
"Число содержит синтаксическую ошибку в выражении запроса '[Дата]=20.08.201'." - формат обращения к дате в условии отбора SQL запросов MS Access должен быть таким #m/d/yyyy#, применяется так "...[Дата]=#8/20/2010#....". Можно так же использовать функции VBA возвращающие значение даты:
Код:
Function vDate() As Date
    vDate = CDate("20.08.2010") '
    'vDate = CDate(Me.Кнопка0.Caption)
End Function
применяется так : '[Дата]=vDate()'

Для анализа конструкции БД и дополнительных рекомендаций, лучше один раз увидеть архив БД, а не сто раз "услышать" описание "проблем".

Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 21.08.2010, 12:42   #5
StrelokCU
Пользователь
 
Регистрация: 02.08.2010
Сообщений: 15
По умолчанию

Пожалуйста Евгений прикрепил архив своей базы данных. Только сильно не ругайте это мой первый опыт. Форма называется "ГрафикиПоМесяцам-работа"
Вложения
Тип файла: rar Programm1.rar (1.87 Мб, 48 просмотров)
StrelokCU вне форума Ответить с цитированием
Старый 22.08.2010, 20:18   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте StrelokCU.
подобный код откроет форму с "фильтром данных":
Код:
Private Sub Кнопка11_Click()
On Error GoTo 9
Dim v
v = Me.Дата
If IsDate(v) Then
    v = "[Дата] =#" + (Month(v) & "/" & Day(v) & "/" & Year(v)) + "#"
    DoCmd.OpenForm "Edit", acNormal, , v, acFormEdit, acDialog
End If
Exit Sub
9
MsgBox Err.Description
End Sub
но предварительно проверьте установленные ссылки на библиотеки - в редакторе VBA меню Tools / References... сообщение MISSING указывает на потерю связи проекта с библиотекой, отключите её.
Евгений.

P.S. на будущее выкладывая на странице форума :
код заключайте в теги [соde]...[/соde],
архив с образцом БД (желательно в формате А2003) не должен быть более 200 Кб, избавляйте БД от избыточный данных, "картинок", объектов OLE и сжимайте средствами MS Access перед архивированием

Последний раз редактировалось Teslenko_EA; 23.08.2010 в 18:13.
Teslenko_EA вне форума Ответить с цитированием
Старый 22.08.2010, 21:15   #7
StrelokCU
Пользователь
 
Регистрация: 02.08.2010
Сообщений: 15
По умолчанию

Спасибо Евгений работает!!!!!!!!Понимаю, что для Вас это просто работа, но для меня это чудо)))).
на будущее еще раз спасибо учту...
StrelokCU вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделить цветом записи в ленточной форме Swatch Microsoft Office Access 2 06.09.2010 14:43
кнопка для каждой формы Delphi designer999 Общие вопросы Delphi 1 17.02.2010 14:36
Обратиться к предыдущей записи формы freez1992 Microsoft Office Access 8 09.02.2010 18:42
преобразования польской формы записи уравнения Безбашик Общие вопросы по Java, Java SE, Kotlin 6 12.05.2009 10:25
Кнопка выбора пути к базе данных Слава Троцак БД в Delphi 1 14.01.2008 13:22