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

Affecter des données d'une base à une autre base

5 réponses
Avatar
Thierry 46
Bonjour à tous,

je bloque sur le problème suivant:
- j'ai une base1 dont un champ "conseiller" à vide.
- j'ai une autre base2 avec la liste des conseillers avec une condition
vrai/faux selon leurs présences, le champ "conseiller" est donc renseigné

Mon but est de mettre un nom de conseiller dans la base1 et cela sur
toute la selection. Comment faire cette mise à jour ? ce travail est
quotidien et la solution Excel ne met convient pas.

exemple base1 après:

champ1 conseiller etc1 etc2
-------------------------------
xxxx tyty yyyy www
sdsfs toto ssss aaaa
qsdff moi aaaaa aaaa
..............
wdff tyty qsaeaez aaa
wsdd toto azze aaa
qqss moi azer qsdd


Base2

conseiller present
--------------------
nestor faux
machin faux
tyty vrai
dudule faux
toto vrai
moi vrai

Voilà le principe. Auriez-vous une piste, un exemple? SQL ? ou par du VBA ?
Imbriquer des boucles ? initialiser un tableau ?

J'ai l'impression que je vais aller chercher loin une solution qui
pourrait être simple faute de bien connaitre?

Merci

5 réponses

Avatar
Thierry 46
Thierry 46 a écrit :
Bonjour à tous,

je bloque sur le problème suivant:
- j'ai une base1 dont un champ "conseiller" à vide.
- j'ai une autre base2 avec la liste des conseillers avec une condition
vrai/faux selon leurs présences, le champ "conseiller" est donc renseigné

Mon but est de mettre un nom de conseiller dans la base1 et cela sur
toute la selection. Comment faire cette mise à jour ? ce travail est
quotidien et la solution Excel ne met convient pas.

exemple base1 après:

champ1 conseiller etc1 etc2
-------------------------------
xxxx tyty yyyy www
sdsfs toto ssss aaaa
qsdff moi aaaaa aaaa
...............
wdff tyty qsaeaez aaa
wsdd toto azze aaa
qqss moi azer qsdd


Base2

conseiller present
--------------------
nestor faux
machin faux
tyty vrai
dudule faux
toto vrai
moi vrai

Voilà le principe. Auriez-vous une piste, un exemple? SQL ? ou par du VBA ?
Imbriquer des boucles ? initialiser un tableau ?

J'ai l'impression que je vais aller chercher loin une solution qui
pourrait être simple faute de bien connaitre?

Merci


Bonjour,

J'ai essayé avec ADO
Je coince sur rst.edit --->
Mise à jour impossible. La base de donnée ou l'objet est en lecture seule

Je ne vois pas où
EN lançant les 2 requetes je peux écrire dans la base.
Help ?


Option Compare Database
Option Explicit

Private Sub Commande2_Click()

Dim dbs As Database
Dim rst As DAO.Recordset

Dim rst2 As DAO.Recordset
Set dbs = CurrentDb


Set rst = dbs.OpenRecordset("REQ_Cas_particulier", dbOpenDynaset)
Set rst2 = dbs.OpenRecordset("REQ_conseillers_Cas_Particulier",
dbOpenDynaset)

rst2.MoveLast
rst.MoveLast
Debug.Print rst.RecordCount ' 5 pour l exemple Requete ok
Debug.Print rst2.RecordCount ' 1 pour l exemple Requete ok
rst2.MoveFirst
rst.MoveFirst

Do While Not rst.EOF

Debug.Print rst.EditMode ' 0 ??

rst.Edit
rst.Fields("conseiller") = rst2("conseiller")
rst.Update
rst.MoveNext

Loop
rst.Close
rst2.Close

End Sub
Avatar
Michel__D
Bonjour,

Ce n'est pas clair ton histoire car si le champ [conseiller] n'est pas
renseigné comment savoir avec l'exemple que tu as donné que c'est la
valeur "tyty" qui correspnd à la 1ère ligne.


Thierry 46 a écrit :
Bonjour à tous,

je bloque sur le problème suivant:
- j'ai une base1 dont un champ "conseiller" à vide.
- j'ai une autre base2 avec la liste des conseillers avec une condition
vrai/faux selon leurs présences, le champ "conseiller" est donc renseigné

Mon but est de mettre un nom de conseiller dans la base1 et cela sur
toute la selection. Comment faire cette mise à jour ? ce travail est
quotidien et la solution Excel ne met convient pas.

exemple base1 après:

champ1 conseiller etc1 etc2
-------------------------------
xxxx tyty yyyy www
sdsfs toto ssss aaaa
qsdff moi aaaaa aaaa
...............
wdff tyty qsaeaez aaa
wsdd toto azze aaa
qqss moi azer qsdd


Base2

conseiller present
--------------------
nestor faux
machin faux
tyty vrai
dudule faux
toto vrai
moi vrai

Voilà le principe. Auriez-vous une piste, un exemple? SQL ? ou par du VBA ?
Imbriquer des boucles ? initialiser un tableau ?

J'ai l'impression que je vais aller chercher loin une solution qui
pourrait être simple faute de bien connaitre?

Merci


Avatar
Thierry 46
Thierry 46 a écrit :
Thierry 46 a écrit :
Bonjour à tous,

je bloque sur le problème suivant:
- j'ai une base1 dont un champ "conseiller" à vide.
- j'ai une autre base2 avec la liste des conseillers avec une
condition vrai/faux selon leurs présences, le champ "conseiller" est
donc renseigné

