Gå til innhold

Få én kode til å kjøre ved trykking på én av mange


Anbefalte innlegg

Jeg driver og roter litt med databaser, og skriver om et gammelt program i samme slengen.

For å unngå å skrive følgende kode for 104 knapper, ønsker jeg å finne en måte å få samme kode til å kjøres hver gang en av de 104 knappene trykkes, og la en verdi leses ut i fra Tag istedetfor at jeg skriver den i koden.

Option Explicit

Private Sub Beryllium_Click(Index As Integer)
   dataDatabase.Recordset.MoveFirst
   Do Until dataDatabase.Recordset.Fields("ID") = 5
           dataDatabase.Recordset.MoveNext
   Loop
   frmPresentasjon.Show
End Sub

Private Sub Helium_Click(Index As Integer)
   dataDatabase.Recordset.MoveFirst
   Do Until dataDatabase.Recordset.Fields("ID") = 2
           dataDatabase.Recordset.MoveNext
   Loop
   frmPresentasjon.Show
End Sub

Private Sub Hydrogen_Click(Index As Integer)
   dataDatabase.Recordset.MoveFirst
   Do Until dataDatabase.Recordset.Fields("ID") = 1
           dataDatabase.Recordset.MoveNext
   Loop
   frmPresentasjon.Show
End Sub

Private Sub Litium_Click(Index As Integer)
   dataDatabase.Recordset.MoveFirst
   Do Until dataDatabase.Recordset.Fields("ID") = 3
           dataDatabase.Recordset.MoveNext
   Loop
   frmPresentasjon.Show
End Sub

osv...

Altså at én blokk med kode kjøres hver gang en hvilken som helst av de 104 knappene trykkes, og at den deretter bruker en verdi fra Tag-propertien til knappen som trykkes.

 

Har noen noe forslag?

Hele prosjektet ligger vedlagt.

Grunnstoffer.zip

Endret av endrebjorsvik
Lenke til kommentar
Videoannonse
Annonse

Ahh...så flere knapper kan ha samme navnet. Genialt!

Jeg fylte faktisk ut Index-verdier på alle knappene først, men så kom jeg på at jeg kunne bruke en Tag-verdi som ikke måtte starte på null, så da fylte jeg ut de også. Dobbelt opp. :p

 

Tusen takk for hjelpen! :D

 

Edit: Hva er dette til?

Private Sub Form_Load()

   ' Referer til nåværende mappe
   dataDatabase.DatabaseName = ValidatePath(App.Path) & "databaseOld.mdb"

End Sub

Public Function ValidatePath(sPath As String) As String

   ' Legg til skråstrek om nødvendig
   ValidatePath = sPath & IIf(Right(sPath, 1) = "\", "", "\")

End Function

For å sjekke om databasen finnes?

Endret av endrebjorsvik
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...