OVH Cloud OVH Cloud

Objets d'une collection ?

4 réponses
Avatar
cyberjc
Bjr, je n'arrive pas à affecter une valeur à un enregistrement car j'ai le
message que l'objet ne fait pas partie de la collection, pourtant il fait
bien partie de ce que je demande dans l'Openrecordset ?? Voici le code :

Sub Maj_Travaux_Finition()

Dim bd As Database, jeuA As Recordset, jeuB As Recordset
Dim sql As String
sql = "SELECT tplanning.*, dbo_travaux_finition.* FROM tplanning LEFT
JOIN dbo_travaux_finition "
sql = sql & "ON (tplanning.Produit = dbo_travaux_finition.Produit) AND "
sql = sql & "(tplanning.Mach_Ope = dbo_travaux_finition.Mach_Ope) AND "
sql = sql & "(tplanning.No_lot = dbo_travaux_finition.No_lot) AND "
sql = sql & "(tplanning.Dossier = dbo_travaux_finition.Dossier);"


Set bd = CurrentDb
Set jeuA = bd.OpenRecordset(sql, dbOpenDynaset)

jeuA.MoveFirst

While Not jeuA.EOF
jeuA.Edit
If IsNull(jeuA!Modif_mach) = True Then
jeuA!Modif_mach = jeuA!Mach_Ope *******ici ça coince sur Mach_Ope
End If
jeuA.Update
jeuA.MoveNext
Wend

End Sub

D'avance merci

jc

4 réponses

Avatar
Raymond [mvp]
Bonsoir.

si on prend le message à la lettre , un des deux champs est mal
orthographié.
tu travailles sur une base sql pour avoir des champs dbo_?
si non, n'aurais-tu pas des références à ADO cochées placées avant les
références dao?
il peut y avoir beaucoup de raisons pour qu'une erreur sorte à cet endroit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Bjr, je n'arrive pas à affecter une valeur à un enregistrement car j'ai le
message que l'objet ne fait pas partie de la collection, pourtant il fait
bien partie de ce que je demande dans l'Openrecordset ?? Voici le code :

Sub Maj_Travaux_Finition()

Dim bd As Database, jeuA As Recordset, jeuB As Recordset
Dim sql As String
sql = "SELECT tplanning.*, dbo_travaux_finition.* FROM tplanning LEFT
JOIN dbo_travaux_finition "
sql = sql & "ON (tplanning.Produit = dbo_travaux_finition.Produit) AND
"
sql = sql & "(tplanning.Mach_Ope = dbo_travaux_finition.Mach_Ope) AND "
sql = sql & "(tplanning.No_lot = dbo_travaux_finition.No_lot) AND "
sql = sql & "(tplanning.Dossier = dbo_travaux_finition.Dossier);"


Set bd = CurrentDb
Set jeuA = bd.OpenRecordset(sql, dbOpenDynaset)

jeuA.MoveFirst

While Not jeuA.EOF
jeuA.Edit
If IsNull(jeuA!Modif_mach) = True Then
jeuA!Modif_mach = jeuA!Mach_Ope *******ici ça coince sur
Mach_Ope
End If
jeuA.Update
jeuA.MoveNext
Wend

End Sub

D'avance merci

jc


Avatar
cyberjc
Merci Raymond, c'est possible que ce soit un pb de référence, j'utilise ça :

- VB for Applications
- MS Access 9.0 Object Library
- OLE Automation
- MS DAO 3.6 Object Library
- MS VBA Extensibility 5.3

Je t'avouerai que je m'y perds un peu dans toutes ces refs, où je pourrai en
savoir plus ?

Quant au problème d'ortographe du champ, comment je dois y faire référence ?

Ps : La requête Sql met en jeu une table Access et une table Sql (en dbo_)
que je cherche à compléter en fonction des enregistrements de la première.
Elles sont liées par une jointure Access >> Sql sur 4 champs qui composent la
clé.


Bonsoir.

si on prend le message à la lettre , un des deux champs est mal
orthographié.
tu travailles sur une base sql pour avoir des champs dbo_?
si non, n'aurais-tu pas des références à ADO cochées placées avant les
références dao?
il peut y avoir beaucoup de raisons pour qu'une erreur sorte à cet endroit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Bjr, je n'arrive pas à affecter une valeur à un enregistrement car j'ai le
message que l'objet ne fait pas partie de la collection, pourtant il fait
bien partie de ce que je demande dans l'Openrecordset ?? Voici le code :