Mon but est de mettre un nom de conseiller dans la base1 et cela sur
toute la selection. Comment faire cette mise à jour ? ce travail est
quotidien et la solution Excel ne met convient pas.

exemple base1 après:

champ1 conseiller etc1 etc2
-------------------------------
xxxx tyty yyyy www
sdsfs toto ssss aaaa
qsdff moi aaaaa aaaa
...............
wdff tyty qsaeaez aaa
wsdd toto azze aaa
qqss moi azer qsdd


Base2

conseiller present
--------------------
nestor faux
machin faux
tyty vrai
dudule faux
toto vrai
moi vrai

Voilà le principe. Auriez-vous une piste, un exemple? SQL ? ou par du
VBA ?
Imbriquer des boucles ? initialiser un tableau ?

J'ai l'impression que je vais aller chercher loin une solution qui
pourrait être simple faute de bien connaitre?

Merci


Bonjour,

J'ai essayé avec ADO
Je coince sur rst.edit --->
Mise à jour impossible. La base de donnée ou l'objet est en lecture seule

Je ne vois pas où
EN lançant les 2 requetes je peux écrire dans la base.
Help ?


Option Compare Database
Option Explicit

Private Sub Commande2_Click()

Dim dbs As Database
Dim rst As DAO.Recordset

Dim rst2 As DAO.Recordset
Set dbs = CurrentDb


Set rst = dbs.OpenRecordset("REQ_Cas_particulier", dbOpenDynaset)
Set rst2 = dbs.OpenRecordset("REQ_conseillers_Cas_Particulier",
dbOpenDynaset)

rst2.MoveLast
rst.MoveLast
Debug.Print rst.RecordCount ' 5 pour l exemple Requete ok
Debug.Print rst2.RecordCount ' 1 pour l exemple Requete ok
rst2.MoveFirst
rst.MoveFirst

Do While Not rst.EOF

Debug.Print rst.EditMode ' 0 ??

rst.Edit
rst.Fields("conseiller") = rst2("conseiller")
rst.Update
rst.MoveNext

Loop
rst.Close
rst2.Close

End Sub


RESOLU:

j'ai fait avec ADO après correction du BUG recordcount
Avatar
Thierry 46
Michel__D a écrit :
Bonjour,
Bonjour,

Ce n'est pas clair ton histoire car si le champ [conseiller] n'est pas
renseigné comment savoir avec l'exemple que tu as donné que c'est la
valeur "tyty" qui correspnd à la 1ère ligne.


Effectivement, je me comprenais:
Dans la base2 il y a la liste des conseillers, avec des champs de
diverses affectations.
J'ai fait avec des boucles imbriquées.
Merci d'avoir cherchez à m'aider.


Thierry 46 a écrit :
Bonjour à tous,

je bloque sur le problème suivant:
- j'ai une base1 dont un champ "conseiller" à vide.
- j'ai une autre base2 avec la liste des conseillers avec une
condition vrai/faux selon leurs présences, le champ "conseiller" est
donc renseigné

Mon but est de mettre un nom de conseiller dans la base1 et cela sur
toute la selection. Comment faire cette mise à jour ? ce travail est
quotidien et la solution Excel ne met convient pas.

exemple base1 après:

champ1 conseiller etc1 etc2
-------------------------------
xxxx tyty yyyy www
sdsfs toto ssss aaaa
qsdff moi aaaaa aaaa
...............
wdff tyty qsaeaez aaa
wsdd toto azze aaa
qqss moi azer qsdd


Base2

conseiller present
--------------------
nestor faux
machin faux
tyty vrai
dudule faux
toto vrai
moi vrai

Voilà le principe. Auriez-vous une piste, un exemple? SQL ? ou par du
VBA ?
Imbriquer des boucles ? initialiser un tableau ?

J'ai l'impression que je vais aller chercher loin une solution qui
pourrait être simple faute de bien connaitre?

Merci




Avatar
tomaszewski jean
J'ai actuellement un ordinateur packard bell et une livebox la connexion
filaire est ok mais la connexion wifi est inexistante que puis-je faire ?
merci
"Thierry 46" a écrit dans le message de
news:OzH2v0y$
Bonjour à tous,

je bloque sur le problème suivant:
- j'ai une base1 dont un champ "conseiller" à vide.
- j'ai une autre base2 avec la liste des conseillers avec une condition
vrai/faux selon leurs présences, le champ "conseiller" est donc renseigné

Mon but est de mettre un nom de conseiller dans la base1 et cela sur toute
la selection. Comment faire cette mise à jour ? ce travail est quotidien
et la solution Excel ne met convient pas.

exemple base1 après:

champ1 conseiller etc1 etc2
-------------------------------
xxxx tyty yyyy www
sdsfs toto ssss aaaa
qsdff moi aaaaa aaaa
..............
wdff tyty qsaeaez aaa
wsdd toto azze aaa
qqss moi azer qsdd


Base2

conseiller present
--------------------
nestor faux
machin faux
tyty vrai
dudule faux
toto vrai
moi vrai

Voilà le principe. Auriez-vous une piste, un exemple? SQL ? ou par du VBA
?
Imbriquer des boucles ? initialiser un tableau ?

J'ai l'impression que je vais aller chercher loin une solution qui
pourrait être simple faute de bien connaitre?

Merci