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

une nouvelle valeur dans un recordset pour une nouvelle action

2 réponses
Avatar
Line
Bonsoir vous tous,

Gros problème pour une petite débutante.

Sous access 2003,
J'ouvre un recorset à l'aide d'un slect en VB.
Le recordset me retourne plusieurs enregistrements selon les filtres d'un
formulaire.

Il y a une colonne [titre] dont le contenu peut se répéter plusieurs fois ou
pas selon le résultat.

Ce que j'aimerais obtenir,
chaque fois que le titre de l'enregistrement que je suis en train de lire
n'est pas égale au titre précédent, j'aimerais ex: créer une table

J'ai essayé plusieurs choses mais rien.

J'espère que mes explications sont claire et que vous saurez m'aider.

Je me permets de vous joindre mon code :



Set db = CurrentDb()
Set rst = db.OpenRecordset("SELECT [Projet Principal].Titre, [Projet
Principal].Produit, [Projet Principal].MY, [Type pub tech].[Type pub tech],
[Type pub tech].[Lt(1) - CT(2)], [Sous-projet].[No S-projet],
[Sous-projet].[No S-projet SAV], [Sous-projet].Description, [suivi
date].[date envoyé], [suivi date].[date butoir], [suivi date].[date
reçue],[suivi date].contact, [nom], [prenom], [flag],[Sous-projet].Service "
& _
"FROM ([Projet Principal] LEFT JOIN [Type pub tech] ON [Projet
Principal].FkTypePubTech=[Type pub tech].[No type pub tech]) INNER JOIN
([Liste employé] INNER JOIN (([Sous-projet] LEFT JOIN TbSousTypesPubTech ON
[Sous-projet].FkSousTypePubTech=TbSousTypesPubTech.PkSousTypePubTech) LEFT
JOIN [suivi date] ON [Sous-projet].[No S-projet]=[suivi date].[s-projet]) ON
[Liste employé].[No employé]=[Sous-projet].[Resp Rédaction]) ON [Projet
Principal].[No Projet principal]=[Sous-projet].[No projet principal]" & _
"WHERE [Projet Principal].Titre like '" & strModProjet & "'
And [Projet Principal].Produit='" & strProduit & "' And [suivi date].[flag]
like '" & strmdstatusprojet & "' And [Projet Principal].MY=" & strMy & " and
([nom] not in ('Sylvain') and [Prenom] Not in ('Yannick'))And [Type pub
tech].[Lt(1) - CT(2)]=" & strModTerme & " order By [Titre]")


Immense merci

2 réponses

Avatar
Dragan
Bonjour Line,
tu crées une variable de type chaine et dans la boucle de lecture du
recordset tu testes la correspondance entre le conteu de cette variable et la
colonne titre à chaque fois qu'il y a différence tu crées la table si elle
n'existe pas déjà.

ex:
DIM TitreLibelle as STRING

WHILE NOT rst.EOF
IF TitreLibelle <> rst![Titre] THEN
TitreLibelle = rst![Titre]
'Si la table n'existe pas déjà; la créer
ENDIF
rst.MOVENEXT
WEND
rst.CLOSE
SET rst=NOTHING
"Line" a écrit :

Bonsoir vous tous,

Gros problème pour une petite débutante.

Sous access 2003,
J'ouvre un recorset à l'aide d'un slect en VB.
Le recordset me retourne plusieurs enregistrements selon les filtres d'un
formulaire.

Il y a une colonne [titre] dont le contenu peut se répéter plusieurs fois ou
pas selon le résultat.

Ce que j'aimerais obtenir,
chaque fois que le titre de l'enregistrement que je suis en train de lire
n'est pas égale au titre précédent, j'aimerais ex: créer une table

J'ai essayé plusieurs choses mais rien.

J'espère que mes explications sont claire et que vous saurez m'aider.

Je me permets de vous joindre mon code :



