Création d'une table en fonction d'une autre

Résolu
penny05 Messages postés 105 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 18 janvier 2007 - 6 avril 2006 à 11:43
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 - 6 avril 2006 à 14:37
Bonjour tout le monde,
Je suis entrain de creer une table par vba avec les données d'une autre table. Ce que je dois faire c'est pour chaque article de la table 1 faire la somme des élements y figurant entre deux dates donc voila ce que j'ai fait:


'création de la table
CurrentDb.Execute "CREATE TABLE Periodicgeneral(RCN_ integer, ATA integer, Hours_M long, Hours_M6 long, Hours_M12 long);"
'insertion des premieres valeurs (ss probleme)
CurrentDb.Execute "INSERT INTO Periodicgeneral(RCN_, ATA) SELECT DISTINCT RCN,ATA FROM classementideal ;"


'inclure les sommes des heures sur les autres champs
Dim dbBaseCible1 As DAO.Database
Set dbBaseCible1 = CurrentDb
Dim rsJeuCible1 As DAO.Recordset
'ouvre la nouvelle table Periodicgeneral crée
Set rsJeuCible1 = dbBaseCible1.OpenRecordset("Periodicgeneral")
Dim dbBaseCible2 As DAO.Database
Set dbBaseCible2 = CurrentDb
Dim rsJeuCible2 As DAO.Recordset
'ouvre la nouvelle table classementideal d'ou l'on prend les valeurs
Set rsJeuCible2 = dbBaseCible2.OpenRecordset("classementideal")
'faire les calculs et remplir le tableau crée
If IsNull(DSum("[SommedeOperational hours]", "classementideal", "date >= 200509 And date <= 200602 And RCN=" & CStr(Periodicgeneral.RCN_))) Then
CurrentDb.Execute "INSERT INTO Periodic_general (Hours_M) Values ('none define')"
Else
sommeperiod = DSum("[Sommedeoperational hours]", "classementideal", "date >= 200509 And date <= 200602 And RCN=" & [Periodicgeneral.RCN_])
CurrentDb.Execute "INSERT INTO Periodicgeneral (Hours_M) Values ('sommeperiod')"
End If
End Sub


Mais il ne reconnait pas le champ RCN_ de la table Periodicgeneral crée?
Si quelqu'n peut me sortir de la!!
Merci.

6 réponses

cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
6 avril 2006 à 14:37
Hé bien, qu'est ce qui l'empèche, il suffit d'ajouter une condition WHERE?..

"SELECT RCN, ATA, Sum([none dfine]) As Hours_M, Sum([sommeperiod]) As Hours_M6 FROM classementideal WHERE date Between 200509 And 200602 GROUP BY RCN, ATA ORDER BY RCN INTO Periodicgeneral;"
3
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
6 avril 2006 à 12:29
Modifie le nom de ton champ! Je sais qu'Access n'aime pas trop les champs avec des caractères spécifique du genre . ; , / \ _ et autres espace. Il n'aime pas trop non plus les accents d'ailleurs.
A tu essayé de modifier ta syntaxe du genre [Periodicgeneral]![RCN_]
0
penny05 Messages postés 105 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 18 janvier 2007 2
6 avril 2006 à 12:54
non ca marche pas.
j'ai fait la modif et renommer les champs rien n'y fait.
j'ai toujours l'erreur: "impossible de trouver le champ 'l' auquel il est fait référence dans votre expression"

j'ai bien ouvert les deux tables pour effectuer les opérations comme il faut ou l'erreur peut venir de la
0
penny05 Messages postés 105 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 18 janvier 2007 2
6 avril 2006 à 13:13
Je pense que le probleme est autre quand j'arrive à compiler la valeur calculée ne figure pas sur mon tableau créee.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
6 avril 2006 à 13:55
J'aurais esayé cette autre chaîne SQL qui effectue toutes les opérations en une seule commande :
"SELECT RCN, ATA, Sum([none dfine]) As Hours_M, Sum([sommeperiod]) As Hours_M6 FROM classementideal GROUP BY RCN, ATA ORDER BY RCN INTO Periodicgeneral;"
A tester...
0
penny05 Messages postés 105 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 18 janvier 2007 2
6 avril 2006 à 14:32
Désolé de te dire que ca ne marche pas car ca fait la somme de tous les elements et je voulais y inclure la restriction sur les dates entre 200602 et 200509.
0
Rejoignez-nous