Hej alla. Vad för knapp? Har du skapat knappen själv? i sådana fall är det bättre att lägger funktionaliteten i en separat sub som du kan anropa från båda ställena. Om du vill "trycka på en knapp utan att trycka på knappen" måste du ha ett annat kriterium för när det skall 'tryckas' på knappen så att säga? I VB kan du kalla på Button1_Click() för att "trycka" på knappen. Eventuellt kan du kanske göra samma sak via VBA i Access? Jag har en knapp som visar lite kontroller och sparar data från dessa, det jag skulle vilja göra är att anropa en annan knapp i slutet av koden för att få lite annan kod körd. Det är väl så här du tänkt dig. Knappen som jag vill ha tryckt heter cmdsök och jag fattar fortfarande inte hur jag ska få den aktiverad utan att handgripligen trycka på den...HJÄÄÄÄLPPPP :) Det finns säkert en enkel lösning på vad du vill göra, men du är lite oklar i din frågeställning, därav inga klara svar. Hej.Knapptryckning
Jag skulle behöva trycka på en knapp utan att trycka på knappen...
Kan man på något sätt via kod eller macro, göra en sådan sak som att trycka ner en knapp i ett formulär?Sv: Knapptryckning
/JohanSv: Knapptryckning
Vad är det som skall bestämma när du vill att något skall hända?
/ PerSv: Knapptryckning
ThomasSv:Knapptryckning
Sv: Knapptryckning
<code>
Option Explicit
Private Sub Command1_Click()
'Program för första knappen
Debug.Print "Det här aktiverades av första knappen."
'Kör sedan kod vid andra knappen
Command2_Click
End Sub
Private Sub Command2_Click()
'Program för andra knappen
Debug.Print "Det här aktiverades av andra knappen."
End Sub
</code>
men du får en snyggare lösning om du gör så här.
<code>
Option Explicit
Private Sub Command1_Click()
'Program för första knappen
MySub1
MySub2
End Sub
Private Sub Command2_Click()
MySub2
End Sub
'Dessa subrutiner kan även läggas t ex i en egen klass för att ytterligare separera användarinterface och kod.
'Är det speciel information som ska bearbetas i rutinerna så kan ju data skickas med som parametrar.
Sub MySub1()
'Program för första knappen
Debug.Print "Det här aktiverades av första knappen."
End Sub
Sub MySub2()
'Program tidigare för andra knappen, nu är det en fristående subrutin.
Debug.Print "Det här aktiverades tidigare av andra knappen."
End Sub
</code>Sv:Knapptryckning
Sv: Knapptryckning
Så som jag jobbar skulle jag göra så här:
- Bakom en knapp brukar jag ha en hänvisning till ett makro. Detta makro kan vi kalla X.
- När du bakom en annan knapp vill 'trycka på knappen' kan du väl bara se till att makrot X körs igen?
Om du inte jobbar så där får du helt enkelt visa koden bakom knappen som du vill skall köras utan att klicka på den...
/ PerSv: Knapptryckning
Du skriver att du vill ha den aktiverad utan att trycka på knappen så antar jag att att du vill köra koden som normalt körs när man trycker på knappen men att körningen initieras från något annan håll, anropas från annan kod. Du behöver ju inte trycka på knappen, du kan anropa koden från ditt program.
Om du öppnar ditt formulär i designläge och dubbelklickar på din "cmdsök"-knapp så kommer det att skapas en subrutin (se nedan) i din kod för formuläret.
<code>
'Kod för händelse när någon trycker på knappen "cmdsök"
Private Sub cmdsök_Click()
'Program som körs när knappen "cmdsök" påverkas.
End Sub
'Här är en annan subrutin som aktiveras av en annan händelse. I detta fall en annan knapp men det skulle t ex lika gärna vara en timer.
Private Sub EnAnnanKnapp_Click()
'Lite program som körs
Debug.Print "Kör lite annan kod"
'Kör koden som normalt initeras av klick på "cmdsök"-knappen.
Call cmdsök_Click()
End Sub
</code>