GNT sans publicité, site mobile, fonctionnalitées exclusives...

Séparateur

Le
PatCatNat's
Bonsoir,

Dans un formulaire, j'ai un champ mémo dans ma base de données (Access2003)
de films qui contient les noms des acteurs (nombre variable) séparés par des
virgules + espace :

[Acteurs] : Cellian Murphy, Naomie Harris, Brendan Gleeson, Christopher
Eccleston, Megan Burns, Noah Huntley

Pour effectuer un traitement ultérieur, j'aurais voulu créer une table par
procédure VBA avec [NumFilm] et [Acteurs] :

[NumFilm] [Acteurs]
01 Cellian Murphy
01 Naomie Harris
01 Brendan Gleeson
01 Christopher Eccleston
01 Megan Burns
01 Noah Huntley

J'ai bien essayé en exportant en texte et en essayant de réimporter et
trouver une requête qui me fasse l'affaire mais nothing

Quelqu'un aurait une idée ????

Patrice
Lire les 25 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 5
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JMH
Le #5435181
Salut
Il te faut faire une procédure spéciale qui va te lire chaque Enregistrement
de Film et y extraire les Acteurs(Extraction du fichier mémo en se déplacant
à l'intérieur selon la logique que tu as mise en place)
Ces 2 données sont injectées dans une table, soit pour chaque
entregistrement = autant d'ajout qu'il y a d'acteurs.
Mais ton traitement ne s'arrête pas là. En effet tu as des mêmes acteurs qui
sont dans des films différents, donnc il te faut une table Acteurs.
En fait dans ton formulaire, plutot que de mettre les acteurs en champ Mémo,
tu devras créer un sous-formulaire(ActeurFilm) dans lequel tu y mettra les
acteurs pour le film.

Il faut savoir à quoi tu désires utiliser ça. Selon les cas ta base est à
redéfinir.

Bonne journée.

Bye

"PatCatNat's" news:cjfaeo$pq7$
Bonsoir,

Dans un formulaire, j'ai un champ mémo dans ma base de données
(Access2003)

de films qui contient les noms des acteurs (nombre variable) séparés par
des

virgules + espace :

[Acteurs] : Cellian Murphy, Naomie Harris, Brendan Gleeson, Christopher
Eccleston, Megan Burns, Noah Huntley

Pour effectuer un traitement ultérieur, j'aurais voulu créer une table par
procédure VBA avec [NumFilm] et [Acteurs] :

[NumFilm] [Acteurs]
01 Cellian Murphy
01 Naomie Harris
01 Brendan Gleeson
01 Christopher Eccleston
01 Megan Burns
01 Noah Huntley

J'ai bien essayé en exportant en texte et en essayant de réimporter et
trouver une requête qui me fasse l'affaire... mais nothing...

Quelqu'un aurait une idée ????

Patrice




PatCatNat's
Le #5435101
Bonjour et merci,

L'utilité est de pouvoir créer un état (ou autre objet) par la suite pour
pouvoir choisir un acteur existant dans ma base et savoir dans quels films
par exemple il a joué (ou si film musical dans quels morceaux il est présent
aussi, etc...).
Mais le champs mémo m'intéresse aussi, car j'obtiens les données par
copier/coller dans le net et de plus celà me permet de pouvoir faire des
états avec un seul champ et toutes les données dedans.
Donc comme tu dis, je tiens à faire spécifiquement une table acteur, mais je
ne sais pas par quel voie passer pour trouver une formule du type :

"Après chaque virgule + espace je passe à un enregistrement suivant"

Bref, tout un film...

Patrice


"JMH" news:%
Salut
Il te faut faire une procédure spéciale qui va te lire chaque
Enregistrement

de Film et y extraire les Acteurs(Extraction du fichier mémo en se
déplacant

à l'intérieur selon la logique que tu as mise en place)
Ces 2 données sont injectées dans une table, soit pour chaque
entregistrement = autant d'ajout qu'il y a d'acteurs.
Mais ton traitement ne s'arrête pas là. En effet tu as des mêmes acteurs
qui

sont dans des films différents, donnc il te faut une table Acteurs.
En fait dans ton formulaire, plutot que de mettre les acteurs en champ
Mémo,

tu devras créer un sous-formulaire(ActeurFilm) dans lequel tu y mettra les
acteurs pour le film.

Il faut savoir à quoi tu désires utiliser ça. Selon les cas ta base est à
redéfinir.

Bonne journée.

Bye

"PatCatNat's" news:cjfaeo$pq7$
Bonsoir,

Dans un formulaire, j'ai un champ mémo dans ma base de données
(Access2003)

de films qui contient les noms des acteurs (nombre variable) séparés par
des

virgules + espace :

[Acteurs] : Cellian Murphy, Naomie Harris, Brendan Gleeson, Christopher
Eccleston, Megan Burns, Noah Huntley

Pour effectuer un traitement ultérieur, j'aurais voulu créer une table
par


procédure VBA avec [NumFilm] et [Acteurs] :

[NumFilm] [Acteurs]
01 Cellian Murphy
01 Naomie Harris
01 Brendan Gleeson
01 Christopher Eccleston
01 Megan Burns
01 Noah Huntley

J'ai bien essayé en exportant en texte et en essayant de réimporter et
trouver une requête qui me fasse l'affaire... mais nothing...

Quelqu'un aurait une idée ????

Patrice








JMH
Le #5435031
OK vu.
Mais, ton champ mémo t'arrange certes, mais tu ne pourrais jamais rien en
faire(sans le traiter au préalable), si ce n'est le consulter et imprimer.
Et un champ mémo n'est pas fais pour ça.
Mais le problème est de savoir ce que tu connais d'Access (code VBA,
programmation, etc..), car il faut faire un peu de programmation.

Dans ton cas tu devrais avoir au moins 3 tables:
tblFilm
tblFilmActeur (lien sur tblFilm par le No du Film)
tblActeur (lien sur tblFilActeur par le No d'Acteur)

Un formulaire frmFilm(basé sur la table tblFilm ou une requête) qui contient
un sous-formulaire sfrFilmActeur(basé sur la table tblFilmActeurs ou une
requête).
Tu le remplirais de la façon:
Saisie du Titre du film, année, etc.
Tu vas sur Internet et tu prends tes données Copier (attention: elles
doivent toujours avoir le même format)
Tu les colles dans un champ de travail de ton formulaire(workActeur) Tu les
arranges si nécessaire (séparateur, espace)
A côté de ce champ, tu mets un bouton btnDecoder
Et là tu écris une fonction qui va analyser ton champ(workActeur), créer les
acteurs qui ne sont pas encore dans la table (tblActeur) et remplir la table
tblFilmActeur
En faisant un requery sur ton sous-formulaire, tu auras tout ça affiché.

Voilà en gros ce que moi je ferais.

A partir de ça, tu pourras savoir:
Par film, qui sont les acteurs
Par Acteurs, dans quels films ils ont joués
Etc.

Et pour l'état. tu peux, si désiré, recomposer un bloc qui contienne tous
les acteurs du film.

Bon courage à toi.
A+
Jean-Michel H.


"PatCatNat's" news:cjgcfd$jed$
Bonjour et merci,

L'utilité est de pouvoir créer un état (ou autre objet) par la suite pour
pouvoir choisir un acteur existant dans ma base et savoir dans quels films
par exemple il a joué (ou si film musical dans quels morceaux il est
présent

aussi, etc...).
Mais le champs mémo m'intéresse aussi, car j'obtiens les données par
copier/coller dans le net et de plus celà me permet de pouvoir faire des
états avec un seul champ et toutes les données dedans.
Donc comme tu dis, je tiens à faire spécifiquement une table acteur, mais
je

ne sais pas par quel voie passer pour trouver une formule du type :

"Après chaque virgule + espace je passe à un enregistrement suivant"

Bref, tout un film...

Patrice


"JMH" news:%
Salut
Il te faut faire une procédure spéciale qui va te lire chaque
Enregistrement

de Film et y extraire les Acteurs(Extraction du fichier mémo en se
déplacant

à l'intérieur selon la logique que tu as mise en place)
Ces 2 données sont injectées dans une table, soit pour chaque
entregistrement = autant d'ajout qu'il y a d'acteurs.
Mais ton traitement ne s'arrête pas là. En effet tu as des mêmes acteurs
qui

sont dans des films différents, donnc il te faut une table Acteurs.
En fait dans ton formulaire, plutot que de mettre les acteurs en champ
Mémo,

tu devras créer un sous-formulaire(ActeurFilm) dans lequel tu y mettra
les


acteurs pour le film.

Il faut savoir à quoi tu désires utiliser ça. Selon les cas ta base est
à


redéfinir.

Bonne journée.

Bye

"PatCatNat's" news:cjfaeo$pq7$
Bonsoir,

Dans un formulaire, j'ai un champ mémo dans ma base de données
(Access2003)

de films qui contient les noms des acteurs (nombre variable) séparés
par



des
virgules + espace :

[Acteurs] : Cellian Murphy, Naomie Harris, Brendan Gleeson,
Christopher



Eccleston, Megan Burns, Noah Huntley

Pour effectuer un traitement ultérieur, j'aurais voulu créer une table
par


procédure VBA avec [NumFilm] et [Acteurs] :

[NumFilm] [Acteurs]
01 Cellian Murphy
01 Naomie Harris
01 Brendan Gleeson
01 Christopher Eccleston
01 Megan Burns
01 Noah Huntley

J'ai bien essayé en exportant en texte et en essayant de réimporter et
trouver une requête qui me fasse l'affaire... mais nothing...

Quelqu'un aurait une idée ????

Patrice












Gafish
Le #5435021
Bonjour,

Je pense que le mieux à faire c'est en vba de :
- Stocker ton champ mémo dans un string
- Avec un InStr tu repéres les emplacements de virgules
- A chaque emplacement de virgule tu prends la partie gauche, et tu
fais un insert avec dans ta table
- Tu coupes ton string par la droite, en enlevant la partie gauche
et la virgule

Et tu boucles la dessus jusqu'à la fin de ton string. Ton string va se
réduite au fil des boucles, acteurs par acteurs.
Après il faudra peut être que tu géres les doublons, comment tu fais si un
nom revient ?

Arnaud

"PatCatNat's" cjgcfd$jed$
Bonjour et merci,

L'utilité est de pouvoir créer un état (ou autre objet) par la suite pour
pouvoir choisir un acteur existant dans ma base et savoir dans quels films
par exemple il a joué (ou si film musical dans quels morceaux il est
présent

aussi, etc...).
Mais le champs mémo m'intéresse aussi, car j'obtiens les données par
copier/coller dans le net et de plus celà me permet de pouvoir faire des
états avec un seul champ et toutes les données dedans.
Donc comme tu dis, je tiens à faire spécifiquement une table acteur, mais
je

ne sais pas par quel voie passer pour trouver une formule du type :

"Après chaque virgule + espace je passe à un enregistrement suivant"

Bref, tout un film...

Patrice


"JMH" news:%
Salut
Il te faut faire une procédure spéciale qui va te lire chaque
Enregistrement

de Film et y extraire les Acteurs(Extraction du fichier mémo en se
déplacant

à l'intérieur selon la logique que tu as mise en place)
Ces 2 données sont injectées dans une table, soit pour chaque
entregistrement = autant d'ajout qu'il y a d'acteurs.
Mais ton traitement ne s'arrête pas là. En effet tu as des mêmes acteurs
qui

sont dans des films différents, donnc il te faut une table Acteurs.
En fait dans ton formulaire, plutot que de mettre les acteurs en champ
Mémo,

tu devras créer un sous-formulaire(ActeurFilm) dans lequel tu y mettra
les


acteurs pour le film.

Il faut savoir à quoi tu désires utiliser ça. Selon les cas ta base est
à


redéfinir.

Bonne journée.

Bye

"PatCatNat's" news:cjfaeo$pq7$
Bonsoir,

Dans un formulaire, j'ai un champ mémo dans ma base de données
(Access2003)

de films qui contient les noms des acteurs (nombre variable) séparés
par



des
virgules + espace :

[Acteurs] : Cellian Murphy, Naomie Harris, Brendan Gleeson,
Christopher



Eccleston, Megan Burns, Noah Huntley

Pour effectuer un traitement ultérieur, j'aurais voulu créer une table
par


procédure VBA avec [NumFilm] et [Acteurs] :

[NumFilm] [Acteurs]
01 Cellian Murphy
01 Naomie Harris
01 Brendan Gleeson
01 Christopher Eccleston
01 Megan Burns
01 Noah Huntley

J'ai bien essayé en exportant en texte et en essayant de réimporter et
trouver une requête qui me fasse l'affaire... mais nothing...

Quelqu'un aurait une idée ????

Patrice












PatCatNat's
Le #5435001
Ok,

Le VBA et moi çà va un peu (au regard de tout ce que je vois - et pompe-
dans le groupe de news...pour les aménager à ma sauce).
Ton explication est tout à fait dans la démarche que j'imaginais :

tblFilm ==> Existe
tblFilmActeur (lien sur tblFilm par le No du Film) ==> Existe (mais
forcément vide pour l'instant...)
tblActeur (lien sur tblFilActeur par le No d'Acteur) ==> Pas de blème avec
une requête Créa ou Ajout et regroupement basée sur tblFilmActeur
Un formulaire frmFilm(basé sur la table tblFilm ou une requête) ==> Existe
qui contient un sous-formulaire sfrFilmActeur(basé sur la table
tblFilmActeurs ou une requête).==> Pas de blème

Tu les colles dans un champ de travail de ton formulaire(workActeur) Tu les
arranges si nécessaire (séparateur, espace) ===> C envisagé manuellement (fo
p't'être pas pousser l'automation ;o)))

A côté de ce champ, tu mets un bouton btnDecoder
Et là tu écris une fonction qui va analyser ton champ(workActeur), créer les
acteurs qui ne sont pas encore dans la table (tblActeur) ==> C'est là que je
sèche pour écrire la fonction qui reconnaîtra les virgules + espaces pour
renvoyer à un enregistrement suivant :-(((

et remplir la table tblFilmActeur ==> Pas de blème technique

Voilà où j'en suis avec ma base et access 2003...

Merci de ton aide,

Patrice


"JMH" news:
OK vu.
Mais, ton champ mémo t'arrange certes, mais tu ne pourrais jamais rien en
faire(sans le traiter au préalable), si ce n'est le consulter et imprimer.
Et un champ mémo n'est pas fais pour ça.
Mais le problème est de savoir ce que tu connais d'Access (code VBA,
programmation, etc..), car il faut faire un peu de programmation.

Dans ton cas tu devrais avoir au moins 3 tables:
tblFilm
tblFilmActeur (lien sur tblFilm par le No du Film)
tblActeur (lien sur tblFilActeur par le No d'Acteur)

Un formulaire frmFilm(basé sur la table tblFilm ou une requête) qui
contient

un sous-formulaire sfrFilmActeur(basé sur la table tblFilmActeurs ou une
requête).
Tu le remplirais de la façon:
Saisie du Titre du film, année, etc.
Tu vas sur Internet et tu prends tes données Copier (attention: elles
doivent toujours avoir le même format)
Tu les colles dans un champ de travail de ton formulaire(workActeur) Tu
les

arranges si nécessaire (séparateur, espace)
A côté de ce champ, tu mets un bouton btnDecoder
Et là tu écris une fonction qui va analyser ton champ(workActeur), créer
les

acteurs qui ne sont pas encore dans la table (tblActeur) et remplir la
table

tblFilmActeur
En faisant un requery sur ton sous-formulaire, tu auras tout ça affiché.

Voilà en gros ce que moi je ferais.

A partir de ça, tu pourras savoir:
Par film, qui sont les acteurs
Par Acteurs, dans quels films ils ont joués
Etc.

Et pour l'état. tu peux, si désiré, recomposer un bloc qui contienne tous
les acteurs du film.

Bon courage à toi.
A+
Jean-Michel H.


"PatCatNat's" news:cjgcfd$jed$
Bonjour et merci,

L'utilité est de pouvoir créer un état (ou autre objet) par la suite
pour


pouvoir choisir un acteur existant dans ma base et savoir dans quels
films


par exemple il a joué (ou si film musical dans quels morceaux il est
présent

aussi, etc...).
Mais le champs mémo m'intéresse aussi, car j'obtiens les données par
copier/coller dans le net et de plus celà me permet de pouvoir faire des
états avec un seul champ et toutes les données dedans.
Donc comme tu dis, je tiens à faire spécifiquement une table acteur,
mais


je
ne sais pas par quel voie passer pour trouver une formule du type :

"Après chaque virgule + espace je passe à un enregistrement suivant"

Bref, tout un film...

Patrice


"JMH" news:%
Salut
Il te faut faire une procédure spéciale qui va te lire chaque
Enregistrement

de Film et y extraire les Acteurs(Extraction du fichier mémo en se
déplacant

à l'intérieur selon la logique que tu as mise en place)
Ces 2 données sont injectées dans une table, soit pour chaque
entregistrement = autant d'ajout qu'il y a d'acteurs.
Mais ton traitement ne s'arrête pas là. En effet tu as des mêmes
acteurs



qui
sont dans des films différents, donnc il te faut une table Acteurs.
En fait dans ton formulaire, plutot que de mettre les acteurs en champ
Mémo,

tu devras créer un sous-formulaire(ActeurFilm) dans lequel tu y mettra
les


acteurs pour le film.

Il faut savoir à quoi tu désires utiliser ça. Selon les cas ta base
est



à
redéfinir.

Bonne journée.

Bye

"PatCatNat's" news:cjfaeo$pq7$
Bonsoir,

Dans un formulaire, j'ai un champ mémo dans ma base de données
(Access2003)

de films qui contient les noms des acteurs (nombre variable) séparés
par



des
virgules + espace :

[Acteurs] : Cellian Murphy, Naomie Harris, Brendan Gleeson,
Christopher



Eccleston, Megan Burns, Noah Huntley

Pour effectuer un traitement ultérieur, j'aurais voulu créer une
table




par
procédure VBA avec [NumFilm] et [Acteurs] :

[NumFilm] [Acteurs]
01 Cellian Murphy
01 Naomie Harris
01 Brendan Gleeson
01 Christopher Eccleston
01 Megan Burns
01 Noah Huntley

J'ai bien essayé en exportant en texte et en essayant de réimporter
et




trouver une requête qui me fasse l'affaire... mais nothing...

Quelqu'un aurait une idée ????

Patrice
















Publicité
Suivre les réponses
Poster une réponse
Anonyme