Prendre un debut d'enregistrement sous access
sandy
-
Bastien -
Bastien -
Bonjour,
Y aurait-il quelqu'un qui sache comment récupérer une fonction permettant de prendre en compte le debut d'un enregistrement dans les criteres sous access ?
Par exemple, j'ai le nom de l'association et entre parenthese, son theme, je veux virer son theme, le mettre sous une autre table, et garder juste le nom de l'association, ya-t-il une fonction dans les critères d'access qui permette d'ajouter un enregistrement dans les requêtes juste du debut des mots ?
car j'ai 1230 associations et entre parenthèse, j'ai 1230 themes, et je voudrais les virer sur une autre table sans les faire un par un...
Et autre question : dans l'effet inverse, comment prendre la fin de la phrase qui est entre parenthese pour le mettre sur une autre table... Ici : le theme ... ?
Merci de votre aide.
Cordialement.
Sandy.
Y aurait-il quelqu'un qui sache comment récupérer une fonction permettant de prendre en compte le debut d'un enregistrement dans les criteres sous access ?
Par exemple, j'ai le nom de l'association et entre parenthese, son theme, je veux virer son theme, le mettre sous une autre table, et garder juste le nom de l'association, ya-t-il une fonction dans les critères d'access qui permette d'ajouter un enregistrement dans les requêtes juste du debut des mots ?
car j'ai 1230 associations et entre parenthèse, j'ai 1230 themes, et je voudrais les virer sur une autre table sans les faire un par un...
Et autre question : dans l'effet inverse, comment prendre la fin de la phrase qui est entre parenthese pour le mettre sur une autre table... Ici : le theme ... ?
Merci de votre aide.
Cordialement.
Sandy.
A voir également:
- Prendre un debut d'enregistrement sous access
- Prendre photo avec webcam - Guide
- Prendre une photo avec son mac - Guide
- Acer quick access ✓ - Forum PC portable
- Comment couper un enregistrement audio - Guide
- Prendre un instantané pdf - Forum PDF
24 réponses
Salut, il te faut passer a priori par une macro en VBA et utiliser les fonction Right et Left et de maniere generale les fonctions de manipulations de strings (regarde dans MSDN)
. . Bon!Si on m'empeche de travailler
\_/ Je ne me debattrai pas!
. . Bon!Si on m'empeche de travailler
\_/ Je ne me debattrai pas!
il faut que tu untilise la fontcion left.
ex: left(ANNEE, 2)
cela veut dire que je prend les 2 premier nombre de l'année.
bye
ex: left(ANNEE, 2)
cela veut dire que je prend les 2 premier nombre de l'année.
bye
Oui, mais tous n'ont pas la même longueur...
donc, si je fais left(nomassoc, 10)
ils me prendront que les 10 caracteres de l'association...
Les associations qui auront plus de 10 caracteres seront coupées...
Et sinon, ça, dans les requêtes, on le met bien dans les criteres, c ça ?
Car ils me disent "l'expression entrée comporte une fonction dont le nombre d'arguments n'est pas correct"...
pourtant, j'ai 1230 associations lol... je capte rien...
Merci de m'aider.
Cordialement.
Sandy.
donc, si je fais left(nomassoc, 10)
ils me prendront que les 10 caracteres de l'association...
Les associations qui auront plus de 10 caracteres seront coupées...
Et sinon, ça, dans les requêtes, on le met bien dans les criteres, c ça ?
Car ils me disent "l'expression entrée comporte une fonction dont le nombre d'arguments n'est pas correct"...
pourtant, j'ai 1230 associations lol... je capte rien...
Merci de m'aider.
Cordialement.
Sandy.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut, regarde aussi la fonction first...
En gros (a ajuster je ne sais plus bien les limites) ca te donnerai ca
. . Bon!Si on m'empeche de travailler
\_/ Je ne me debattrai pas!
En gros (a ajuster je ne sais plus bien les limites) ca te donnerai ca
left(MonChamp,first(MonChamp,"("))
. . Bon!Si on m'empeche de travailler
\_/ Je ne me debattrai pas!
ben sandy la solution se trouve dans les requetes... il faut pour ca realiser une requete SQL qui fait l'operation pour toi
il me faudrait le nom des champs et des tables pour te décrire l operation
il me faudrait le nom des champs et des tables pour te décrire l operation
Alors, dans la table SUB, j'y ai mis tous mes enregistrements...
Il y a la table nomassoc qui contient le nom des associations avec le theme juste à côté entre parenthèse.
Dans cette table (SUB), j'ai rajouté un champs nomassoc2 pour y mettre que le nom de l'association (sans le theme), donc dans une requete, j'essaie avec la fonction left, mais ça ne marche pas...
Il faut utiliser (je pense) une requête de mise à jour mais je ne sais pas trop comment la mettre en oeuvre...
Voilà !! Une fois le nom de l'association dans assoc2, je voudrais mettre le thème qui est à chaque fois entre parenthèse pour les 1230 associations dans la table thème qui contient le codetheme avec le libellé. Nous, ce qui nous intéresse, c'est le libellé...
Voilà !! Je sais pas si je me serai fait comprendre.
En tous cas, merci beaucoup pour tout...
Merci encore pour votre aide.
Cordialement.
Sandy
Il y a la table nomassoc qui contient le nom des associations avec le theme juste à côté entre parenthèse.
Dans cette table (SUB), j'ai rajouté un champs nomassoc2 pour y mettre que le nom de l'association (sans le theme), donc dans une requete, j'essaie avec la fonction left, mais ça ne marche pas...
Il faut utiliser (je pense) une requête de mise à jour mais je ne sais pas trop comment la mettre en oeuvre...
Voilà !! Une fois le nom de l'association dans assoc2, je voudrais mettre le thème qui est à chaque fois entre parenthèse pour les 1230 associations dans la table thème qui contient le codetheme avec le libellé. Nous, ce qui nous intéresse, c'est le libellé...
Voilà !! Je sais pas si je me serai fait comprendre.
En tous cas, merci beaucoup pour tout...
Merci encore pour votre aide.
Cordialement.
Sandy
sandy, je crois que j'ai trouvé.... mais si tu pouvais m'envoyer ta base par mail je pourrai verifier...
y a deux requetes sql a faire, une pour extraire l'autre pour copier dans une autre table
pluschaud@free.fr
y a deux requetes sql a faire, une pour extraire l'autre pour copier dans une autre table
pluschaud@free.fr
Salut,
C'est super-drôle à faire !
Soit une table SUB avec trois champs :
assoc1 : contient le nom sous la forme assoc(theme)
nomassoc : champ qui contiendra le nom
theme : champ qui contiendra le theme
Pur mettre à jour les données dans la table, exécuter la requête suivante :
Vaut mieux faire un copier/coller, car on peut se perdre dans les parenthèses...
Explication :
On cherche où est la parenthèse '(' avec la fonction InStr, ensuite il suffit de faire savants calculs pour prendre ce qu'il y a à sa gauche et un peu de ce qu'il y a à sa droite :-)))
J'ai quand même mis 20 minutes pour la faire, celle-là !
Pour Teebo, le 'first' ne sert qu'a sortir le premier record d'une table et n'est pas une fonction de string.
Bon amusement ! ;-)
A+ Blux
C'est super-drôle à faire !
Soit une table SUB avec trois champs :
assoc1 : contient le nom sous la forme assoc(theme)
nomassoc : champ qui contiendra le nom
theme : champ qui contiendra le theme
Pur mettre à jour les données dans la table, exécuter la requête suivante :
UPDATE SUB SET nomassoc = Left(assoc1,InStr(assoc1,"(")-1), theme = mid(assoc1,len((Left(assoc1,InStr(assoc1,"(")-1)))+2, (len(assoc1)-len(Left(assoc1,InStr(assoc1,"(")-1))-2));
Vaut mieux faire un copier/coller, car on peut se perdre dans les parenthèses...
Explication :
On cherche où est la parenthèse '(' avec la fonction InStr, ensuite il suffit de faire savants calculs pour prendre ce qu'il y a à sa gauche et un peu de ce qu'il y a à sa droite :-)))
J'ai quand même mis 20 minutes pour la faire, celle-là !
Pour Teebo, le 'first' ne sert qu'a sortir le premier record d'une table et n'est pas une fonction de string.
Bon amusement ! ;-)
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
oui c ca mais bon pour sandy vaux mieux faire ca en deux requete et copier les reponses de l'extract dans une autre table....
backup avant sandy....
backup avant sandy....
oui c ca
Heureux que ça te plaise ! ;-)
Oui, mais elle est pas très claire entre les bases, les tables et les champs, alors je l'ai fait en une requête dans la même table, comme ça après, elle joue avec :-)
A+ Blux
Heureux que ça te plaise ! ;-)
Oui, mais elle est pas très claire entre les bases, les tables et les champs, alors je l'ai fait en une requête dans la même table, comme ça après, elle joue avec :-)
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Super, ça marche :o)
Alors là, merci beaucoup, je pensais pas qu'on pouvait y arriver...
ça m'évite de tout rentrer les 1230 enregistrements, merci beaucoupà tous :o)
Je suis content, youpiiiiiiii...
Cordialement.
Sandy.
Alors là, merci beaucoup, je pensais pas qu'on pouvait y arriver...
ça m'évite de tout rentrer les 1230 enregistrements, merci beaucoupà tous :o)
Je suis content, youpiiiiiiii...
Cordialement.
Sandy.
Super, ça marche :o)
J'allais quand même pas filer du SQL dans la nature et risquer la honte abyssale si ça foirait ! :-)))
je pensais pas qu'on pouvait y arriver...
En informatique, on peut tout faire... même des conneries... et sourtout des conneries ;-)
A+ Blux
J'allais quand même pas filer du SQL dans la nature et risquer la honte abyssale si ça foirait ! :-)))
je pensais pas qu'on pouvait y arriver...
En informatique, on peut tout faire... même des conneries... et sourtout des conneries ;-)
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
J'ai une autre question si vous pouvez y répondre, elle est à peu près pareil, mais j'ose pas modifier au cas où car j'ai peur de tout supprimer lol, ça serait pour remplir les associations dans nomassoc2... car toutes ne sont pas rentrées avec cette requête, il y en a qui n'avaient pas de parenthèses donc, elles sont pas rentrées dans nomassoc2...
Pour les actions(c les themes), c parfait, tout a marché... plus la peine d'y toucher...
Ceux que j'avais fait précedemment et qui a marché est :
UPDATE SUB SET nomassoc2 = Left(nomassoc,InStr(nomassoc,"(")-1), action = mid(nomassoc,len((Left(nomassoc,InStr(nomassoc,"(")-1)))+2, (len(nomassoc)-len(Left(nomassoc,InStr(nomassoc,"(")-1))-2));
Maintenant, comment faire pour remplir nomassoc2 vide ?
Merci beaucoup...
Cordialement.
Sandy.
Pour les actions(c les themes), c parfait, tout a marché... plus la peine d'y toucher...
Ceux que j'avais fait précedemment et qui a marché est :
UPDATE SUB SET nomassoc2 = Left(nomassoc,InStr(nomassoc,"(")-1), action = mid(nomassoc,len((Left(nomassoc,InStr(nomassoc,"(")-1)))+2, (len(nomassoc)-len(Left(nomassoc,InStr(nomassoc,"(")-1))-2));
Maintenant, comment faire pour remplir nomassoc2 vide ?
Merci beaucoup...
Cordialement.
Sandy.
Il suffit de tester si le champ ne contient rien et n'est pas initialisé, et le remplir dans ce cas :
J'ai repris mes noms de champ, pour tester...
Mais attention, si des thèmes sont présents avec autre chose que le séparateur "(" alors, il faut lancer la requête initiale en changeant le séparateur...
A+ Blux
UPDATE SUB SET nomassoc = assoc1 WHERE nomassoc IS NULL;
J'ai repris mes noms de champ, pour tester...
Mais attention, si des thèmes sont présents avec autre chose que le séparateur "(" alors, il faut lancer la requête initiale en changeant le séparateur...
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Bonjour,
J'ai toujours d'autres questions, hummm...
Maintenant que j'ai tous les noms d'associations, je voudrais rajouter dans la table SUB un numéro d'action qui mettrait un numéro à une association dès qu'elle s'appelle différemment...
Car j'ai souvent plusieurs lignes où des associations sont les mêmes, je voudrais leur mettre un numéro...
Comment faut-il faire ?
UPDATE SUB SET numeroassoc = ...
je veux qu'il prenne le nom d'association dans nomassoc2 présent dans la table SUB et qu'il y mette un numéro différent lorsque nomassoc2 est différent de la ligne suivante...
hummmm, je suis pas très doué...
Merci de votre aide.
Cordialement.
Sandy.
J'ai toujours d'autres questions, hummm...
Maintenant que j'ai tous les noms d'associations, je voudrais rajouter dans la table SUB un numéro d'action qui mettrait un numéro à une association dès qu'elle s'appelle différemment...
Car j'ai souvent plusieurs lignes où des associations sont les mêmes, je voudrais leur mettre un numéro...
Comment faut-il faire ?
UPDATE SUB SET numeroassoc = ...
je veux qu'il prenne le nom d'association dans nomassoc2 présent dans la table SUB et qu'il y mette un numéro différent lorsque nomassoc2 est différent de la ligne suivante...
hummmm, je suis pas très doué...
Merci de votre aide.
Cordialement.
Sandy.