Sub Maj_Travaux_Finition()

Dim bd As Database, jeuA As Recordset, jeuB As Recordset
Dim sql As String
sql = "SELECT tplanning.*, dbo_travaux_finition.* FROM tplanning LEFT
JOIN dbo_travaux_finition "
sql = sql & "ON (tplanning.Produit = dbo_travaux_finition.Produit) AND
"
sql = sql & "(tplanning.Mach_Ope = dbo_travaux_finition.Mach_Ope) AND "
sql = sql & "(tplanning.No_lot = dbo_travaux_finition.No_lot) AND "
sql = sql & "(tplanning.Dossier = dbo_travaux_finition.Dossier);"


Set bd = CurrentDb
Set jeuA = bd.OpenRecordset(sql, dbOpenDynaset)

jeuA.MoveFirst

While Not jeuA.EOF
jeuA.Edit
If IsNull(jeuA!Modif_mach) = True Then
jeuA!Modif_mach = jeuA!Mach_Ope *******ici ça coince sur
Mach_Ope
End If
jeuA.Update
jeuA.MoveNext
Wend

End Sub

D'avance merci

jc







Avatar
Raymond [mvp]
pour les références c'est bon.
fait comme ceci:
crée une requête indépendante sous sql, avec le texte complet que tu mets
sous vba .
est-ce qu'elle fonctionne ?
si non, modifie les instructions jusqu'à ce que ça marche et ensuite copie
tes instructions dans le vba.
si oui, vérifie que:
jeuA!Modif_mach et jeuA!Mach_Ope s'écrivent bien comme ça dans tes tables.
il est préférable aussi vu que tu utilises DAO, de préfixer les instructions
dao comme ceci:
Dim bd As DAO.Database, jeuA As DAO.Recordset, jeuB As DAO.Recordset
pour te préserver pour l'avenir.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Merci Raymond, c'est possible que ce soit un pb de référence, j'utilise ça
:

- VB for Applications
- MS Access 9.0 Object Library
- OLE Automation
- MS DAO 3.6 Object Library
- MS VBA Extensibility 5.3

Je t'avouerai que je m'y perds un peu dans toutes ces refs, où je pourrai
en
savoir plus ?

Quant au problème d'ortographe du champ, comment je dois y faire référence
?

Ps : La requête Sql met en jeu une table Access et une table Sql (en dbo_)
que je cherche à compléter en fonction des enregistrements de la première.
Elles sont liées par une jointure Access >> Sql sur 4 champs qui composent
la
clé.



Avatar
cyberjc
Merci Raymond, Du coup je viens de trouver qu'il faut que j'écrive :

jeuA![tplanning.Mach_op] et ça marche.


pour les références c'est bon.
fait comme ceci:
crée une requête indépendante sous sql, avec le texte complet que tu mets
sous vba .
est-ce qu'elle fonctionne ?
si non, modifie les instructions jusqu'à ce que ça marche et ensuite copie
tes instructions dans le vba.
si oui, vérifie que:
jeuA!Modif_mach et jeuA!Mach_Ope s'écrivent bien comme ça dans tes tables.
il est préférable aussi vu que tu utilises DAO, de préfixer les instructions
dao comme ceci:
Dim bd As DAO.Database, jeuA As DAO.Recordset, jeuB As DAO.Recordset
pour te préserver pour l'avenir.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Merci Raymond, c'est possible que ce soit un pb de référence, j'utilise ça
:

- VB for Applications
- MS Access 9.0 Object Library
- OLE Automation
- MS DAO 3.6 Object Library
- MS VBA Extensibility 5.3

Je t'avouerai que je m'y perds un peu dans toutes ces refs, où je pourrai
en
savoir plus ?

Quant au problème d'ortographe du champ, comment je dois y faire référence
?

Ps : La requête Sql met en jeu une table Access et une table Sql (en dbo_)
que je cherche à compléter en fonction des enregistrements de la première.
Elles sont liées par une jointure Access >> Sql sur 4 champs qui composent
la
clé.