Erreur lors de l'xecution de mon programme

Résolu
tif27940 Messages postés 74 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 21 février 2012 - 28 déc. 2011 à 12:17
tif27940 Messages postés 74 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 21 février 2012 - 28 déc. 2011 à 14:29
Bonjour,

voici mon programme :
Dim nom As String
        Dim pnom As String
        Dim civ As String
        Dim tel As String
        Dim fax As String
        Dim etab As String


        Try
            'Create a Connection object.
            myConn = New SqlConnection("Data Source=TIPHAINE\SQLEXPRESS;Initial Catalog=Ciageofficent1;Integrated Security=True")

            'Create a Command object.
            myCmd = myConn.CreateCommand
            myCmd.CommandText "select distinct Contact.Nom, Contact.Prenom, Contact.Civilite, Adresse.Tel, Adresse.Fax, Etablissement.Etablissement from Contact, Adr_Contact, Adresse, Etablissement where Contact.Contact_Id Adr_Contact.Contact_Id and Adr_Contact.Adresse_Id=Adresse.Adresse_Id and Adresse.Adresse_Id=Etablissement.Adresse_ID and Contact.Fonc_Id=39 and Contact.Contact_Id NOT IN (Select Contact_Id from Dossier where Dte_Ouverture >= dateadd(month,-6,getdate()) and Dte_Ouverture <= dateadd(month,-12,getdate()) ) order by Contact.Nom, Contact.Prenom asc;"

            'Open the connection.
            myConn.Open()

            myReader = myCmd.ExecuteReader()
            'Concatenate the query result into a string.
            Do While myReader.Read
                nom = Trim$(myReader.GetString(0))
                pnom = Trim$(myReader.GetString(1))
                civ = Trim$(myReader.GetString(2))
                tel = Trim$(myReader.GetString(3))
                fax = Trim$(myReader.GetString(4))
                etab = Trim$(myReader.GetString(5))
                results = results & nom & ";" & pnom & ";" & civ & ";" & tel & ";" & fax & ";" & etab & "."

            Loop



            'Close the reader and the database connection.
            myReader.Close()
            myConn.Close()

            Dim cMsg As String
            cMsg = ""

            cMsg = "Bonjour"
            cMsg = cMsg & "
" & results



            EnvoiMail("tgauthier@ciage.fr", "Etude maillard : Notaire inactif", cMsg, "tgauthier@ciage.fr")
            Console.WriteLine("Notaire inactif envoyés")

        Catch
            Console.WriteLine("Erreur dans le traitement : " & ErrorToString())
        End Try




lors de l’exécution j'ai une erreur dans le traitement qui me dit que "Erreur dans le traitement : les données sont null. cette méthode ou propriété ne peut pas être appelée sur des valeurs null"

je ne comprend pas d'ou sa vient
merci de vos réponses

3 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
28 déc. 2011 à 12:57
Salut

Un rapport avec ta précédente question ?
Si cette dernière est résolue, tu pourras le notifier, qu'on y réponde pas pour rien.

Sur quelle ligne apparait cette erreur ?

Pour être lisible et débogable, utilise les séparateurs de ligne "_" pour couper tes requètes. Une requète de 3km de long est illisible
myCmd.CommandText = _
    "select distinct Contact.Nom, " & _
    "                Contact.Prenom, " & _
    "                Contact.Civilite, " & _
    "                Adresse.Tel, " & _
    "                Adresse.Fax, " & _
    "                Etablissement.Etablissement "
myCmd.CommandText = myCmd.CommandText & _
    "   from Contact, Adr_Contact, Adresse, Etablissement " & _
    "  where Contact.Contact_Id     = Adr_Contact.Contact_Id " & _
    "    and Adr_Contact.Adresse_Id = Adresse.Adresse_Id " & _
    "    and Adresse.Adresse_Id     = Etablissement.Adresse_ID " & _
    "    and Contact.Fonc_Id        = 39 " & _
    "    and Contact.Contact_Id NOT IN " & _
    "      (Select Contact_Id " & _
    "         from Dossier " & _
    "        where Dte_Ouverture >= dateadd(month,-6,getdate()) " & _
    "          and Dte_Ouverture <= dateadd(month,-12,getdate())" & _
    "      )" & _
    "  order by Contact.Nom, Contact.Prenom asc;"

Préfère Between #date1# And #date2#
plutôt que < et >

Dte_Ouverture est-il bien un champ de type date dans la table ?
Existe t-il des données NULL dans ce champ ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
tif27940 Messages postés 74 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 21 février 2012
28 déc. 2011 à 13:57
dte-ouverture est bien un champ date et je viens de voir que parfois le fax ou un autre champ et a nul mais sa c'est de la faute de celui ou celle qui enregistre de nouveau contact et la j'y peut pas grand chose
0
tif27940 Messages postés 74 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 21 février 2012
28 déc. 2011 à 14:29
en faite le problème était de ma faute car j'ai ajouter un contact moi même directement dans la bdd et c'est que je n'ai pas remplit le champ fax qui c'est mie a nul donc merci le problème est resolut
0