Access fonctions integrees

Fermé
caroleRENOLIT - 14 nov. 2007 à 17:23
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 - 15 nov. 2007 à 12:05
Bonjour, SOS ACCESS
Je souhaite extraire des parties d'un champ à l'intérieur duquel il y a 10 informations séparées par des ;
Par exemple j'ai dans un seul et même champ : 1095;250;;1258;29;;528;;;1000
ET je souhaite avoir une colonne avec une seule information, par exemple 1095 (pour la première information)
puis faire une 2eme colonne avec la 2nde info soit : 250
puis la 3eme avec la 3eme info soit : (vide)
.....
Quelle fonction intégrée puis-je utiliser (les fonctions droite ou gauche ne marchent pas pour ce que je veux faire) ?

J'ai chercher dans le forum mais n'ai rien trouvé à ce sujet
Merci d'avance
PS : j'utilise ACCESS 2003

5 réponses

Bonjour,

A priori vous avez mal chargé votre base de données. Rechargez-la en donnant comme suffixe csv à votre fichier source, et lors du chargement indiquez que votre séparateur est ';' (et nom ',' comme proposé par défaut).

Si ce n'est pas le cas, déchargez votre base de données en format texte sans séparateur, puis rechargez la comme indiqué ci-dessus.

Manu
0
caroleRENOLIT
15 nov. 2007 à 08:51
Bonjour,
Merci beaucoup pour cette réponse rapide.
Cependant, ce n'est pas possible puisque j'intègre la base de donnée de mon ERP (ODBC) et je n'ai aucune possibilité d'agir sur les champs, ils sont déjà formatés.
Les autres champs de ma base sont tout à fait classiques et ne comportent qu'une information, par contre les programmeurs ont créé 2 ou 3 champs dans l'ERP qui comportent plusieurs infos séparées par un ";"
En fait je cherche la fonction qui permet d'éclater un champ, un peu comme dans EXCEL la fonction convertir qui permet de faire plusieurs colonnes avec une seule en déterminant un séparateur.
Ci-dessous un extrait de la table

zppt_part pt_desc1 pt_um pt_prod_line zppt_techn
00334 HR PL PLANE L1200 CRI T0 M2 4100 1200;0;73;2;0;0;0;0;0;0;0;0;0
00861 HR 150/45 952 C020 M2 4100 952;900;79;1.1;0;0;0;0;0;0;0;0;0
00862 HR 29/124 ALUFORM 1061 T M2 4100 1061;0;0;0;0;0;0;0;0;0;0;0;0
00863 HR 124/29 1061 C020 M2 4100 1061;992;79;1.1;0;0;0;0;0;0;0;0;0
05981 HR EURO92 1062 O970 M2 4100 1062;1000;0;1.2;0;0;0;0;0;0;0;0;0
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
15 nov. 2007 à 09:18
Bonjour,

As tu essayé la fonction Split() ?

Sub test()
    Dim a As Variant
    a = Split(zppt_techn, ";" )
    Debug.Print a(0)
End Sub 
0
caroleRENOLIT
15 nov. 2007 à 10:32
Bonjour,
Merci pouor cette proposition rapide MAIS cette fonction n'esiste pas dans ACCESS 2003
Avez-vous une autre idée ?
Merci
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
15 nov. 2007 à 10:34
Faire une boucle
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
15 nov. 2007 à 10:44
"MAIS cette fonction n'esiste pas dans ACCESS 2003"

Etrange !!!

Je viens de tomber sur un bout de code et dans les memes conditions que toi. Tu pourras voir que la fonction Split() est bien utilsée ici
0
caroleRENOLIT
15 nov. 2007 à 10:46
Bonjour,
Qu'est-ce ça veut dire ?
Je ne suis pas informaticienne, je ne sias pas rédigé de lignes de programmations.
J'utilise les fonctions intégrées d'ACCESS.
Si la fonction pour scinder la zone existe pouvez-vous me donner son nom et la syntaxe exacte.
MERCI
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
15 nov. 2007 à 11:03
Ouppsss ... Sorry ... je pensais que tu demandais cela en VBA ...

Donc si je comprend bien, tu n'utilises que l'interface graphique Access 2003 ? Tu ne passes pas par le module "Macro" ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
caroleRENOLIT
15 nov. 2007 à 11:40
Oui c'est ça
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
15 nov. 2007 à 12:05
Sorry,

Je ne maitrise pas assez cette Interface ... Et en sql, je ne vois pas comment tu peux effectuer ce decoupage.

Tu peux regarder ceci : Les fonctions dans SQL.

Par contre, il faudrait avoir si il est possible d'appeler une macro vba. Et alors là, la fonction split() ferait merveille pour ce que tu demandes ...
0