sql et argument null

Le
Jose Muller
Voila un sql qui fonctionne parfaitement.

SQL_Text1 = "INSERT INTO [FICHIERENFANT]" _
& "(DOSSIER, CHEFNOM,ENFANTNOM,ENFANTDATE,ENFANTCHARGE,AU) " =
_
& "SELECT [FICHIER SOCIAL].[NUMERO DE DOSSIER],[FICHIER SOCIA=
L].[NOM DU CHEF], " _
& "[FICHIER SOCIAL].[NOM ET PRENOM ENFANT 1],[FICHIER SOCIAL]=
.[DATE DE NAISSANCE 1],[FICHIER SOCIAL].[A CHARGE 1] ,[FICHIER SOCIAL].[AU]=
" _
& "FROM [FICHIER SOCIAL] " _
& "WHERE [FICHIER SOCIAL].[AU] >= " & "#" & us1date & "#" =
_
& " AND " _
& "([FICHIER SOCIAL].[NOM ET PRENOM ENFANT 1] <> """") " _
& " AND " _
& "([FICHIER SOCIAL].[A CHARGE 1] >0 ) " _
& " ;"
DoCmd.RunSQL SQL_Text1, True

si maintenant je veux ajouter dans la liste le champ ENFANTAGE ( du texte =
) qui provient de la fonction AGEX([FICHIER SOCIAL].[DATE DE NAISSANCE 1]=
) cela fonctionne jusqu'au moment ou [FICHIER SOCIAL].[DATE DE NAISSANCE 1]=
est null parce que ce champ n'a pas été rempli.

Faire un test isnull au début de AGEX ne donne pas de résultat ( trop =
tard)



SQL_Text1 = "INSERT INTO [FICHIERENFANT]" _
& "(DOSSIER, CHEFNOM,ENFANTNOM,ENFANTDATE,ENFANTCHARGE,ENFANT=
AGE,AU) " _
& "SELECT [FICHIER SOCIAL].[NUMERO DE DOSSIER],[FICHIER SOCIA=
L].[NOM DU CHEF], " _
& "[FICHIER SOCIAL].[NOM ET PRENOM ENFANT 1],[FICHIER SOCIAL]=
.[DATE DE NAISSANCE 1],[FICHIER SOCIAL].[A CHARGE 1], AGEX([FICHIER SOCIAL]=
.[DATE DE NAISSANCE 1]) ,[FICHIER SOCIAL].[AU] " _
& "FROM [FICHIER SOCIAL] " _
& "WHERE [FICHIER SOCIAL].[AU] >= " & "#" & us1date & "#" =
_
& " AND " _
& "([FICHIER SOCIAL].[NOM ET PRENOM ENFANT 1] <> """") " _
& " AND " _
& "([FICHIER SOCIAL].[A CHARGE 1] >0 ) " _
& " ;"
DoCmd.RunSQL SQL_Text1, True

avec

Function AgeX(dn As Date) As String

retourne par exemple : 6 an(s) 12 mois
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
db
Le #25596392
Le 15/08/2013 00:19, Jose Muller a écrit :
si maintenant je veux ajouter dans la liste le champ ENFANTAGE ( du texte ) qui provient de la fonction AGEX([FICHIER SOCIAL].[DATE DE NAISSANCE 1]) cela fonctionne jusqu'au moment ou [FICHIER SOCIAL].[DATE DE NAISSANCE 1] est null parce que ce champ n'a pas été rempli.

Faire un test isnull au début de AGEX ne donne pas de résultat ( trop tard)
avec

Function AgeX(dn As Date) As String

retourne par exemple : 6 an(s) 12 mois




Essayer :

Function AgeX (vDn as variant) as String

Dim dn as Date

if (isNull(vDn)) then
AgeX=""
else
dn=vDn
... suite de la fonction
end if
end function


db
Jose Muller
Le #25596762
Le jeudi 15 août 2013 00:19:03 UTC+2, Jose Muller a écrit :
Voila un sql qui fonctionne parfaitement.



SQL_Text1 = "INSERT INTO [FICHIERENFANT]" _

& "(DOSSIER, CHEFNOM,ENFANTNOM,ENFANTDATE,ENFANTCHARGE,AU) " _

& "SELECT [FICHIER SOCIAL].[NUMERO DE DOSSIER],[FICHIER SOC IAL].[NOM DU CHEF], " _

& "[FICHIER SOCIAL].[NOM ET PRENOM ENFANT 1],[FICHIER SOCIA L].[DATE DE NAISSANCE 1],[FICHIER SOCIAL].[A CHARGE 1] ,[FICHIER SOCIAL].[A U] " _

& "FROM [FICHIER SOCIAL] " _

& "WHERE [FICHIER SOCIAL].[AU] >= " & "#" & us1date & "# " _

& " AND " _

& "([FICHIER SOCIAL].[NOM ET PRENOM ENFANT 1] <> """") " _

& " AND " _

& "([FICHIER SOCIAL].[A CHARGE 1] >0 ) " _

& " ;"

DoCmd.RunSQL SQL_Text1, True



si maintenant je veux ajouter dans la liste le champ ENFANTAGE ( du text e ) qui provient de la fonction AGEX([FICHIER SOCIAL].[DATE DE NAISSANCE 1]) cela fonctionne jusqu'au moment ou [FICHIER SOCIAL].[DATE DE NAISSANCE 1] est null parce que ce champ n'a pas été rempli.



Faire un test isnull au début de AGEX ne donne pas de résultat ( tro p tard)







SQL_Text1 = "INSERT INTO [FICHIERENFANT]" _

& "(DOSSIER, CHEFNOM,ENFANTNOM,ENFANTDATE,ENFANTCHARGE,ENFA NTAGE,AU) " _

& "SELECT [FICHIER SOCIAL].[NUMERO DE DOSSIER],[FICHIER SOC IAL].[NOM DU CHEF], " _

& "[FICHIER SOCIAL].[NOM ET PRENOM ENFANT 1],[FICHIER SOCIA L].[DATE DE NAISSANCE 1],[FICHIER SOCIAL].[A CHARGE 1], AGEX([FICHIER SOCIA L].[DATE DE NAISSANCE 1]) ,[FICHIER SOCIAL].[AU] " _

& "FROM [FICHIER SOCIAL] " _

& "WHERE [FICHIER SOCIAL].[AU] >= " & "#" & us1date & "# " _

& " AND " _

& "([FICHIER SOCIAL].[NOM ET PRENOM ENFANT 1] <> """") " _

& " AND " _

& "([FICHIER SOCIAL].[A CHARGE 1] >0 ) " _

& " ;"

DoCmd.RunSQL SQL_Text1, True



avec



Function AgeX(dn As Date) As String



retourne par exemple : 6 an(s) 12 mois





OK c'est parfait , cela fonctionne

merci
Publicité
Poster une réponse
Anonyme