Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/03/2011, 14h57   #1
Membre habitué
 
Inscription : août 2005
Messages : 365
Détails du profil
Informations personnelles :
Âge : 44
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : août 2005
Messages : 365
Points : 105
Points : 105
Par défaut erreur utilisation incorrecte de isnull

Bonjour

Je chercher à vérifier su un enregistrement existe dans une table afin de déclencher une action. Mais, j'ai une erreur isnull. Forcémment, puisque je lui demande si il est "null" de déclencher l'action !
Bref dans l'histoire c'est moi qui suis nul! Faut-il faire une déclaration de variable de type boolean ?
Dans ce code derniersejour est null . J'ai une erreur "utilisation incorrecte de null"

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
Private Sub BoutonNavigation236_Click()
 
 
    Dim dernierSigma, derniersejour As String
    Dim stwhere As Integer
 
    stwhere = Me!ID_Patient
    dernierSigma = DLast("sigma", "T_sejour", "ID_patient=" & Me!ID_Patient)
    derniersejour = DLast("ID_sejour", "T_sejour", "ID_patient=" & Me!ID_Patient)
    If IsNull(derniersejour) = True Then
    DoCmd.OpenForm "F_Sigma", , , stwhere
    Else
    Forms!F_accueil!SFN_Patient!SF_intervention.Filterby = "[ID_sejour]=" & derniersejour
    Forms!F_accueil!SFN_Patient!SF_intervention.FilterbyOn = True
    End If
End Sub
docjo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 15h22   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 742
Points : 10 742
Envoyer un message via MSN à jpcheck
salut,

au lieu de passer par ce test avec Isnull, je te reommande de passer par Nz en amont du test :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub BoutonNavigation236_Click()
 
 
    Dim dernierSigma, derniersejour As String
    Dim stwhere As Integer
 
    stwhere = Me!ID_Patient
    dernierSigma = Nz(DLast("sigma", "T_sejour", "ID_patient=" & Me!ID_Patient),"")
    derniersejour = Nz(DLast("ID_sejour", "T_sejour", "ID_patient=" & Me!ID_Patient),"")
    If derniersejour = "" Then
          DoCmd.OpenForm "F_Sigma", , , stwhere
    Else
        Forms!F_accueil!SFN_Patient!SF_intervention.Filterby = "[ID_sejour]=" & derniersejour
       Forms!F_accueil!SFN_Patient!SF_intervention.FilterbyOn = True
    End If
End Sub
pas certain que ton stwhere soit suffisant dans ton Docmd.Openform

a changer vraisemblablement en
Code :
DoCmd.OpenForm "F_Sigma", , , "ID_Patient=" & stwhere
sauf erreur
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 17h56   #3
Membre habitué
 
Inscription : août 2005
Messages : 365
Détails du profil
Informations personnelles :
Âge : 44
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : août 2005
Messages : 365
Points : 105
Points : 105
Merci, j'avais oublié NZ. Cela fonctionne sans problème.
docjo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h07.


 
 
 
 
Partenaires

Hébergement Web