Urgent access
wrai
-
zenon Messages postés 726 Date d'inscription Statut Membre Dernière intervention -
zenon Messages postés 726 Date d'inscription Statut Membre Dernière intervention -
salut a tous
je souhaite separer des champs d'une table et en creer une autre je m'explique bcp mieux:
je possede une table intitulé Rg01 avec pour champ numero/mac adresse/port descrition(description du switch+port+unit)/status
et je souhaite obtenir a partir de celle ci une table ou il y aurait comme champs:numero/adresse mac/port/unit
en fait le but et le plsu difficiel pour moi est de reussir a prendre des info dans un champ et les restaurer en 2chmp distinct
de l'aide merci
je souhaite separer des champs d'une table et en creer une autre je m'explique bcp mieux:
je possede une table intitulé Rg01 avec pour champ numero/mac adresse/port descrition(description du switch+port+unit)/status
et je souhaite obtenir a partir de celle ci une table ou il y aurait comme champs:numero/adresse mac/port/unit
en fait le but et le plsu difficiel pour moi est de reussir a prendre des info dans un champ et les restaurer en 2chmp distinct
de l'aide merci
17 réponses
re
le problème se situe au niveau de ton champs description ...
en effet, les trois infos du champs description ne sont pas distinctes donc je pense qu'il doit être impossible de les récupérer automatiquement.
il faudra certainement réécrire ces données dans trois champs distincts ..
le problème se situe au niveau de ton champs description ...
en effet, les trois infos du champs description ne sont pas distinctes donc je pense qu'il doit être impossible de les récupérer automatiquement.
il faudra certainement réécrire ces données dans trois champs distincts ..
Sauf si le champ "combiné" présente une longueur fixe...
Tu pourrais alors extraire une chaîne de caractères, par exemple avec l'intruction Left() ou Right() dans une requête.
Tu pourrais alors extraire une chaîne de caractères, par exemple avec l'intruction Left() ou Right() dans une requête.
exact quelqu'un serait il faire cette requete
Exemple de contenu d'un champ :
'Nortel Networks Business Policy Switch 2000 Ethernet Switch Module - Unit 4 Port 5'
Nous voulons séparer cette chaîne en trois partie :
le nom du switch
l'unit
le port
Ceci ne peut se faire automatiquement. Il faut réfléchir à l'algorithme de décomposition.
Ici, nous remarquons que les deux derniers éléments sont l'unit et le port.
Fonctions nécessaires au travail d'une chaîne de caractères : mid(), right() et left().
Quelqu'un serait il faire cette requete merci
Exemple de contenu d'un champ :
'Nortel Networks Business Policy Switch 2000 Ethernet Switch Module - Unit 4 Port 5'
Nous voulons séparer cette chaîne en trois partie :
le nom du switch
l'unit
le port
Ceci ne peut se faire automatiquement. Il faut réfléchir à l'algorithme de décomposition.
Ici, nous remarquons que les deux derniers éléments sont l'unit et le port.
Fonctions nécessaires au travail d'une chaîne de caractères : mid(), right() et left().
Quelqu'un serait il faire cette requete merci
SELECT Left((Right([NomDuChamp],10)),5) AS Unit
FROM NomDeLaTable;
Il faudra peut être adapter la taille de la chaîne à sélectionner...
même chose pour le port: SELECT Right([...];5) FROM...
FROM NomDeLaTable;
Il faudra peut être adapter la taille de la chaîne à sélectionner...
même chose pour le port: SELECT Right([...];5) FROM...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tu a raison mais comment faut il proceder stp merci
desolé mais je suis tro pas bon en access je debute merci
desolé mais je suis tro pas bon en access je debute merci
Ce n'est pas difficile. Il y a des assistants qui font presque tt le boulot...
Si tu as ta table de départ sous access, tu choisis le second onglet dans la fenêtre Base de Données (requêtes) et tu cliques sur nouveau puis tu choisis créer une requête en mode création.
Tu ajoutes la table sur laquelle tu veux effectuer la requête.
Tu obtiens une fenêtre avec deux volets. Celui du haut affiche la ou les tables sélectionnées.
Tu double-cliques sur les champs que tu veux incorporer dans ta requête et ils s'affichent dans le volet inférieur. Ce volet permet de trier ou d'effectuer des opérations sur les champs. Tu n'en as pas besoin.
Dans le champ qui comporte les données que tu veux extraire, tu tapes sur la première ligne la formule que je t'ai proposée.
Tu peux vérifier si le résultat est OK en affichant la requête en mode feuille de données (menu affichage).
Si c'est bon, choisis l'option création de table (menu requête).
Access te demande de nommer la table.
La fenêtre se modifie mais ne t'en occupe pas. Pour exécuter la requête, il suffit alors de cliquer sur le bouton avec un point d'exclamation.
Et c'est tout...
Tu peux bien sûr ajouter deux champs avec deux formules différentes permettant d'extraire des données du même champ de départ.
Tu vois que dès que tu modifie le texte d'une des cellules de la première ligne, access ajoute automatiquement: Expr1, Expr2. Tu peux modifier pour donner un nom plus explicite au(x) champs dans ta future table...
Si tu as ta table de départ sous access, tu choisis le second onglet dans la fenêtre Base de Données (requêtes) et tu cliques sur nouveau puis tu choisis créer une requête en mode création.
Tu ajoutes la table sur laquelle tu veux effectuer la requête.
Tu obtiens une fenêtre avec deux volets. Celui du haut affiche la ou les tables sélectionnées.
Tu double-cliques sur les champs que tu veux incorporer dans ta requête et ils s'affichent dans le volet inférieur. Ce volet permet de trier ou d'effectuer des opérations sur les champs. Tu n'en as pas besoin.
Dans le champ qui comporte les données que tu veux extraire, tu tapes sur la première ligne la formule que je t'ai proposée.
Tu peux vérifier si le résultat est OK en affichant la requête en mode feuille de données (menu affichage).
Si c'est bon, choisis l'option création de table (menu requête).
Access te demande de nommer la table.
La fenêtre se modifie mais ne t'en occupe pas. Pour exécuter la requête, il suffit alors de cliquer sur le bouton avec un point d'exclamation.
Et c'est tout...
Tu peux bien sûr ajouter deux champs avec deux formules différentes permettant d'extraire des données du même champ de départ.
Tu vois que dès que tu modifie le texte d'une des cellules de la première ligne, access ajoute automatiquement: Expr1, Expr2. Tu peux modifier pour donner un nom plus explicite au(x) champs dans ta future table...
Euh, désolé, tu ne dois pas recopier toute la formule (qui est déjà une requête) mais seulement l'expression: Right()...
Ecoute, je veux bien, mais tu me dis que les données que tu dois extraire de ton champ "combiné" se retrouvent toujours au même endroit dans ce champ.
Si tu veux les séparer tu peux le faire en extrayant une chaîne de caractères.
Dans ton propre exemple:
'Nortel Networks Business Policy Switch 2000 Ethernet Switch Module - Unit 4 Port 5'
Si tu veux extraire "Port5", tu dois en principe appliquer: Right (NomDeTONCham;5).
Je peux pas être plus clair.
Pour les champs dont tes données sont déjà correctes, il suffit de les inclure dans la requête comme exposé plus haut.
Ou alors, je n'ai pas compris, comme notre excellent ami Toto le suggère...
Si tu veux les séparer tu peux le faire en extrayant une chaîne de caractères.
Dans ton propre exemple:
'Nortel Networks Business Policy Switch 2000 Ethernet Switch Module - Unit 4 Port 5'
Si tu veux extraire "Port5", tu dois en principe appliquer: Right (NomDeTONCham;5).
Je peux pas être plus clair.
Pour les champs dont tes données sont déjà correctes, il suffit de les inclure dans la requête comme exposé plus haut.
Ou alors, je n'ai pas compris, comme notre excellent ami Toto le suggère...
ok g compris mais g juste un probleme pour le unit je peux pas juste mettre right ou left il faut que je combine les 2?? CAR JE VEUX JUSTE LE nombnre de l'unit ou au pire l'unit +le nombre
et tout c clair pour ce qui est au dessus
et tout c clair pour ce qui est au dessus
encore une petite question !!
peut on avec une requete creer un champ et son contenu
du style si dans ma requete il y a correspondance entre les 2 clé choisies alors il crée un champ supplementaire intitulé TYPE et a l'interieur C Bureautique
peut on avec une requete creer un champ et son contenu
du style si dans ma requete il y a correspondance entre les 2 clé choisies alors il crée un champ supplementaire intitulé TYPE et a l'interieur C Bureautique
encore une petite question !!
peut on avec une requete creer un champ et son contenu
du style si dans ma requete il y a correspondance entre les 2 clé choisies alors il crée un champ supplementaire intitulé TYPE et a l'interieur C Bureautique
peut on avec une requete creer un champ et son contenu
du style si dans ma requete il y a correspondance entre les 2 clé choisies alors il crée un champ supplementaire intitulé TYPE et a l'interieur C Bureautique
Oui, avec une requête création de table, on crée à la fois la table et le contenu des champs.
Il est tout à fait possible d'ajouter des critères mais je ne comprends pas ce que tu veux dire quand tu parles de "correspondance entre deux clés"... Peut-être un exemple?
Il est tout à fait possible d'ajouter des critères mais je ne comprends pas ce que tu veux dire quand tu parles de "correspondance entre deux clés"... Peut-être un exemple?
exemple zenon
je crée une requete qui met en relation 2 tables .
si elle ont la meme adresse mac alors il y a correspondance entre les 2 et donc les postes sont bureautique.
en fait j'aimerais que lorsqu'il y a correspondance entre les adresse un champ "TYPE" se crée et a l'interieur bureautique comme sous champ.
you understand??
je crée une requete qui met en relation 2 tables .
si elle ont la meme adresse mac alors il y a correspondance entre les 2 et donc les postes sont bureautique.
en fait j'aimerais que lorsqu'il y a correspondance entre les adresse un champ "TYPE" se crée et a l'interieur bureautique comme sous champ.
you understand??
Je ne comprends pas bien quand tu dis que c'est une requête qui met en relation tes tables mais, si tu inclus les deux champs qui contiennent l'adresse Mac et que dans l'un d'eux tu spécifies un critère du type "= [l'autre champ].[L'autre table]
tu pourras mettre à jour tous tes enregistrements en une fois.
Quant à ajouter un champ dans une des tables, ce n'est pas directement possible à mon avis.
En revanche tu peux anticiper en créant dans ta table de destination ton champ"type" et en mettant à jour la valeur avec ta requête.
Evidemment rien ne t'empêche de créer un nouveau champ dans ta requête. Il "n'existera" que lors de l'exécution de la requête et, si j'ai bien compris, tu risques d'avoir besoin de répéter l'opération avec d'autres critères qu'il sera impossible de regrouper dans une table de destination...
tu pourras mettre à jour tous tes enregistrements en une fois.
Quant à ajouter un champ dans une des tables, ce n'est pas directement possible à mon avis.
En revanche tu peux anticiper en créant dans ta table de destination ton champ"type" et en mettant à jour la valeur avec ta requête.
Evidemment rien ne t'empêche de créer un nouveau champ dans ta requête. Il "n'existera" que lors de l'exécution de la requête et, si j'ai bien compris, tu risques d'avoir besoin de répéter l'opération avec d'autres critères qu'il sera impossible de regrouper dans une table de destination...