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

VBA 2003 ne fonctionne plus sou 2007

3 réponses
Avatar
Paul Florent
Bonjour à tous
sous Access 2003, j'avais ce code qui fonctionnait très bien
ce n'est plus le cas sous Access 2007

Private Sub Sja_Clé_Chantier_AfterUpdate()
Dim KcP As Variant
KcP = Me!CléP_SJActivité

Dim KP As Variant
Dim RS As Object
KP = Me.Parent.CléP_Salarié_Jour
Set RS = Form_SF_Salariés_Jours.Recordset.Clone

Me.Parent.Requery
RS.FindFirst "[CléP_Salarié_Jour] = " & KP
Form_SF_Salariés_Jours.Bookmark = RS.Bookmark
DoCmd.GoToControl "SF_Salariés_Jours_Activité"

DoCmd.GoToControl "CléP_SJActivité"
DoCmd.FindRecord KcP
End Sub

Pouvez vous m'aider et me dire ce qui cloche ?
Par avance merci
Paul

3 réponses

Avatar
jero
Salut,
Sur quelle ligne est l'erreur ? As-tu essayé le "pas à pas" ?
a+
"Paul Florent" a écrit dans le message de news:
uyF$
Bonjour à tous
sous Access 2003, j'avais ce code qui fonctionnait très bien
ce n'est plus le cas sous Access 2007

Private Sub Sja_Clé_Chantier_AfterUpdate()
Dim KcP As Variant
KcP = Me!CléP_SJActivité

Dim KP As Variant
Dim RS As Object
KP = Me.Parent.CléP_Salarié_Jour
Set RS = Form_SF_Salariés_Jours.Recordset.Clone

Me.Parent.Requery
RS.FindFirst "[CléP_Salarié_Jour] = " & KP
Form_SF_Salariés_Jours.Bookmark = RS.Bookmark
DoCmd.GoToControl "SF_Salariés_Jours_Activité"

DoCmd.GoToControl "CléP_SJActivité"
DoCmd.FindRecord KcP
End Sub

Pouvez vous m'aider et me dire ce qui cloche ?
Par avance merci
Paul
Avatar
Paul Florent
Merci pour ta réponse,
l'erreur se produit sur la ligne :
Form_SF_Salariés_Jours.Bookmark = RS.Bookmark

Sur un autre code, j'ai le même problème :

Private Sub Sélectionner_Click()
Dim CléSJ As String
CléSJ = Me!CléP_Salarié_Jour
... ... ...
Me.Requery
Dim RS As Object
Set RS = Me.Recordset.Clone
RS.FindFirst "[CléP_Salarié_Jour] = " & CléSJ
Me.Bookmark = RS.Bookmark
End Sub

L'erreur se produit sur la ligne Me.Bookmark = RS.Bookmark
Peut être y a t'il une différence entre VBA 2003 et 2007 ?
A+
Paul
Avatar
jero
Salut,
1-Extrait de l'aide (Access 2007)
....Par exemple, vous ne pouvez pas utiliser de signets dans un formulaire
basé sur une table liée qui n'a pas d'index primaire.
2-Un exemple fourni pat Microsoft (ça ressemble sérieusement à ton code, et
ça doit fonctionner) :
Private Sub cmdFindContactName_Click()

Dim rst As DAO.Recordset

Dim strCriteria As String

strCriteria = "[ContactName] Like '*" & InputBox("Enter the " _

& "first few letters of the name to find") & "*'"

Set rst = Me.RecordsetClone

rst.FindFirst strCriteria

If rst.NoMatch Then

MsgBox "No entry found.", vbInformation

Else

Me.Bookmark = rst.Bookmark

End If

Set rst = Nothing

End Sub

3-As-tu vérifié le "rst.NoMatch" ?
A+

"Paul Florent" a écrit dans le message de news:

Merci pour ta réponse,
l'erreur se produit sur la ligne :
Form_SF_Salariés_Jours.Bookmark = RS.Bookmark

Sur un autre code, j'ai le même problème :

Private Sub Sélectionner_Click()
Dim CléSJ As String
CléSJ = Me!CléP_Salarié_Jour
... ... ...
Me.Requery
Dim RS As Object
Set RS = Me.Recordset.Clone
RS.FindFirst "[CléP_Salarié_Jour] = " & CléSJ
Me.Bookmark = RS.Bookmark
End Sub

L'erreur se produit sur la ligne Me.Bookmark = RS.Bookmark
Peut être y a t'il une différence entre VBA 2003 et 2007 ?
A+
Paul