Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2011, 22h04   #1
Membre du Club
 
Avatar de sendme
 
Sendme
Inscription : avril 2006
Messages : 86
Détails du profil
Informations personnelles :
Nom : Sendme

Informations forums :
Inscription : avril 2006
Messages : 86
Points : 50
Points : 50
Par défaut UPDATE sur tous les champs en même temps > saisie rapide ?

Bonjour,

J'ai 2 tables :
BASE_DOSSIERS
et
DOSSIERS
Je précise tous les champs de ces 2 tables ont exactement les mêmes propriétés et noms.

Le but est que l'enregistrement en cours dans DOSSIERS mette à jour l'enregistrement de BASE_DOSSIERS ayant le même ID (tous les champs d'un enregistrement en même temps).

Cependant, la requête UPDATE ne peux pas se faire en indiquant .* ce qui m'obligerait à saisir tous les champs (soit plus de 190 !)

J'ai trouvé quelque chose ici

Citation:
Un recordset travaille sur une table (ou une requête), donc si tu le mets à jour, toutes les lignes de ta table le seront également! Sans avoir à nommer tous tes champs!
Mais comment faire en détail svp ? quelqu'un pourrait-il m'aider pour la syntaxe ?

Merci d'avance
sendme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 12h57   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
Tiens ! v'là sendme

effectivement avec DAO tu peux ouvrir deux recordset sur chacune des tables (avec un SELECT * FROM...) et parcourir les champs dans une boucle grâce à la collection Fields.

regarde l'exemple ici. Tu peux accéder au champ de l'enregistrement courant avec la syntaxe:

Code :
Rst.Fields("NomClient").Value...
ou plus interessant pour toi avec la syntaxe:

si NomClient est le 2ème champ (ça commence à partir de zéro)
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2011, 11h52   #3
Membre du Club
 
Avatar de sendme
 
Sendme
Inscription : avril 2006
Messages : 86
Détails du profil
Informations personnelles :
Nom : Sendme

Informations forums :
Inscription : avril 2006
Messages : 86
Points : 50
Points : 50
Tiens v'là une réponse de ce cher F-leb !

Je rêvais de quelque chose de plus court...
Cependant avec un passage par excel et une fusion de colonnes je devrais pouvoir assez rapidement écrire ce bout de code

Merci F-Leb et à très bientôt !
sendme est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h37.


 
 
 
 
Partenaires

Hébergement Web