Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

extraction

6 réponses
Avatar
nanou
bonjour et merci a ceux qui r=E9pondent
j'ai une table produit avec un champ d=E9signation genre :
rond D=3D75,LG=3D4750 0/+200 qui veut dire une barre ronde de=20
diam=E8tre 75 de longueur 4750 avec une tol=E9rance de +-200
je peux avoir des diam=E8tre de 150
je cherche =E0 extraire dans un champ le diam=E8tre dans un=20
autre la longueur
1er pb la fonction Extraccha=EEne ou Mid ne fonctionne pas=20
pourtant il me semble que j'applique bien la formule=20
del'aide d'access
2=E8me pb j'ai une table des poids : un rond de 75 p=E8se 34=20
kgs au m=E8tre
avez-vous compris ? je voudrais qu'ensuite elle aille=20
chercher le poids au m=E8tre dans la table des poids
est-ce possible ? si oui assez simplement parce que moi y=20
en a parl=E9 l'access comme =E7a
merci

6 réponses

Avatar
www.eztree-msdn.com \(Laurent Jordi\)
Salut

En fait c'est assez simple...

Dim t() as string

Private Sub Traitement
Dim D as string
Dim L as String
Dim MaCaine as string

MaChaine = 'récupération de la valeur

t = split(MaChaine ,",")
txtDiam = t(0)
txtLong = t(1)
end sub

@+
LJ
www.eztree-msnd.com


"nanou" a écrit dans le message de
news:1c86501c421e8$d6c74790$
bonjour et merci a ceux qui répondent
j'ai une table produit avec un champ désignation genre :
rond Du,LGG50 0/+200 qui veut dire une barre ronde de
diamètre 75 de longueur 4750 avec une tolérance de +-200
je peux avoir des diamètre de 150
je cherche à extraire dans un champ le diamètre dans un
autre la longueur
1er pb la fonction Extracchaîne ou Mid ne fonctionne pas
pourtant il me semble que j'applique bien la formule
del'aide d'access
2ème pb j'ai une table des poids : un rond de 75 pèse 34
kgs au mètre
avez-vous compris ? je voudrais qu'ensuite elle aille
chercher le poids au mètre dans la table des poids
est-ce possible ? si oui assez simplement parce que moi y
en a parlé l'access comme ça
merci
Avatar
Raymond [mvp]
Bonjour.

Je voudrais te poser une question préalable car ton souci ressemble fort au
problème des acièristes (distribution).
si je me souviens bien , ta désignation qui semble très structurée, n'est
pas toujours indiquée de cette façon ? il peut y avoir des espaces en plus,
la virgule inexistante, le signe = plus ou moins aléatoire etc... est-ce
bien ça ou cette codification est respectée à la lettre ?
de cela dépendra la méthode d'extraction.

Pour le poids.
Si tu as une table des poids spécifiques, cela veut dire que tu n'as pas
toujours la même matière. comment trouver la matière ? si tu n'as qu'une
seule matière (acier par exemple) compte tenu de la tolérance de longueur,
un poids spécifique moyen de 7.83 ou 7.85 peut faire l'affaire peut-être ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nanou" a écrit dans le message de
news:1c86501c421e8$d6c74790$
bonjour et merci a ceux qui répondent
j'ai une table produit avec un champ désignation genre :
rond Du,LGG50 0/+200 qui veut dire une barre ronde de
diamètre 75 de longueur 4750 avec une tolérance de +-200
je peux avoir des diamètre de 150
je cherche à extraire dans un champ le diamètre dans un
autre la longueur
1er pb la fonction Extracchaîne ou Mid ne fonctionne pas
pourtant il me semble que j'applique bien la formule
del'aide d'access
2ème pb j'ai une table des poids : un rond de 75 pèse 34
kgs au mètre
avez-vous compris ? je voudrais qu'ensuite elle aille
chercher le poids au mètre dans la table des poids
est-ce possible ? si oui assez simplement parce que moi y
en a parlé l'access comme ça
merci
Avatar
nanou
sympa de me répondre mais rien compris
je suis une vraie débutante
-----Message d'origine-----
Salut

En fait c'est assez simple...

Dim t() as string

Private Sub Traitement
Dim D as string
Dim L as String
Dim MaCaine as string

MaChaine = 'récupération de la valeur

t = split(MaChaine ,",")
txtDiam = t(0)
txtLong = t(1)
end sub

