Erreur d'exécution'94':

mohalesage Messages postés 162 Statut Membre -  
mohalesage Messages postés 162 Statut Membre -
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

  1. logisticien
     
    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 =)
    0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    0
  3. mohalesage Messages postés 162 Statut Membre 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
    0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mohalesage Messages postés 162 Statut Membre 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
    0
  7. mohalesage Messages postés 162 Statut Membre 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
    0