Set db = CurrentDb()
Set rst = db.OpenRecordset("SELECT [Projet Principal].Titre, [Projet
Principal].Produit, [Projet Principal].MY, [Type pub tech].[Type pub tech],
[Type pub tech].[Lt(1) - CT(2)], [Sous-projet].[No S-projet],
[Sous-projet].[No S-projet SAV], [Sous-projet].Description, [suivi
date].[date envoyé], [suivi date].[date butoir], [suivi date].[date
reçue],[suivi date].contact, [nom], [prenom], [flag],[Sous-projet].Service "
& _
"FROM ([Projet Principal] LEFT JOIN [Type pub tech] ON [Projet
Principal].FkTypePubTech=[Type pub tech].[No type pub tech]) INNER JOIN
([Liste employé] INNER JOIN (([Sous-projet] LEFT JOIN TbSousTypesPubTech ON
[Sous-projet].FkSousTypePubTech=TbSousTypesPubTech.PkSousTypePubTech) LEFT
JOIN [suivi date] ON [Sous-projet].[No S-projet]=[suivi date].[s-projet]) ON
[Liste employé].[No employé]=[Sous-projet].[Resp Rédaction]) ON [Projet
Principal].[No Projet principal]=[Sous-projet].[No projet principal]" & _
"WHERE [Projet Principal].Titre like '" & strModProjet & "'
And [Projet Principal].Produit='" & strProduit & "' And [suivi date].[flag]
like '" & strmdstatusprojet & "' And [Projet Principal].MY=" & strMy & " and
([nom] not in ('Sylvain') and [Prenom] Not in ('Yannick'))And [Type pub
tech].[Lt(1) - CT(2)]=" & strModTerme & " order By [Titre]")


Immense merci


Avatar
Line
Quel simplicité....

merci ça fonctionne !!! :-)

"Line" a écrit :

Bonsoir vous tous,

Gros problème pour une petite débutante.

Sous access 2003,
J'ouvre un recorset à l'aide d'un slect en VB.
Le recordset me retourne plusieurs enregistrements selon les filtres d'un
formulaire.

Il y a une colonne [titre] dont le contenu peut se répéter plusieurs fois ou
pas selon le résultat.

Ce que j'aimerais obtenir,
chaque fois que le titre de l'enregistrement que je suis en train de lire
n'est pas égale au titre précédent, j'aimerais ex: créer une table

J'ai essayé plusieurs choses mais rien.

J'espère que mes explications sont claire et que vous saurez m'aider.

Je me permets de vous joindre mon code :



Set db = CurrentDb()
Set rst = db.OpenRecordset("SELECT [Projet Principal].Titre, [Projet
Principal].Produit, [Projet Principal].MY, [Type pub tech].[Type pub tech],
[Type pub tech].[Lt(1) - CT(2)], [Sous-projet].[No S-projet],
[Sous-projet].[No S-projet SAV], [Sous-projet].Description, [suivi
date].[date envoyé], [suivi date].[date butoir], [suivi date].[date
reçue],[suivi date].contact, [nom], [prenom], [flag],[Sous-projet].Service "
& _
"FROM ([Projet Principal] LEFT JOIN [Type pub tech] ON [Projet
Principal].FkTypePubTech=[Type pub tech].[No type pub tech]) INNER JOIN
([Liste employé] INNER JOIN (([Sous-projet] LEFT JOIN TbSousTypesPubTech ON
[Sous-projet].FkSousTypePubTech=TbSousTypesPubTech.PkSousTypePubTech) LEFT
JOIN [suivi date] ON [Sous-projet].[No S-projet]=[suivi date].[s-projet]) ON
[Liste employé].[No employé]=[Sous-projet].[Resp Rédaction]) ON [Projet
Principal].[No Projet principal]=[Sous-projet].[No projet principal]" & _
"WHERE [Projet Principal].Titre like '" & strModProjet & "'
And [Projet Principal].Produit='" & strProduit & "' And [suivi date].[flag]
like '" & strmdstatusprojet & "' And [Projet Principal].MY=" & strMy & " and
([nom] not in ('Sylvain') and [Prenom] Not in ('Yannick'))And [Type pub
tech].[Lt(1) - CT(2)]=" & strModTerme & " order By [Titre]")


Immense merci