@+
LJ
www.eztree-msnd.com


"nanou" a écrit
dans le message de

news:1c86501c421e8$d6c74790$
bonjour et merci a ceux qui répondent
j'ai une table produit avec un champ désignation genre :
rond Du,LGG50 0/+200 qui veut dire une barre ronde de
diamètre 75 de longueur 4750 avec une tolérance de +-200
je peux avoir des diamètre de 150
je cherche à extraire dans un champ le diamètre dans un
autre la longueur
1er pb la fonction Extracchaîne ou Mid ne fonctionne pas
pourtant il me semble que j'applique bien la formule
del'aide d'access
2ème pb j'ai une table des poids : un rond de 75 pèse 34
kgs au mètre
avez-vous compris ? je voudrais qu'ensuite elle aille
chercher le poids au mètre dans la table des poids
est-ce possible ? si oui assez simplement parce que moi y
en a parlé l'access comme ça
merci


.



Avatar
nanou
oui bien vu on stocke des aciers pour un transformeur
la désignation est bien structurée le code bien respecté
c'est en général la même matière sauf 3 références que 2
autres matières. Pour si peu de références,j'indiquerai
moi-même les poids, mais pour les ronds cela risque
d'être une peu long et surtout c'est la manipulation qui
m'interesse. Je voudrais savoir faire, sait-on jamais ?
merci en tout cas

-----Message d'origine-----
Bonjour.

Je voudrais te poser une question préalable car ton
souci ressemble fort au

problème des acièristes (distribution).
si je me souviens bien , ta désignation qui semble très
structurée, n'est

pas toujours indiquée de cette façon ? il peut y avoir
des espaces en plus,

la virgule inexistante, le signe = plus ou moins
aléatoire etc... est-ce

bien ça ou cette codification est respectée à la lettre ?
de cela dépendra la méthode d'extraction.

Pour le poids.
Si tu as une table des poids spécifiques, cela veut dire
que tu n'as pas

toujours la même matière. comment trouver la matière ?
si tu n'as qu'une

seule matière (acier par exemple) compte tenu de la
tolérance de longueur,

un poids spécifique moyen de 7.83 ou 7.85 peut faire
l'affaire peut-être ?


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nanou" a écrit
dans le message de

news:1c86501c421e8$d6c74790$
bonjour et merci a ceux qui répondent
j'ai une table produit avec un champ désignation genre :
rond Du,LGG50 0/+200 qui veut dire une barre ronde de
diamètre 75 de longueur 4750 avec une tolérance de +-200
je peux avoir des diamètre de 150
je cherche à extraire dans un champ le diamètre dans un
autre la longueur
1er pb la fonction Extracchaîne ou Mid ne fonctionne pas
pourtant il me semble que j'applique bien la formule
del'aide d'access
2ème pb j'ai une table des poids : un rond de 75 pèse 34
kgs au mètre
avez-vous compris ? je voudrais qu'ensuite elle aille
chercher le poids au mètre dans la table des poids
est-ce possible ? si oui assez simplement parce que moi y
en a parlé l'access comme ça
merci


.



Avatar
Raymond [mvp]
Il me semblait bien.

dernière question avant que je te propose quelque chose.
ce n'est pas ta désignation qui est la clé primaire ?
dans ta table "Produits" (je ne prend que des exemples)
tu dois avoir des champs comme ceci:
- Numéro (référence produit) texte
- désignation (connu)
- TypeMatière (acier, acier inox, acier outils, bronze, laiton ....)

tu dois avoir une table "Matière" qui a les champs:
- RéférenceMatière (clé primaire) texte
- PoidsSpécifique numérique
la relation entre la table produits et la table Matière se fera par les
champs TypeMatière vers RéférenceMatière.
tu peux ainsi par requête avec tes deux tables, calculer le poids de tout
rondin ou carré.

pour l'extraction du diamètre et longueur, tu peux faire un fonction comme
"récupération" ci-dessous qui est appelée ici par un bouton pour l'exemple.
Me.Désignation est le controle formulaire contenant la désignation du
produit.

Dim Longueur As Long
Dim Diametre As Long

Private Sub Commande0_Click()
If Not récupération(Me.Désignation) Then
MsgBox "la désignation est inexploitable", vbCritical
Exit Sub
End If
MsgBox "Le rondin a un diamètre de " & Diametre & " et une longueur de "
& Longueur
End Sub

