Rechercher : dans
Par :

[ACCESS] Requête ajout

Dernière réponse le 12 jan 2009 à 21:34:14 Alain V., le 6 nov 2005 à 01:07:52 
 Signaler ce message aux modérateurs

Bonsoir

Je souhaite recopier une colonne (800 lignes) de "table source" vers "table cible" au moyen d'une requête ajout.

A chaque tentatives j'ai le message "vous allez enregistrer 0 lignes".

Je me doute bien que je ne dois pas mettre les bons champs aux bons endroits:

CHAMP: le champ source
TABLE : la table source
TRI : croissant
AJOUTE A : [la table cible].[le champ cible]
CRITERE : Est Null


Merci d'avance pour un petit coup de pouce, un tuto ou une instruction sql
Alain V.

Meilleures réponses pour « [ACCESS] Requête ajout » dans :
SQL - Contraintes d'intégrité VoirExpression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient...
SQL - Sous-requêtes VoirExpression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en...

1

Gihef, le 6 nov 2005 à 03:40:41

Bonjour,

Comme ça c'est difficile à dire.
Tu devrais joindre le code SQL de ta requête.

Cependant, un truc retient mon attention :
“CRITERE : Est Null”
Avec ça, tu demandes à la requête de trouver les enregistrements “vides”.
Si la table n'en contient pas, la requête en trouve 0.
 

Répondre à Gihef

2

Alain V., le 6 nov 2005 à 10:36:43

Bonjour Gihef et merci d'essayer de m'aider.

J'ai supprimé "Est Null" mais le résultat est toujours négatif.

Voici le code SQL qu'Access m'affiche :

INSERT INTO [table-cible] (champ-cible)
SELECT table-source.[champ-source]
FROM table-source INNER JOIN [table-cible] ON table-source.[champ-source] = [table-cible].champ-cible
ORDER BY table-source.[champ-source];


Pour info :
champ-source est : numérotation automatique, indexé, sans doublon
champ-cible est : numérique, Entier long, non indexé
Alain V.

Répondre à Alain V.

3

Alain V., le 6 nov 2005 à 12:45:59

Problème résolu.

Parmi les champs de table-cible, un champ possédait une règle de validation incompatible avec l'ajout de nouveaux enregistrements.
Alain V.

Répondre à Alain V.

4

jeate, le 7 fév 2006 à 13:02:33

OK...

Répondre à jeate

5

mitch, le 5 mai 2006 à 16:59:03

Je rencontre le même problème,
mais même sans règle de validationd dans la table cible, j'obtiens toujours 0 ajout.
J'ai bien vérifié les types et tailles des champs source et cible.
Y a-t-il un index à mettre qlq part ?
help

Répondre à mitch

6

jeate, le 6 mai 2006 à 08:08:04
  • +2

Non, à ma connaissance, il n'est pas nécessaire de mettre un index.

Perso, vous vous compliquez bcp trop la vie en faisant une instruction SQL ! Pour une fois, l'utilisation d'une macro est plus appropriée je trouve !

Vous avez vos deux tables, une source et une cible. Il faut juste que vous ayez les mêmes colonnes dans les deux tables.

Ensuite, grâce à la macro, vous n'avez qu'à spécifier ce que vous voulez copier et le tour est joué.

Répondre à jeate

7

Alain V., le 27 mai 2006 à 00:05:20

L'inconvénient majeur des macros c'est qu'elles sont spécifiques à une version de MSAccess.
L'avantage des requêtes c'est qu'elles sont écrites en SQL et que, même s'il y existe quelques variantes, ce langage est indépendant des plateformes.
Alain V.

Répondre à Alain V.

8

yann, le 30 sep 2007 à 12:26:15

Bonjour,
je me suis lancé dans l'élaboration d'une base access, mais j'ai un probleme je ne sais pas comment faire un nouvelle enregistrement.

c'est une base qui gère des points de controle avec plusieurs variantes à une date et positions précise, j'ai d'abord fait une requete de mise à jour mais ça ne marche pas!, si quelqu'un pouvait m'aider ce serai sympa

ps: je suis un novice dans ce domaine

yann.

Répondre à yann

9

nadège, le 19 oct 2007 à 16:22:12

Bonjour,
je dispose aujourd'hui d'une multitude de fichier excel en guise de base de données, je souhaite ne faire qu'un seul fichier access mais je ne parviens pas à rajouter dans ma table les données d'un fichier excel, mes colonnes sont pourtant identiques.....

le PC me dit qu'il y a "violation de clé" alors j'ai enlevé toute clé primaire, ça ne fonctionne toujours pas...

j'ai aussi essayé en créant 1 2nde table à partir de mon fichier excel, du coup ce sont les 2 tables que je ne parviens pas à rassembler

je tourne en rond, 1 coup de pouce ça serait génial !!

merci

Répondre à nadège

11

bozombo, le 11 aoû 2008 à 17:48:28

Bjr,

J,ai un pb similiaire au votre.
j,ai + fichier excel que j,ai relie a ma base acess . Je voudrai les relier en un seul mais je n,arrive pas.
Ma requete Ajout me retourne un message d,erreurs.
Avez vous svp une solution?
merci

Répondre à bozombo

10

Daftman, le 10 déc 2007 à 12:58:18

Moi je suis debutant sous access et je lutte pour excuter une operation:

J'ai deux table l'une a n champs l'autre a n champs identique + 4.

je souhaiterai effectuer une mise a jour automatique des n champs pour un ID donné et lorsqu'il n'y a pas de matching crée l'enregistrement.

Le truc parait simple mais guess what: j'y arrive pas

Merci par avance de votre patience

Daft

Répondre à Daftman

12

 Alain1968, le 12 jan 2009 à 21:34:14

Avec un peu de retard,tu dois utilisé une requete de non concordance

par exemple

INSERT INTO Table_a_mettre_a_jour ( code )
SELECT T1.code, T1.*
FROM Table_de_reference AS T1 LEFT JOIN Table_a_mettre_a_jour AS T2 ON T1.code = T2.code
WHERE (((T1.code)<>0) AND ((T2.code) Is Null));


dans la table T2 sont ajouté les enregistrements de T1 si la champ code n'existe pas en T2

Répondre à Alain1968