bonjour,
j'ai trouvé des truc qui parle de SQL Mais je ne connais rien au SQL.
C'est dommage d'utiliser Access sans se familiariser un minimum au SQL, cela réduit ton champ d'actions ...
Pour te familiariser avec le SQL, tu peux visualiser tes requêtes via le bouton SQL en bas à droite de l'interface de création de requêtes ou choisir le Mode SQL avec le bouton "Affichage" du ruban en haut à gauche. Je suis persuadé qu'au fur et à mesure tu comprendras le fonctionnement.
L'interface de création ne peut pas tout faire, en particulier l'ajout d'un champ numéro auto, c'est pour cela qu'il faut, de temps en temps, basculer vers le mode SQL.
Quoiqu'il en soit, tu ne pourras jamais créer une table avec un numéro auto initialisé en une seule requête, il en faut 2 au minimum, sinon il faut créer la table manuellement.
Voici l'exemple de SQL qui crée un champ numéro auto dans une table:
ALTER TABLE MATABLE ADD COLUMN MONCHAMP COUNTER;
Mais sans passer par SQL, il y a une méthode qui permet de créer une table avec un numéro auto en passant par 2 requêtes, la seule condition, c'est qu'il doit exister un numéro auto dans la table (ou dans une des tables si il y en a plusieurs). La première requête crée la table et la seconde la remplit.
L'avantage avec la requête de création de table, c'est qu'il n'est pas obligatoire d'avoir de données pour que la table soit créée.
On va donc utiliser une astuce qui est, par ailleurs, très connue des habitués du SQL : WHERE 1 = 2 comme cette expression est toujours fausse, elle ne ramènera aucun enregistrement mais créera la table vide malgré tout.
Voici la 1ère requête via l'interface de création:
et en mode SQL:
1 2 3
| SELECT [Tbl-Articles].articlePK, [Tbl-Articles].referenceinterne, [Tbl-Articles].codebarreinterne, [Tbl-Articles].designation, [Tbl-Articles].impressioncodebarre INTO [tbl-articles_test]
FROM [Tbl-Articles]
WHERE (((1)=2)); |
Il suffit ensuite de créer une requête qui remplit la table, le numéro auto de la nouvelle table aura sa propre numérotation.
Voici la seconde requête via l'interface de création:
et en mode SQL:
1 2 3
| INSERT INTO [tbl-articles_test] ( referenceinterne, codebarreinterne, designation, impressioncodebarre )
SELECT [Tbl-Articles].referenceinterne, [Tbl-Articles].codebarreinterne, [Tbl-Articles].designation, [Tbl-Articles].impressioncodebarre
FROM [Tbl-Articles]; |
Partager