Probléme sur access

Miala -  
 Miala -
Bonjour à tous.

J'ai un petit soucis pour un code sur Access/VBA. En faite j'ai une base de données qui regroupes des valeur pour une entreprise qui fabrique des peintures.
Tout d'abord, j'ai regardé plusieurs topics, mais rien ne se passe dans ma base.
J'aimerais faire transferer certaines colonnes d'une table vers d'autre colonnes d'une autre table.
Voici le code que j'ai effectuer, merci de me dire ce qui ne va pas dedans, parce que là je ne sais plus quoi faire:

Dim base As Database
Dim T As Recordset
Dim FLD001 As Recordset

Set base = CurrentDb()
Set T = base.OpenRecordset("transfert", DB_OPEN_DYNASET)
Set FLD001 = base.OpenRecordset("FLD_001", DB_OPEN_DYNASET)

Dim rep As String
rep = "insert into T select champ3, champ52, champ53, champ54, champ55, champ56 from FLD001 where champ3 <> NULL"

J'espére que vous pourez m'aider.

Bonne journée et merci d'avance.

11 réponses

blux Messages postés 28001 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

le mot-clé NULL n'existe pas sous ACCESS.

Il faut tester si la valeur est nulle :
WHERE NOT IsNull(champ3)
--
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
Bonjour
Pour moi la syntaxe de la requete se serait plutot
rep = "SELECT champ3, champ52, champ53, champ54, champ55, champ56  INTO T FROM FLD001 WHERE champ3 IS NOT NULL;"

Sachant qu epour l'exécuter il faut un DoCmd.RunSQL rep
En espérant avoir compris le problème ;-)
0
blux Messages postés 28001 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
SELECT INTO crée la table, INSERT INTO insère dans une table existante...

Pis je viens de regarder, NULL existe bien sous ACCESS, mais il faut faire attention, car lorsque l'on teste une condition avec null, la condition renvoie toujours false (dixit l'aide ACCESS)...
0
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
Pour citer l'aide d'access



Important Utilisez la fonction IsNull pour déterminer si une expression contient une valeur de type Null. Certaines expressions dont vous pourriez penser qu'elles sont vraies (True) dans certaines circonstances, par exemple If Var = Null et If Var <> Null, ont pourtant toujours la valeur False. En effet, toute expression contenant une valeur de type Null est elle-même de type Null et a par conséquent la valeur False
0

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

Posez votre question
Miala
 
Merci pour vos réponses.

Mais je suis toujours bloqué, je n'arrive pas à faire trnsférer des données d'une table vers une autre, le transfert ne s'éffectue pas.

Si vous avez un autre code que celui que je vous ais communiqué ci-dessus ça m'aiderais beaucoup.

Merci et bonne journée à tous.
0
blux Messages postés 28001 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

as-tu essayé de lancer la requête hors VBA ?
0
Miala
 
Bonjour,

J'ai essayer de faire une macro. J'arrive a transferer une colonne, mais pas les autres.

La requête que j'ai fait pour transferer une colonne est celui-ci:

Insert into transfert (Nom) select champ3 from FLD_001 where champ3 <> ""

Mais pour transferer les 5 autres je suis bloquée, j'ai essayé de plusieurs façon possible mais je ne trouve. Si quelqu'un sais comment faire, je veut bien de l'aide.

Merci d'avance pour votre aide et bonne journée à tous.
0
blux Messages postés 28001 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
insert into transfert (champ1,champ2,champ3) select champ4, champ5, champ6 from FLD_001 where champ3 <> "" 
???
0
Miala
 
Bonjour,

J'ai presque fini le projet pour l'entreprise, mais y a un soucis dans ma requête. Voici la requête que j'ai réalisé:

Insert into transfert (Nom,L,a,b,C,h) select champ3,champ52,champ53,champ54,champ55,champ56 from FLD_001 where champ3 <> ""

Le soucis, c'est que les champ52 à 56 sont des numérique et je n'arrive pas a les faire transférer dans mon autre table. Désolé de vous embéter encore avec ma macro mais j'ai vraiment du mal à réaliser ce projet.

Merci encore d'avance.
0
blux Messages postés 28001 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Il n'y a aucune raison qu'ACCESS ne veuille pas les transférer !

L,a,b,C,h sont bien numériques et de même type (entier, réel...) que champxx ?
0
Miala
 
Merci beaucoup pour votre aide, j'ai réussi a transférer toutes les colonnes dans mon autre table.

J'espére que maintenant mon projet ne me poseras plus de soucis.

En faite j'avais juste une petite faute dans ma requête, maintenant ça fonctionne correctement.

Merci pour vos conseils ils m'ont été trés utile.

Bonne journée à tous
0