Bonjour,

J'ouvre un formulaire avec DoCmd.OpenForm avec l'option acFormAdd.
Dans ce formulaire, j'ai les champs dépendant txtID, txtDate, txtTitre et txaNote.

Je veux initialiser txtID à partir d'une valeur connue.

Le problème : j'obtiens une erreur "Impossible d'attribuer une valeur à cet objet" quand je passe par txtID.value = str. En passant par txtID.DefaultValue, j'ai le bon résultat (j'ouvre toujours un nouvel enregistrement).

DefaultValue fonctionne... mais tout est convertit en entier.
  • Si str = "12", c'est OK.
  • Si str = "342-42", il met 300!
  • Si str = "une vraie chaîne", j'obtiens #Nom ?
Je n'arrive pas m'expliquer pourquoi ça fait ça. Le champ lié est bien un string. Il n'y a ni masque ni formatage sur le champ.

Que regarder d'autres?
Auriez-vous une idée?

Merci!
Caroline

Bout de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
DoCmd.OpenForm "frmCreerNote", , , , acFormAdd, , [Forms]![frmMenuAccueil]![lstDatas].Value
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    'Lire les paramètres
    If Not IsNull(Me.OpenArgs) Then
        Me.txtID.DefaultValue = Me.OpenArgs
    Else
        MsgBox "Nombre de paramètres invalide!"
        Cancel = true
    End If
Source = "tblNotes"
txtID.ControlSource = "IDNote" (IDNote est un string)