Merci de prendre le temps de me venir en aide car j'en suis à mes bébuts en
access 2003.
J'ai un formulaire avec des champs de saisie en liste déroulante dans
chacun des champs.
Je veux faire afficher les résultats selon les critères sélectionnés et tout
ça en vb.
Mon problème est que si je n'entre pas de valeur dans une liste déroulante,
je voudrais que le recorset considère que la valeur par défaut soit '*'.
Donc dans mon code je valide si la valeur est null je mets '*' dans la string.
Lorsque j'exécute mon recorset ne me retoune rien mais pourtant je sais
qu'il y a au moins deux enregistrements qui devraient être retournés.
Voici le code :
If Not IsNull(Me.mdStatusProjet) Then
mdStatusProjet = "'*'"
Else
mdStatusProjet = Me.mdStatusProjet
End If
Set db = CurrentDb()
Set rst = db.OpenRecordset("SELECT DISTINCT [Projet Principal].[No
Projet principal], [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]
AS Responsable, [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= '" & strModProjet & "' And
[Projet Principal].Produit='" & strProduit & "' And [Projet Principal].MY=" &
strMy & " And [Type pub tech].[Lt(1) - CT(2)]=" & strModTerme & "")
While Not rst.EOF
MsgBox rst("titre")
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
Set db = Nothing
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Dragan
Bonjour Line, tu as visiblement écrit le contraire de ce que tu souhaites. essaie en enlevant le Not dans la ligne 'If Not IsNull'
"Line" a écrit :
Bonsoir tout le monde,
Merci de prendre le temps de me venir en aide car j'en suis à mes bébuts en access 2003.
J'ai un formulaire avec des champs de saisie en liste déroulante dans chacun des champs.
Je veux faire afficher les résultats selon les critères sélectionnés et tout ça en vb. Mon problème est que si je n'entre pas de valeur dans une liste déroulante, je voudrais que le recorset considère que la valeur par défaut soit '*'.
Donc dans mon code je valide si la valeur est null je mets '*' dans la string.
Lorsque j'exécute mon recorset ne me retoune rien mais pourtant je sais qu'il y a au moins deux enregistrements qui devraient être retournés.
Voici le code :
If Not IsNull(Me.mdStatusProjet) Then mdStatusProjet = "'*'" Else mdStatusProjet = Me.mdStatusProjet End If
Set db = CurrentDb() Set rst = db.OpenRecordset("SELECT DISTINCT [Projet Principal].[No Projet principal], [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] AS Responsable, [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= '" & strModProjet & "' And [Projet Principal].Produit='" & strProduit & "' And [Projet Principal].MY=" & strMy & " And [Type pub tech].[Lt(1) - CT(2)]=" & strModTerme & "")
While Not rst.EOF MsgBox rst("titre") rst.MoveNext Wend rst.Close Set rst = Nothing Set db = Nothing
Quel est le problème ?
merci pour tout
Bonjour Line,
tu as visiblement écrit le contraire de ce que tu souhaites.
essaie en enlevant le Not dans la ligne 'If Not IsNull'
"Line" a écrit :
Bonsoir tout le monde,
Merci de prendre le temps de me venir en aide car j'en suis à mes bébuts en
access 2003.
J'ai un formulaire avec des champs de saisie en liste déroulante dans
chacun des champs.
Je veux faire afficher les résultats selon les critères sélectionnés et tout
ça en vb.
Mon problème est que si je n'entre pas de valeur dans une liste déroulante,
je voudrais que le recorset considère que la valeur par défaut soit '*'.
Donc dans mon code je valide si la valeur est null je mets '*' dans la string.
Lorsque j'exécute mon recorset ne me retoune rien mais pourtant je sais
qu'il y a au moins deux enregistrements qui devraient être retournés.
Voici le code :
If Not IsNull(Me.mdStatusProjet) Then
mdStatusProjet = "'*'"
Else
mdStatusProjet = Me.mdStatusProjet
End If
Set db = CurrentDb()
Set rst = db.OpenRecordset("SELECT DISTINCT [Projet Principal].[No
Projet principal], [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]
AS Responsable, [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= '" & strModProjet & "' And
[Projet Principal].Produit='" & strProduit & "' And [Projet Principal].MY=" &
strMy & " And [Type pub tech].[Lt(1) - CT(2)]=" & strModTerme & "")
While Not rst.EOF
MsgBox rst("titre")
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
Set db = Nothing
Bonjour Line, tu as visiblement écrit le contraire de ce que tu souhaites. essaie en enlevant le Not dans la ligne 'If Not IsNull'
"Line" a écrit :
Bonsoir tout le monde,
Merci de prendre le temps de me venir en aide car j'en suis à mes bébuts en access 2003.
J'ai un formulaire avec des champs de saisie en liste déroulante dans chacun des champs.
Je veux faire afficher les résultats selon les critères sélectionnés et tout ça en vb. Mon problème est que si je n'entre pas de valeur dans une liste déroulante, je voudrais que le recorset considère que la valeur par défaut soit '*'.
Donc dans mon code je valide si la valeur est null je mets '*' dans la string.
Lorsque j'exécute mon recorset ne me retoune rien mais pourtant je sais qu'il y a au moins deux enregistrements qui devraient être retournés.
Voici le code :
If Not IsNull(Me.mdStatusProjet) Then mdStatusProjet = "'*'" Else mdStatusProjet = Me.mdStatusProjet End If
Set db = CurrentDb() Set rst = db.OpenRecordset("SELECT DISTINCT [Projet Principal].[No Projet principal], [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] AS Responsable, [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= '" & strModProjet & "' And [Projet Principal].Produit='" & strProduit & "' And [Projet Principal].MY=" & strMy & " And [Type pub tech].[Lt(1) - CT(2)]=" & strModTerme & "")
While Not rst.EOF MsgBox rst("titre") rst.MoveNext Wend rst.Close Set rst = Nothing Set db = Nothing
Quel est le problème ?
merci pour tout
Michel__D
Bonjour,
"Dragan" a écrit dans le message de news:
Bonjour Line, tu as visiblement écrit le contraire de ce que tu souhaites. essaie en enlevant le Not dans la ligne 'If Not IsNull'
Oui, mais cela ne devrait pas changer grand chose car le SQL du recordset ne mentionne pas cette variable ou ce champ [mdStatusProjet].
"Line" a écrit :
> Bonsoir tout le monde, > > Merci de prendre le temps de me venir en aide car j'en suis à mes bébuts en > access 2003. > > J'ai un formulaire avec des champs de saisie en liste déroulante dans > chacun des champs. > > Je veux faire afficher les résultats selon les critères sélectionnés et tout > ça en vb. > Mon problème est que si je n'entre pas de valeur dans une liste déroulante, > je voudrais que le recorset considère que la valeur par défaut soit '*'. > > Donc dans mon code je valide si la valeur est null je mets '*' dans la string. > > Lorsque j'exécute mon recorset ne me retoune rien mais pourtant je sais > qu'il y a au moins deux enregistrements qui devraient être retournés. > > Voici le code : > > > If Not IsNull(Me.mdStatusProjet) Then > mdStatusProjet = "'*'" > Else > mdStatusProjet = Me.mdStatusProjet > End If > > Set db = CurrentDb() > Set rst = db.OpenRecordset("SELECT DISTINCT [Projet Principal].[No > Projet principal], [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] > AS Responsable, [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= '" & strModProjet & "' And > [Projet Principal].Produit='" & strProduit & "' And [Projet Principal].MY=" & > strMy & " And [Type pub tech].[Lt(1) - CT(2)]=" & strModTerme & "") > > While Not rst.EOF > MsgBox rst("titre") > rst.MoveNext > Wend > rst.Close > Set rst = Nothing > Set db = Nothing > > Quel est le problème ? > > merci pour tout
Bonjour,
"Dragan" <Dragan@discussions.microsoft.com> a écrit dans le message de news:026B57AD-9C38-443A-8517-581FB5697ADA@microsoft.com...
Bonjour Line,
tu as visiblement écrit le contraire de ce que tu souhaites.
essaie en enlevant le Not dans la ligne 'If Not IsNull'
Oui, mais cela ne devrait pas changer grand chose car le SQL du recordset
ne mentionne pas cette variable ou ce champ [mdStatusProjet].
"Line" a écrit :
> Bonsoir tout le monde,
>
> Merci de prendre le temps de me venir en aide car j'en suis à mes bébuts en
> access 2003.
>
> J'ai un formulaire avec des champs de saisie en liste déroulante dans
> chacun des champs.
>
> Je veux faire afficher les résultats selon les critères sélectionnés et tout
> ça en vb.
> Mon problème est que si je n'entre pas de valeur dans une liste déroulante,
> je voudrais que le recorset considère que la valeur par défaut soit '*'.
>
> Donc dans mon code je valide si la valeur est null je mets '*' dans la string.
>
> Lorsque j'exécute mon recorset ne me retoune rien mais pourtant je sais
> qu'il y a au moins deux enregistrements qui devraient être retournés.
>
> Voici le code :
>
>
> If Not IsNull(Me.mdStatusProjet) Then
> mdStatusProjet = "'*'"
> Else
> mdStatusProjet = Me.mdStatusProjet
> End If
>
> Set db = CurrentDb()
> Set rst = db.OpenRecordset("SELECT DISTINCT [Projet Principal].[No
> Projet principal], [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]
> AS Responsable, [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= '" & strModProjet & "' And
> [Projet Principal].Produit='" & strProduit & "' And [Projet Principal].MY=" &
> strMy & " And [Type pub tech].[Lt(1) - CT(2)]=" & strModTerme & "")
>
> While Not rst.EOF
> MsgBox rst("titre")
> rst.MoveNext
> Wend
> rst.Close
> Set rst = Nothing
> Set db = Nothing
>
> Quel est le problème ?
>
> merci pour tout
Bonjour Line, tu as visiblement écrit le contraire de ce que tu souhaites. essaie en enlevant le Not dans la ligne 'If Not IsNull'
Oui, mais cela ne devrait pas changer grand chose car le SQL du recordset ne mentionne pas cette variable ou ce champ [mdStatusProjet].
"Line" a écrit :
> Bonsoir tout le monde, > > Merci de prendre le temps de me venir en aide car j'en suis à mes bébuts en > access 2003. > > J'ai un formulaire avec des champs de saisie en liste déroulante dans > chacun des champs. > > Je veux faire afficher les résultats selon les critères sélectionnés et tout > ça en vb. > Mon problème est que si je n'entre pas de valeur dans une liste déroulante, > je voudrais que le recorset considère que la valeur par défaut soit '*'. > > Donc dans mon code je valide si la valeur est null je mets '*' dans la string. > > Lorsque j'exécute mon recorset ne me retoune rien mais pourtant je sais > qu'il y a au moins deux enregistrements qui devraient être retournés. > > Voici le code : > > > If Not IsNull(Me.mdStatusProjet) Then > mdStatusProjet = "'*'" > Else > mdStatusProjet = Me.mdStatusProjet > End If > > Set db = CurrentDb() > Set rst = db.OpenRecordset("SELECT DISTINCT [Projet Principal].[No > Projet principal], [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] > AS Responsable, [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= '" & strModProjet & "' And > [Projet Principal].Produit='" & strProduit & "' And [Projet Principal].MY=" & > strMy & " And [Type pub tech].[Lt(1) - CT(2)]=" & strModTerme & "") > > While Not rst.EOF > MsgBox rst("titre") > rst.MoveNext > Wend > rst.Close > Set rst = Nothing > Set db = Nothing > > Quel est le problème ? > > merci pour tout