Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Me.SousFrm.Form.Recordset.Update, impossible

3 réponses
Avatar
Bruno MAZÉPA
Bonjour à tous,
Lorsque je veux faire un update de mon enregistrement en cours,
j'ai un message qui me dis :
"Un index ou une clé primaire ne peut pas contenir de valeur null"
alors que justement, je fais un update après avoir rempli mon champ primaire
!?
Pourquoi un tel message !?
--
Cordialement.

3 réponses

Avatar
Anor
Bonjour,


| Bonjour à tous,
| Lorsque je veux faire un update de mon enregistrement en cours,
| j'ai un message qui me dis :
| "Un index ou une clé primaire ne peut pas contenir de valeur null"

Ta procédure d'update quelle est-elle ?
Apparemment, tu essayes d'effacer la donnée d'un champ dont la
propriété serait positionnée sur "null interdit" ....

| alors que justement, je fais un update après avoir rempli mon champ
| primaire !?

*après* ??
Si tu remplis un champ obligatoire et que "après" une procédure efface la donnée,
ce genre de message me semble logique, non ?

| Pourquoi un tel message !?
Je suis sûr que tu vas bientôt nous donner une explication ;-))

--
à+
Arnaud
-------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
petit à petit, www.anor.fr.st fait son nid
-------------------------------------------
Avatar
Bruno MAZÉPA
Bonjour Anor,
Je ne veux pas effacer une donnée, je veux la créé !
J'ai donc un formulaire avec le bouton Ajouter qui contient un Sous
formulaire affichage = feuille de données
Voila ma procédure :

Private Sub BnAjouterFD_Click()
Me.SFrm_Fiche_Devis.SetFocus
Dim NumDev As String, NewNumDev As Integer
' Se positionner sur le dernier enregistrement
Me.SFrm_Fiche_Devis.Form.Recordset.MoveLast
' On calcul le nouveau numéro de devis
NumDev = Me.SFrm_Fiche_Devis.Controls("NumDevis").Value
NewNumDev = Val(Right(NumDev, 4)) + 1
Me.SFrm_Fiche_Devis.Form.Recordset.AddNew

Me.SFrm_Fiche_Devis.Controls("NumDevis").Value = _
Right(LireIni("GLOBAL", "Annee"), 2) & CStr(NewNumDev)

Me.SFrm_Fiche_Devis.Controls("FDCodeClt").Value = _
Me.CodeClt.Value
' C'est ici que ça ne veux pas faire mon update*******************
Me.SFrm_Fiche_Devis.Form.Recordset.Update
End Sub
Il n'y a rien de complexe pourtant !?
Mais ça ne veut pas marcher !?
--
Cordialement.

"Anor" a écrit dans le message de news:
#
Bonjour,


| Bonjour à tous,
| Lorsque je veux faire un update de mon enregistrement en cours,
| j'ai un message qui me dis :
| "Un index ou une clé primaire ne peut pas contenir de valeur null"

Ta procédure d'update quelle est-elle ?
Apparemment, tu essayes d'effacer la donnée d'un champ dont la
propriété serait positionnée sur "null interdit" ....

| alors que justement, je fais un update après avoir rempli mon champ
| primaire !?

*après* ??
Si tu remplis un champ obligatoire et que "après" une procédure efface la
donnée,

ce genre de message me semble logique, non ?

| Pourquoi un tel message !?
Je suis sûr que tu vas bientôt nous donner une explication ;-))

--
à+
Arnaud
-------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
petit à petit, www.anor.fr.st fait son nid
-------------------------------------------





Avatar
Anor
Bonjour,

Je recommence car j'ai écrit n'importe quoi comme code :

Voici un exemple de code que j'utilise, donc, pour rajouter un
enregistrement à une table, avec une valeur sur un champ.

Je laisse le code complet, qui est prévu pour une zone de liste modifiable,
mais on peut facilement en extraire la partie qui t'intéresse :

Private Sub Combo0_NotInList(NewData As String, Response As Integer)
Response = 0
If msgbox("Voulez-vous ajouter la valeur " & NewData & " ?", _
vbYesNo + vbQuestion) = vbYes Then

Dim dbs As DAO.Database
Dim rst As DAO.Recordset

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("TaTable", dbOpenDynaset)

With rst
.AddNew
.Fields("LeChamp").Value = NewData
.Update
.Close
End With

Me!Combo0.Value = ""
Me!Combo0.Requery
Me!Combo0.Value = NewData
Me!Combo0.SetFocus

Set dbs = Nothing
Set rst = Nothing
Else
Cancel = True
End If
End Sub

Voilà.

PS : le nntp msnews est encore à genoux ?
Je suis repassé chez mon FAI ...

--
à+
Arnaud
-------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
petit à petit, www.anor.fr.st fait son nid
-------------------------------------------