Fonction compute

Résolu
ViveLeRoi Messages postés 6 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 30 octobre 2010 - 7 avril 2008 à 21:56
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 9 avril 2008 à 00:03
Bonjour,

Je n'arrive pas à trouver l'expression exacte à mettre dans le paramêtre filter de la fonction compute, afin de filtrer les lignes du datatable qui ont le champ à nul d'un datacolumn soit:

matable.compute("Count("ChampCle")", "Champ2 is DBNull.value")

Champ2 Is DBNull.Value ne marche pas
Champ2 = DBNull.Value ne marche pas
Champ2 Is nothing ne marche pas
Champ2 = nothing ne marche pas
IsNull(Champ2) ne marche pas

que faut-il mettre ?
j'ai écumé le web mais j'ai rien trouvé, si quelqu'un à une idée sur l'expression, je suis preneur
Merci d'avance

JLB 1er

7 réponses

NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
8 avril 2008 à 14:07
Bonjour

"DBNull" est le type pour .NET, "null" est le type SQL.

Penses à mettre "Réponse acceptée" si ton pb est solutionné.

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
3
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
7 avril 2008 à 23:52
Salut
Langage inconnu pour moi.
Ton objet 'matable' est dimensionné comment, quel type ?
Es-tu sûr de travailler sous VB.Net ou bien travailles-tu sous Access directement (alors VBA) ?

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
ViveLeRoi Messages postés 6 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 30 octobre 2010
8 avril 2008 à 08:33
JLB 1er
0
ViveLeRoi Messages postés 6 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 30 octobre 2010
8 avril 2008 à 08:34
Salut Jack,

Je pensais avoir été assez clair dans mon explication aussi voici le code détaillé (en vb.net)

maBase as dataset
maTable as datatable
ChampCle as datacolumn
Champ2 as datacolumn
...
       ' Je passe l'initialisation de la base et de la table, tout cela fonctionnement correctement 
       ' Le ChampCle est de type integer toutes ses lignes (enregistrements) ont un nombre
       ' Le Champ2 est de type integer ses lignes ont soit un nombre, soit elles sont à nul (DBNull.value)
       ' Je désire calculer le nombre de ligne suivant le nombre mis dans Champ2

sub InitTableau()
Dim t() as integer
Dim ch as string
Redim t(5)
ch = "Count(ChampCle)
with maBase.maTable
t(0) = Compute(ch, "Champ2 Is DBNull.value")t(1) Compute(ch, "Champ2 1")t(2) Compute(ch, "Champ2 2")
...
        ' Le calcul des lignes dont le Champ2 est nul ne fonctionne pas
donc ma demande était : quelle expression doit on mettre dans le paramêtre Filter de la fonction compute, afin de filtrer les lignes d'enregistrement dont le Champ2 est à nul

J'espère que cette fois-ci j'ai été assez clair
Merci d'avance pour la réponse
JLB 1er

JLB 1er
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
8 avril 2008 à 12:29
Bonjour

Tu as essayé :
t(0) = Compute(ch, "Champ2 Is null")
?

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
ViveLeRoi Messages postés 6 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 30 octobre 2010
8 avril 2008 à 14:00
Salut NHenry

Je viens d'essayer t(0) = Compute(ch, "Champ2 Is Null") et tout fonctionne correctement !
mille merci

Moi je croyais que lorsque l'on travaillait avec des champs de base de donnée  il fallait toujours comparer avec DBNull.value d'où ma question

quelle est la différence entre DBNull.value et null ? et quand employer l'un ou l'autre ?

enfin ça fonctionne c'est le principal, et encore tous mes remerciements à toi

JLB 1er
0
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
9 avril 2008 à 00:03
Merci de ces précisions, NH
C'est justement le DBNull qui me faisait penser à un autre langage que .Net : 'connaissais pô.
0
Rejoignez-nous