Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 29/02/2008, 10h44   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 22
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 22
Points : 2
Points : 2
Par défaut Comment ajouter par défaut une valeur dans un champ?

Bonjour,
J'ai une requête tableau croisé dynamique qui me répartit par article (en tête de ligne) des quantités sur les semaines à venir (semaine 1, semaine 2... semaine 16 en tête de colonne).

Le problème est qu'il se peut qu'il n'y ait rien sur l'une des 16 prochaines semaines. (Ex: Aucune livraison prévue en semaine 8 donc le champ semaine8 n'existe même pas dans mon TCD)

J'effectue après une requête qui m'ajoute toutes les semaines 1, 2...16 dans une table comprenant déjà les 16 semaines (champ 01, 02...)

Comment est-ce que je dois écrire sous Access: Si le champ semaine8 n'existe pas dans mon TCD, ajoute 0 dans le champ 08 de ma table de destination.

Merci d'avance
zouloute est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 17h39   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 482
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 482
Points : 7 577
Points : 7 577
Si tu as déjà une table de résultat qui comporte toutes les semaines alors tu n'as pas besoin de les créer. ll te suffit de compléter celles que as déjà.

Avant de charger les données il faut s'assurer que la table 'Résultat' soit vide. Je fait cela avec une requete suppression. Il faut aussi que la valeur par défaut pour chacun des champs Senaine soit à 0, ça simplifie le code.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
dim db as database:set db=currentdb
 
db.QueryDef("rViderTableResultat").execute :'Vide la table de résulat.
 
dim rResult as recordset:set rResult=db.openRecordset("MaTableResultat")
dim rDonnees as recorset:set rDonnees=db.openRecordset("MaSourceDeDonnees")
 
dim f as field
 
do while not rDonnees.eof
   rResult.addnew
 
   for each f in rDonnees.fields
      rResult.fields(f.name)=f:'recopie les semaines existantes dans la table résultat.
   next f
 
   rResult.update
   rDonnees.movenext
loop
 
rDonnees.close:set rDonnees=nothing
rResult.close:set rResult=nothing
db.close:set db=nothing
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 07h53   #3
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220
Tu peux aussi indiquer les intitulés de tes colonnes qui apparaitront dans ton TCD. Celles-ci ne contiendront pas de valeur.

Pour faire cela, en mode création sur ta requete, affiche les propriétés de celle-ci par clique droit dans la zone de table.
Dans la propriété "Entete de colonnes", tu saisis les intitulés que tu souhaites

exemple :
Code :
"Semaine 1";"Semaine 2";....
Attention les intitulés doivent quand même correspondre aux valeurs contenues dans le champ.
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h19.


 
 
 
 
Partenaires

Hébergement Web