Erreur d'exécution'94':

Bonjour les amis

mon problème : est quant je sélectionne un matricule sur la combox, le VB6 me renvoie le message :

Erreur d'exécution'94'
Utilisation non autorisé de NULL

ce message apparait quant la BD d'un objet est vide.
je ne sais pas comment contourner ce problème

If KeyAscii = 13 Then
If RS.EOF And RS.BOF Then
MsgBox "Ce Matricule n'existe pas", vbCritical + vbMsgBoxRight, "Erreur"
Exit Sub
cmbMatricule.SetFocus

Else


RS.MoveFirst
      

      
      
      
TCin = RS![CIN]
TNom = RS![NOM]
TPrenom = RS![PRENOM]
lblCumulHn = RS![CUMULHN]
lblCumulHSup = RS![CUMULHSUP]
lblCumulHAlatache = RS![CUMULHALATACHE]

End If

RS.Close
End If
cmbHEntM.SetFocus
End If


l'application se bloque au niveau de :

lblCumulHn = RS![CUMULHN]
lblCumulHSup = RS![CUMULHSUP]
lblCumulHAlatache = RS![CUMULHALATACHE]



quant les RS sont vides

Merci pour votre aide

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Tu peux commenter ton code à la fin, car j'ai pas très bien saisi le concept de tes déclarations de variables sur les trois dernières lignes =)
    1. Bonjour,

      Si les trois derniers objets sont des Labels, il faut ecrire:

      lblCumulHn.Caption = RS![CUMULHN]
      lblCumulHSup.Caption = RS![CUMULHSUP]
      lblCumulHAlatache.Caption = RS![CUMULHALATACHE]

      Bonne suite
      1. Bonjour l'ami,

        même en écrivant :

        lblCumulHn.Caption = RS![CUMULHN] 
        lblCumulHSup.Caption = RS![CUMULHSUP] 
        lblCumulHAlatache.Caption = RS![CUMULHALATACHE] 


        le problème persiste

        le même message est affiché.( Notez bien que je travail dans un environnement de VB6 avec un base de données localisée en MS access 2003, avec une liaison ADO )

        je n'arrive pas à faire afficher les label des cumuls avec la valeur 00:00:00 ( heure) pour un nouveau matricule.

        Merci pour votre aide
        1. Bonjour,

          votre erreur est: Utilisation non autorisé de NULL. Vos champs ont une valeur NULL ou ils ont une valeur

          pour eviter erreur a chaques tests (je vous montre pour le 1er):
          If Not IsNull(RS![CUMULHN]) Then 
              lblCumulHn.Caption = RS![CUMULHN] 
          Else 
              lblCumulHn.Caption 
          End If
          1. Bonjour l'ami,
            A priori, les champs concernés par cette erreur n'ont aucune valeur
            Votre suggestion je l'essairai une fois rentré chez moi.
            Merci pour votre disponiblité.

            A plus
            1. Bonjour l'ami,

              De prime, votre suggestion a réussi, et pour vous mettre dans le décor, je vous présente le code que j'ai écris, avec un peu de réajustement.

              Dim XCumul1HAlatache As Date
              Dim y
              Dim Ok As Date
              Ok = #12:00:00 AM#
              
              If Not IsNull(RS![CUMULHALATACHE]) Then
              XCumul1HAlatache = RS![CUMULHALATACHE]
              Else
              XCumul1HAlatache = Ok
              End If
              
              y = XCumul1HAlatache + CDate(lblAlatache)
              lblCumulHAlatache.Caption = y
              


              Merci du fond du coeur pour votre disponibilité.

              A plus