zouf31
Messages postés10Date d'inscriptionvendredi 26 juin 2009StatutMembreDernière intervention18 juillet 2009
-
25 juin 2009 à 17:14
zouf31
Messages postés10Date d'inscriptionvendredi 26 juin 2009StatutMembreDernière intervention18 juillet 2009
-
29 juin 2009 à 10:19
Bonjour à tous,
J'aimerai, à partir d'un formulaire, rendre visible ou non d'autres formulaires, en fonction du profil connecté.
voici mon code :
Private Sub Form_Load()
Me.Caption = "Menu - connecté en tant que " & [Forms]![Droits_Acces]![lst_groupe]
Dim datab As Database
Dim table As Recordset
Set datab = DBEngine(0)(0)
Set table = datab.OpenRecordset("Droits_Acces")
table.MoveFirst
Do Until table.EOF
If table![Lecture] = False Then
Dim f As String
f = table![Fomulaire]
[Forms]!f.Visible = False
End If
If table![Ecriture] = False Then
'[Forms]!table![Formulaire].Enabled = False
End If
table.MoveNext
Loop
table.Close
datab.Close
End Sub
Voilà, le problème vient du bout de code en orange : comment passer le nom du formulaire en paramètre ?
En espérant avoir été assez clair, merci d'avance =)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 25 juin 2009 à 17:37
salut,
forms est une collection, il faut donc l'utiliser
néanmoins elle n'est utilisable que par un numériqué et non le nom de la form. il faut donc tricher en passant par une petite fonction perso du genre :
Function
getFormByName(
ByVal
sName
As String
)
As
Form
Dim fRet As Form
Set fRet = Nothing
Dim f As Form
For Each f In Forms
If f.Name = sName Then
Set fRet = f
Exit For
End If
Next f
Set f = Nothing
Set getFormByName = fRet
End Function
VB6!
tu as classé en VB.NET
tu as une syntaxe plus proche de VBA que de VB6. (quoi que, après tout c'est peut être du VBA....à
tu utilises DAO au lieu d'ADO (si VB6)
CTAC
Messages postés133Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention 8 juin 20125 26 juin 2009 à 18:59
Salut,
Tiré de l'aide
Pour répertorier tous les formulaires dans la base de données, ouverts ou fermés, énumérez la collection AllForms de l'objet CurrentProject. Vous pouvez ensuite utiliser la propriété Name de chaque objet AccessObject individuel pour renvoyer le nom d'un formulaire.
zouf31
Messages postés10Date d'inscriptionvendredi 26 juin 2009StatutMembreDernière intervention18 juillet 2009 29 juin 2009 à 10:19
J'ai essayé cette dernière méthode mais un objet AccessObject ne permet pas de renvoyer un form, il ne renvoie que le nom.
Est-ce possible de caster un accessobject en Form ?