21. januar 2005 - 14:35Der er
14 kommentarer og 1 løsning
Dynamisk genvejsmenu
Jeg har en række tekstboksfelter på et slags kort, som ved højreklik skal vise et variabelt antal referencer til noget data. Jeg er med på at jeg skal lave min egen genvejsmenu, men hvordan hulen får jeg puttet funtionaliteten ind i den, så der kommer til at være en liste med de rette referencer der så kan åbnes ved klik?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Hej, du skal skrive dine funktioner i et modul, under egenskaber for genvejsmenuen er der et felt der hedder ved handling, der skriver du =navnpådinfunktuion()
Sorry, læste ikke at genvejsmenuen skulle være dynamisk, ved ikke lige hvordan det skal gribes an, men hvis du opretter en genvejsmenu for hver tekstbox på formen er det ligetil, men har du mange tekstbokse, er dette selvfølgelig ikke optimalt
Men det jeg gerne vil, er at oprette menupunkter med reference til nogle poster, som skal vises på en form eller i en rapport, når man højreklikker og vælger et af de, af minfunktion(), oprettede menupunkter. Jeg skal ikke selv lave menupunkterne, det skal funktionen. jeg har muligvis bare ikke forstået hvad du mener,m for jeg kan heller ikke finde de der egenskaber for min "test" genvejsmenu...
hej, jeg forstår hvad du mener, jeg har desværre ikke noget bud når menupunkterne skal være dynamiske, måske der er andre der kommer med indlæg, for at komme til den omtalte egenskab skal du vælge tilpas i en menulinje, herefter skal du udpege din gennvejsmenu, og højreklikke på et brugerdefineret menupunkt så kan man aflæse egenskaberne. For god ordens skyld skal det siges at jeg trækker mit svar tibage, da ikke jo ikke er brugbart :o)
Denne kode skifter caption på en knap på genvejsmenuen:
Dim cmb As CommandBar Dim cbc As CommandBarControl Set cmb = Application.CommandBars("Din testmenu") Set cbc = cmb.Controls(1) cbc.Caption = "Dette er en demo!" cbc.Style = msoButtonCaption
Denne kode disabler en knap i en given situation:
Dim combtn As CommandBarControl Set combtn = CommandBars("Din testmenu").FindControl(Type:=msoControlButton, Tag:="Tekst på din knap") If Kriterie Then combtn.Enabled = Aktiveret End If
Åbn en formular i Designvisning og gå ind i VBA-editoren. Under Tools > References browser du ned igennem bibliotekerne til du finder den rette og der sætter du et checkmærke i venstre side i den lille boks.
Vrøvl, det jeg lige skrev. Det var den jeg havde set Micorsoft !!ACCESS!! x.0 Object Library og ikke Micorsoft !!Office!! x.0 Object Library, så nu har jeg fundet det.
Det er så alt sammen meget fint med de der genvejsmenuer, men når jeg så vil af med skidtet igen er det åbenbart ikke så let endda. Jeg har et kort som bliver opdaret og hver gang skal der genereres nye genvejsmenuer. Man kan muligvis tilrette de eksisterende, men jeg synes det er lettere at slette dem og så lave nogle nye. Problemet er så bare lige at få det gjort, hvorfor må jeg ikke gøre sådan her:
Public Function delgenvej()
Dim con As ADODB.Connection Dim strSQL As String, Tekst As String Dim rec As Recordset Dim cmb As CommandBar
Set rec = New ADODB.Recordset Set con = CurrentProject.Connection
strSQL = "SELECT Kort_Navn FROM tbl_Spsegment" rec.Open strSQL, con
Do While Not rec.EOF
Tekst = rec!Kort_Navn If Form_frm_kort(rec!Kort_Navn).ShortcutMenuBar = "" & Tekst Then
Set cmb = Application.CommandBars(Tekst) cmb.Delete
End If
rec.MoveNext
Loop
rec.Close con.Close
End Function
Jeg får en fejl der hedder 'invalid procedure call og argument', og jeg fatter ikke et hak af det...
Det er denne linie der er markeret som indeholdende en fejl...
Og grunden til at jeg har lavet "tekst" strengen er, at det åbenbart ikke kan lade sig gøre at få systemet til at fatte at det er en streng der ligger i recordset'et.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.