Vérifier un jeu d'enregistrements pour un champ vide
Je suis en train de pre-view
si un champ de recordset
est vide/null ou pas.
If IsNull(rs.Fields("fieldname")) = True Then ...
If IsNull(rs.Fields("fieldname")).Value = True Then ...
if IsNull(rs.Fields("fieldName").Value) Then...
Toutes ces méthodes déclenche un message d'erreur... Pourquoi? Comment puis-je vérifier si le recordset
est null, avant de m'attribuer une valeur à une variable.
essayez
N'a pas de travail =\
J'ai trouvé l'erreur. Je ne peux pas le comparer à un nullValue car il n'est pas nul, en fait il n'a même pas l'existence, sur le
If IsNull(rs.Fields("fieldname").Value) Then
...N'a pas de travail =\
if isnull(rs.field(NAME).value) / if not IsNull(rs.field(NAME).value)
devrait fonctionner. Vous pourriez vouloir vérifier qu'il n'y a pas quelque chose de bizarre avec la rs ou sur le terrain. Si vous obtenez désespérée, il suffit d'utiliser var = "" & rs.Fields("fieldname").Value
ou txtName = "" & rs.Fields("Name").Value
J'ai trouvé l'erreur. Je ne peux pas le comparer à un nullValue car il n'est pas nul, en fait il n'a même pas l'existence, sur le
recordset
, le terrain, il était censé recherche("fieldname") n'est pas sur le jeu d'enregistrements... -.-" Est-il possible d'en avoir un aperçu ?fields(x)
est l'autre façon d'accéder aux données (comme dans un For/Next boucle); dans lequel vous pouvez tester pour fields(x).Name
OriginalL'auteur PlayHardGoPro | 2013-10-29
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
IsDbNull()
à la place. DbNull est différente de Null.Modifier, il suffit de faire une boucle par les noms de champ et un booléen si il l'a trouvé, sinon utiliser un try catch structure.
IsDBNull
sur vb6 =\rs.Champs("fieldname") = Null
Il a été un certain temps depuis que j'ai écrit VB6, mais je pense que c'est valable.
J'ai trouvé l'erreur. Je ne peux pas le comparer à un nullValue car il n'est pas nul, en fait il n'a même pas l'existence, sur le jeu, le terrain, il était censé recherche("fieldname") n'est pas sur le jeu d'enregistrements... -.-" Est-il possible d'en avoir un aperçu ?
pas en VB6 🙂
OriginalL'auteur
Si je comprends bien, vous voulez vous assurer qu'un champ existe dans le jeu d'enregistrements. Si c'est correct, vous devez parcourir les champs à la recherche pour le domaine que vous recherchez, ou essayer d'accéder directement au champ et intercepter des erreurs. Voici une méthode qui effectue une itération de la collecte sur le terrain, et renvoie True si le champ existe.
OriginalL'auteur jac
Ici est une façon d'imprimer les colonnes d'une table.
Un aperçu de ce qui? Le jeu d'enregistrements?
Regardez, le domaine, je suis à la recherche, de l'e.g:
If (rs.fields("Name") <> "") Then ...
Mais le Nom du champ n'existe PAS sur que le jeu d'enregistrements. C'est pourquoi l'erreur est mise à feu... j'ai donc besoin d'un pourquoi, afin de vérifier que le terrain sur le jeu d'enregistrements sans tirer une erreur.J'ai édité ma réponse avec une solution élégante pour obtenir les noms des colonnes. Vous pouvez utiliser cette initialement pour stocker une liste d'entre eux et de vérifier ensuite si le nom est dans la liste. Il pourrait y avoir une solution plus élégante, mais c'est tout ce que j'ai trouvé pour l'instant.
OriginalL'auteur Calvin
Je suis en utilisant
AtValue
etAtField
aides comme ceMon type de coulée aides sont effectivement en utilisant
VariatChangeType
API (donc de travailler avec arrêt sur toutes les erreurs paramètre) à l'instar de ceOriginalL'auteur wqw
rs.EOF drapeau de dire si le jeu d'enregistrements est Vide ou n'est pas
Si Pas rs.EOF Alors
..De votre choix logique..
Fin Si
OriginalL'auteur Ajay Kumar Meda