Erreur lors de l'xecution de mon programme [Résolu]

Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012
- - Dernière réponse : 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
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
62
3
Merci
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)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 203 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012
0
Merci
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
Commenter la réponse de tif27940
Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012
0
Merci
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
Commenter la réponse de tif27940