Public Function récupération(Désignation As String) As Boolean
On Error GoTo Erreur_R
récupération = False
Dim Tableau As Variant
Tableau = Split(Désignation, ",")
Diametre = Mid(Tableau(0), InStr(1, Tableau(0), "=") + 1)
Tableau(1) = Mid(Tableau(1), 1, InStr(1, Tableau(1), " "))
Longueur = Mid(Tableau(1), InStr(1, Tableau(1), "=") + 1)
récupération = True
If (Not IsNumeric(Diametre)) And (Not IsNumeric(Longueur)) Then GoTo
Erreur_R
Exit Function
Erreur_R:
récupération = False
End Function

il faudra ajuster tout ça à ton problème mais tu dois pouvoir avancer .
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nanou" a écrit dans le message de
news:1c7a501c42233$6c416cc0$
oui bien vu on stocke des aciers pour un transformeur
la désignation est bien structurée le code bien respecté
c'est en général la même matière sauf 3 références que 2
autres matières. Pour si peu de références,j'indiquerai
moi-même les poids, mais pour les ronds cela risque
d'être une peu long et surtout c'est la manipulation qui
m'interesse. Je voudrais savoir faire, sait-on jamais ?
merci en tout cas
Avatar
nanou
merci de penser à moi
j'ai une table produit avec comme champ : code matière
(clé primaire) désignation (le bla bla bla) dans lequel
se trouve le diamètre du rond dP ou 140 ou 250 que
j'aimerai bien extraire et le placer dans un champ que
j'appellerai valeur nature. d'autre part j'ai une table
des poids avec comme champ : le diamètre et le poids
puisque le poids varie selon le diamètre.

alors après j'essaierai de faire le lien je ne sais pas
encore trop comment mais bon on teste on teste on teste...

-----Message d'origine-----
Il me semblait bien.

dernière question avant que je te propose quelque chose.
ce n'est pas ta désignation qui est la clé primaire ?
dans ta table "Produits" (je ne prend que des exemples)
tu dois avoir des champs comme ceci:
- Numéro (référence produit) texte
- désignation (connu)
- TypeMatière (acier, acier inox, acier outils, bronze,
laiton ....)


tu dois avoir une table "Matière" qui a les champs:
- RéférenceMatière (clé primaire) texte
- PoidsSpécifique numérique
la relation entre la table produits et la table Matière
se fera par les

champs TypeMatière vers RéférenceMatière.
tu peux ainsi par requête avec tes deux tables, calculer
le poids de tout

rondin ou carré.

pour l'extraction du diamètre et longueur, tu peux faire
un fonction comme

"récupération" ci-dessous qui est appelée ici par un
bouton pour l'exemple.

Me.Désignation est le controle formulaire contenant la
désignation du

produit.

Dim Longueur As Long
Dim Diametre As Long

Private Sub Commande0_Click()
If Not récupération(Me.Désignation) Then
MsgBox "la désignation est inexploitable",
vbCritical

Exit Sub
End If
MsgBox "Le rondin a un diamètre de " & Diametre & "
et une longueur de "

& Longueur
End Sub

Public Function récupération(Désignation As String) As
Boolean

On Error GoTo Erreur_R
récupération = False
Dim Tableau As Variant
Tableau = Split(Désignation, ",")
Diametre = Mid(Tableau(0), InStr(1, Tableau(0), "=")
+ 1)

Tableau(1) = Mid(Tableau(1), 1, InStr(1, Tableau
(1), " "))

Longueur = Mid(Tableau(1), InStr(1, Tableau(1), "=")
+ 1)

récupération = True
If (Not IsNumeric(Diametre)) And (Not IsNumeric
(Longueur)) Then GoTo

Erreur_R
Exit Function
Erreur_R:
récupération = False
End Function

il faudra ajuster tout ça à ton problème mais tu dois
pouvoir avancer .

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nanou" a écrit
dans le message de

news:1c7a501c42233$6c416cc0$
oui bien vu on stocke des aciers pour un transformeur
la désignation est bien structurée le code bien respecté
c'est en général la même matière sauf 3 références que 2
autres matières. Pour si peu de références,j'indiquerai
moi-même les poids, mais pour les ronds cela risque
d'être une peu long et surtout c'est la manipulation qui
m'interesse. Je voudrais savoir faire, sait-on jamais ?
merci en tout cas


.