Skip to main content

AccessTr.neT


Sağ Menü Treeview

Sağ Menü Treeview

Çözüldü #1
Hayırlı ramazanlar
Sağ tık ile açılan menü var. Bu menu treeview benzeri açılan alt menüler şeklinde olabilir mi
sağ tıkladığımda açılan menüde çıkan iteme tıkladığımda bir subitem 
ona da tıkladığımda subsubitem olsa
excel için hazırlanmış bir kod buldum bunu Access için yapmaya çalıştım yapamadım
modül içerisine 

Kod:
Option Explicit

Public ButtonEvent As clsBtn
Public ButtonEvents As Collection
Const SUBMENUNAME As String = "Company Listings"

Sub Create_RC_Menu()
    Dim Cell As CommandBar
    Dim SubMenu As CommandBarPopup
    Dim SubItem As CommandBarButton
    Call Delete_RC_Menu
    Set Cell = Application.CommandBars("Cell")
    Set SubMenu = Cell.Controls.Add(Type:=msoControlPopup, before:=1)
    SubMenu.Caption = SUBMENUNAME
    Set ButtonEvents = New Collection
    '### Add additional as needed..
    Set SubItem = SubMenu.Controls.Add(Type:=msoControlButton)
    SubItem.Caption = "&First"
    Set ButtonEvent = New clsBtn
    Set ButtonEvent.Btn = SubItem
    ButtonEvents.Add ButtonEvent
    '###
    Set SubItem = SubMenu.Controls.Add(Type:=msoControlButton)
    SubItem.Caption = "&Second"
    Set ButtonEvent = New clsBtn
    Set ButtonEvent.Btn = SubItem
    ButtonEvents.Add ButtonEvent
    '###
    Set SubItem = SubMenu.Controls.Add(Type:=msoControlButton)
    SubItem.Caption = "&Third"
    Set ButtonEvent = New clsBtn
    Set ButtonEvent.Btn = SubItem
    ButtonEvents.Add ButtonEvent
    '###
    Set SubItem = SubMenu.Controls.Add(Type:=msoControlButton)
    SubItem.Caption = "&Custom Listing..."
    SubItem.BeginGroup = True
    Set ButtonEvent = New clsBtn
    Set ButtonEvent.Btn = SubItem
    ButtonEvents.Add ButtonEvent
    '###
End Sub

Sub Delete_RC_Menu()
    On Error Resume Next
    Application.CommandBars("Cell").Controls(SUBMENUNAME).Delete
End Sub

Class Module içine

Kod:
Option Explicit

Public WithEvents Btn As CommandBarButton

Private Sub Btn_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
    Dim strCustom As String, msgConfirm As VbMsgBoxResult
    If ActiveCell.Value <> "" Then
        msgConfirm = MsgBox("There is already a value in " & ActiveCell.Address & ".  Continue?", vbYesNo, "OVERWRITE?")
        If msgConfirm <> vbYes Then Exit Sub
    End If
    Select Case Ctrl.Caption
    Case "First"
        ActiveCell.Value = Ctrl.Caption
    Case "Second"
        ActiveCell.Value = Ctrl.Caption
    Case "Third"
        ActiveCell.Value = Ctrl.Caption
    Case "Custom Listing..."
        strCustom = InputBox("Enter Custom Company Listing:", "Custom Listing", "Custom Listing")
        If strCustom <> "" Then ActiveCell.Value = strCustom
    Case Else
        MsgBox "There was no routine found!", vbCritical, "BUTTON ERROR!"
    End Select
End Sub

formdan çağırmak için

Kod:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call Delete_RC_Menu
End Sub

Private Sub Workbook_Open()
    Call Create_RC_Menu
End Sub

@benbendedeilem
Cevapla
#2
Bu kodların form ile alakadı yok exceldeli sayfaların hücrelerine menü ekleniyor anladığım koddan.Siz ise Form için istiyorsunuz.
Cevapla
#3
peki excele ekleyebilir misiniz sn.@feraz
@benbendedeilem
Cevapla
#4
Bir küçük örnek hazırladım.Özeldende azdım userformda alt menü bulamadım diye normalde  alt menüsüz(subitem oluyor heralde) örnekler çok.
Benim eklediğim dosyayı beğenmezsiniz yinede ekleyeyim.

Çalışması şöyle; userform yada listboxa sağ tıklayınca diğer menülü userform tıklanan konumdan açılır ordan ise menüler seçilir.
Sonuçta iş görür.Dediğim gibi basit bir örnek yol göstermesi açısından.

[Resim: do.php?img=10103]
.rar Userformu maus yerinden acma sag tiklama.rar (Dosya Boyutu: 31,73 KB | İndirme Sayısı: 4)
Cevapla
#5
Çok teşekkürler sn.@feraz
En kısa zamanda deneyeceğim
Ellerinize sağluk
@benbendedeilem
Cevapla
#6
sn. @"feraz" tam da istediğim menü şekli bu idi yani resimdeki gibi "BAA" açabilecek bir menu şekli arıyordum
[Resim: do.php?img=10104]
siz benim yapmak istediğimi excelde yapmışsınız
aslında sağ tıklama şart değildi. resimdeki menüyü oluşturamadığım için kendimce sağ tıklama ile çare arıyordum
Bana lazım olan userAC formunun ta kendisi 
üstte "A,B,C" Menüleri olacak ve "BAA" gibi dallanarak açılacak
formun içinde de metin kutuları listeler falan filan diğer kontroller olacak
bunu mutlaka Access de yapmam lazım 
yardımcı olursanız çok memnun olurum   
@benbendedeilem
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da