Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Опять меню
 
 автор: Василий   (30.12.2008 в 08:21)   личное сообщение
 
 

Ребята помогите новичку пожалуйта не пойму где загвоздка? создал модуль, вписал ,а нехочет работать редиска

Public Sub StartMainMenu()

Dim cbar As CommandBar
Dim Exist As Boolean
For Each cbar In CommandBars
cbar.Enabled = False
Next cbar
Exist = False
For Each cbar In CommandBars
If cbar.Name = "MainMenu" Then
Exist = True
Exit For
End If
Next cbar
If Not Exist Then
Set cbar = CommandBars.Add(Name:="MainMenu", _
Position:=msoBarTop, MenuBar:=True, Temporary:=False)
End If
cbar.Enabled = True
cbar.Visible = True
With cbar
With .Controls
With .Add(Type:=msoControlPopup)
.Caption = "Поддержка"
With .Controls
With .Add(Type:=msoControlButton)
.Caption = "Данные"
.Enabled = Общее_декабрь
.OnAction = "Общее декабрь"
End With
End Sub

  Ответить  
 
 автор: osmor   (30.12.2008 в 09:25)   личное сообщение
 
 

в чем выражается "нехочет работать" ? не создается пункт меню??

  Ответить  
 
 автор: Василий   (30.12.2008 в 09:29)   личное сообщение
 
 

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

  Ответить  
 
 автор: osmor   (30.12.2008 в 09:35)   личное сообщение
 
 

а сообщений никаких не выдает?

  Ответить  
 
 автор: Василий   (30.12.2008 в 09:36)   личное сообщение
 
 

нет не выдает...

  Ответить  
 
 автор: osmor   (30.12.2008 в 09:53)   личное сообщение
 
 

ну как не выдает?
У вас в этом куске еесть 4 with и только 1 end with

...
With cbar
With .Controls
With .Add(Type:=msoControlPopup)
.Caption = "Поддержка"
With .Controls
With .Add(Type:=msoControlButton)
.Caption = "Данные"
.Enabled = Общее_декабрь
.OnAction = "Общее декабрь"
End With
End sub


синтаксические ошибки исправьте

  Ответить  
 
 автор: Василий   (30.12.2008 в 10:17)   личное сообщение
 
 

With .Add(Type:=msoControlPopup)
.Caption = "Информация"
With .Controls
With .Add(Type:=msoControlButton)
.Caption = "Отчет"
.Enabled = True
.OnAction = "Общее декабрь"
End With

With .Add(Type:=msoControlPopup)
.Caption = "Пример"
With .Controls
With .Add(Type:=msoControlButton)
.Caption = "Краткая"
.Enabled = True
.OnAction = "Общее декабрь"
End With

With .Add(Type:=msoControlButton)
.Caption = "Полная"
.Enabled = True
.OnAction = "Общее декабрь"
End With
End With
End With
End Sub

сделал ноль реакции а ошибки и до этого не выдавало.

  Ответить  
 
 автор: osmor   (30.12.2008 в 10:59)   личное сообщение
 
 

не совсем понимаю что должен делать ваш код, но видимо что-то подобное

Dim cbar As CommandBar
Dim menuitem As CommandBarControl
Dim Exist As Boolean
Exist = False
For Each cbar In CommandBars
    cbar.Enabled = False
    If cbar.Name = "MainMenu" Then  Exist = True
Next cbar
If Not Exist Then
    Set cbar = CommandBars.Add(Name:="MainMenu", _
    Position:=msoBarTop, MenuBar:=True, Temporary:=False)
End If
With cbar
.Enabled = True
.Visible = True

    Set menuitem = .Controls.Add(Type:=msoControlPopup)
    menuitem.Caption = "Поддержка"
    Set menuitem = .Controls.Add(msoControlButton)
    menuitem.Caption = "Данные"
    menuitem.Style = msoButtonCaption
    menuitem.Enabled = True
    menuitem.OnAction = "Общее декабрь"
End With

  Ответить  
 
 автор: osmor   (30.12.2008 в 11:00)   личное сообщение
 
 

предполагаю, что следующим вашим вопросом будет "как вернуть стандартное меню"

  Ответить  
 
 автор: Василий   (30.12.2008 в 11:04)   личное сообщение
 
 

огромное спасибо сейчас попробую

Public Sub ResetMainMenu()
Dim cbar As CommandBar
For Each cbar In CommandBars
If cbar.NAME = "MainMenu" Then
CommandBars("MainMenu").Delete
Exit For
End If
Next cbar
Dim сBar As CommandBar
For Each сBar In CommandBars
сBar.Enabled = True
Next сBar
End Sub

так пойдет?

  Ответить  
 
 автор: osmor   (30.12.2008 в 11:07)   личное сообщение
 
 

так включатся все

  Ответить  
 
 автор: Василий   (30.12.2008 в 11:21)   личное сообщение
 
 

опять не видно, но теперь ошибку хоть выдал, compile error: user-defined type not defined и именно на resete

  Ответить  
 
 автор: Василий   (25.01.2009 в 11:39)   личное сообщение
 
 

Помогите пожалуйста, как отключит свое меню до тех пор пока не ввел пароль?
в автозагрузке стоит форма контроля доступа, в нее вписываю след. но не помогает но все равно видно..

Private Sub Form_Load()
DoCmd.ShowToolbar, acToolbarNo
End Sub

  Ответить  
 
 автор: Lukas   (25.01.2009 в 14:41)   личное сообщение
 
 

Не надо прятать меню. На загрузке формы прячем некоторые кнопки меню, по завершении авторизации показываем нужные кнопки меню.

  Ответить  
 
 автор: Василий   (25.01.2009 в 15:11)   личное сообщение
 
 

скажите пожалуйста как это можно будет сделать?

  Ответить  
 
 автор: Lukas   (25.01.2009 в 18:26)   личное сообщение
 
 

Например, функция:

Private Sub ShowComBars(Dev As Boolean, Adm As Boolean)
On Error Resume Next
    CommandBars("Customs").Controls("Администратор").Visible = Adm
    CommandBars("Customs").Controls("Developer").Visible = Dev
End Sub

На загрузке формы

ShowComBars False, False

На закрытии:

ShowComBars True, True

  Ответить  
 
 автор: Василий   (25.01.2009 в 21:00)   личное сообщение
25 Кб.
 
 

Если кого не затруднит покажите на примере, и извините за назойливость, только учусь, а учусь с нуля

  Ответить  
 
 автор: Lukas   (25.01.2009 в 21:40)   личное сообщение
 
 

Пример

  Ответить  
 
 автор: Василий   (25.01.2009 в 22:05)   личное сообщение
 
 

я смотрел ваш шаблон, очень интересно, только не догоняю как перенести это на мой вариант...

  Ответить  
 
 автор: Lukas   (26.01.2009 в 00:00)   личное сообщение
 
 

Проще всего:
1. "Открыть" шаблон паролем разработчика.
2. Импортировать в него свои объекты.
3. По окончании разработки сменить код разработчика, создать файл MDE, "закрыть" приложение своим кодом разработчика.

  Ответить  
 
 автор: Василий   (26.01.2009 в 15:54)   личное сообщение
 
 

Возможно мы недопонимаем друг друга , в вашем шаблоне когда появляется форма авторизации, меню не активно т.е нельзя кликнуть по журнали или документам, как и мне сделать также?

  Ответить  
 
 автор: Lukas   (26.01.2009 в 16:06)   личное сообщение
12 Кб.
 
 

Модальное - да

  Ответить  
 
 автор: Василий   (26.01.2009 в 16:27)   личное сообщение
 
 

Спасибо!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList