OVH Cloud OVH Cloud

Determiner une valeur à recopier

2 réponses
Avatar
Juventino
bonjour à tous

je vous presente mon souci je recupere un fichier TXT que je remet en forme

dans le champ1 j'ai une code famille dans le champ2 de ce meme
enregistrement c'est vide

dans l'enregistrement2 champ1 j'ai un code article de cette meme
famille champ 2 enregistrement 2 j'ai un nombre.

et ainsi de suite pour plusieurs articles

je voudrais recopier dans un 3 champ les valeurs du code famille du
premier enregistrement pour chaque code article tant que le champ 2
contient un nombre
des que le champ2 est vide je change de code famille et doit recommencer
l'opération pour d'autres code articles qui doivent prendre la ref du
code famille suivant
cette operation doit etre automatisé
je n'ai pas la table code categorie pour generer mon resultat

un peu dur à expliquer sans exemple donc voici une refraction de la
table et du résultat que j'aimerais obtenir. le champ 3 au départ est vide.
Merci pour toute aide

Champ1 Champ2 champ3
700-2110111
700-8200049 3.55 700-2110111
700-8266100 3.55 700-2110111
700-8266351 3.55 700-2110111
700-8210118 3.55 700-2110111
700-8212233 3.55 700-2110111
700-2110112
700-8200049 3.55 700-2110112
700-8266100 3.55 700-2110112
700-8266351 3.55 700-2110112
700-8210119 3.55 700-2110112
700-8212233 3.55 700-2110112
700-2110113
700-8200049 3.55 700-2110113
700-8266100 3.55 700-2110113
700-8266351 3.55 700-2110113
700-8212233 3.55 700-2110113
700-8210251 3.55 700-2110113

2 réponses

Avatar
Salut,

Mise en garde : une table n'a pas d'ordre préférentiel, penser à rajouter un Numéro auto par
exemple pour appliquer l'ordre croissant sur ce champ dans une requête.

Dans mon exemple, j'ai créé une table Table1, avec deux champs Champ1 et Champ2
Une requete contient un champ calculé Expr1

SELECT Champ1, Champ2, champ3([champ1],[champ2]) AS Expr1
FROM Table1;


Dans un module Module2, une fonction très originale (cf ci-dessous) :

Option Compare Database
Option Explicit

Function champ3(champ1 As String, champ2 As Variant)
Static memoire As String

If IsNull(champ2) Then
memoire = champ1
champ3 = Null
Else
champ3 = memoire
End If
End Function


et ça a l'air de fonctionner (à ma grande surprise !!!)

à+
--
Arnaud
-----------------------------------
http://users.skynet.be/mpfa/
-----------------------------------





"Juventino" a écrit dans le message de news:
uwRn%
| bonjour à tous
|
| Champ1 Champ2 champ3
| 700-2110111
| 700-8200049 3.55 700-2110111
| 700-8266100 3.55 700-2110111
| 700-8266351 3.55 700-2110111
| 700-8210118 3.55 700-2110111
| 700-8212233 3.55 700-2110111
| 700-2110112
| 700-8200049 3.55 700-2110112
| 700-8266100 3.55 700-2110112
| 700-8266351 3.55 700-2110112
| 700-8210119 3.55 700-2110112
| 700-8212233 3.55 700-2110112
| 700-2110113
| 700-8200049 3.55 700-2110113
| 700-8266100 3.55 700-2110113
| 700-8266351 3.55 700-2110113
| 700-8212233 3.55 700-2110113
| 700-8210251 3.55 700-2110113
Avatar
3stone
Salut,

"Juventino" tous
|
| je vous presente mon souci je recupere un fichier TXT que je remet en forme
|
| dans le champ1 j'ai une code famille dans le champ2 de ce meme
| enregistrement c'est vide
|
| dans l'enregistrement2 champ1 j'ai un code article de cette meme
| famille champ 2 enregistrement 2 j'ai un nombre.
|
| et ainsi de suite pour plusieurs articles
<snip>


Tu as déjà posé la question...


Ce que tu demande n'a pas grand chose à voir avec une organisation "base de données"

- Combien de lignes a ton fichier ?
- Dois tu l'importer régulièrement ? ou juste une fois ?
- Une fois dans une table, à quoi peut servir un tel fichier sans organisation ?
(et un paquet de doublons !!!)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/