Ik heb een testdatabase gemaakt waarin ik via een schakelbord een x aantal tabellen wil kunnen openen.(zie bijlage)
In het voorbeeld heb ik een schakelbord gemaakt waarin 2 tabellen geopend moeten worden.
Het schakelbord heb ik via schakelbordbeheer aangemaakt.
De code voor het schakelbord heb ik op de volgende punten aangepast
en
Om de tabel te openen heb ik de code
Nu is het mijn bedoeling dat zodra ik op het schakelbord op 1 van de knoppen druk de betreffende tabel geopend wordt.
Mijn probleem is nu om de naam van de tabel vanuit het klassen object 'Form_schakelbord' op te roepen vanuit module 1.
Ik heb getracht dit te doen mbv Public function GetTB en Public Property Get NameTB, maar dit blijkt niet te werken aangezien de waarde 'OT' op het moment dat Public Property Get NameTB wordt aangeroepen al leeg is.
Ik snap dat ik natuurlijk ook gewoon voor iedere tabel apart de volgende code kan schrijven:
die vanuit het schakelbord kan worden aangeroepen maar om dit nu voor 50 tabellen te gaan doen vind ik niet echt fraai.
Wat doe ik fout?
Bekijk bijlage Geheugenfunctie.rar
In het voorbeeld heb ik een schakelbord gemaakt waarin 2 tabellen geopend moeten worden.
Het schakelbord heb ik via schakelbordbeheer aangemaakt.
De code voor het schakelbord heb ik op de volgende punten aangepast
Code:
Public OT
Public Property Get NameTB()
NameTB = OT
End Property
en
Code:
Private Function HandleButtonClick(intBtn As Integer)
' Run code.
Case conCmdRunCode
OT = Right(rs![ItemText], 7)
Application.Run rs![Argument]
Om de tabel te openen heb ik de code
Code:
Sub opentable()
DoCmd.opentable GetTB, acViewNormal, acReadOnly
End Sub
Public Function GetTB()
Dim DC As New Form_Schakelbord
GetTB = DC.NameTB
End Function
Nu is het mijn bedoeling dat zodra ik op het schakelbord op 1 van de knoppen druk de betreffende tabel geopend wordt.
Mijn probleem is nu om de naam van de tabel vanuit het klassen object 'Form_schakelbord' op te roepen vanuit module 1.
Ik heb getracht dit te doen mbv Public function GetTB en Public Property Get NameTB, maar dit blijkt niet te werken aangezien de waarde 'OT' op het moment dat Public Property Get NameTB wordt aangeroepen al leeg is.
Ik snap dat ik natuurlijk ook gewoon voor iedere tabel apart de volgende code kan schrijven:
Code:
Sub opentable1()
DoCmd.opentable "Tabel1", acViewNormal, acReadOnly
End Sub
Sub opentable2()
DoCmd.opentable "Tabel2", acViewNormal, acReadOnly
End Sub
Wat doe ik fout?
Bekijk bijlage Geheugenfunctie.rar
Laatst bewerkt: