bonjour,
je dois utiliser un formulaire avec des champs en quantités et formats très variable.
Alors je pensais utiliser un peu de VB pour faire cela.
La première partie est ainsi:
DoCmd.OpenForm "Diagramme", acDesign
' --Suppression de tous les contrôles existants
For Each ctl In Forms!Diagramme.Controls
DeleteControl "Diagramme", ctl.Name
Next ctl
' --Source de données de mon formulaire
sql = "R_quoi_qui(premier_et_dernier)_sur_1_mois"
Forms![Diagramme].RecordSource = sql
Set rst = CurrentDb.OpenRecordset(sql)
' --Nouveaux controles limités à 100 contrôles
Dim controle(1 To 100) As Control
' --Création des contrôles
If rst.RecordCount <> 0 Then
i = 1
While i < rst.Fields.Count
' --Créer le contrôle i
Set controle(i) = CreateControl("Diagramme", acTextBox, acDetail)
' -- nom
controle(i).Name = rst.Fields(i).Name
. . . etc
Je voulais déclencher cette procédure par l'événement [Sur chargement], mais chaque fois je reçois l'erreur 2174 à la ligne Docmd.OpenForm (tout au début)
Est-ce qu'il y a un autre moyen pour passer d'un formulaire ouvert en mode normal à un mode création?
Y a-t-il autre chose à savoir?
Merci d'avance pour toute aide
Michel
Partager