detection rst!mail=Null Excel-access-ADO

fredl

XLDnaute Impliqué
Bonjour à tous,

j'interroge une table dans une base access par ADO et souhaite ne pas prendre en compte les lignes dont le champ "mail" est vide.
J'ai écris le code ci dessous qui fonctionne bien , sauf pour la reconnaissance du champ "Mail" lorsqu'il n'est pas renseigné.

la valeur de rst!Mail lorsque la macro tourne est : Null
comment la detecter?
J'ai essayé : if rst!Mail = Null ,if rst!Mail = 0, if rst!Mail = "", mais rien n'y fait....
Merci d'avance pour vos eventuels réponses.


///////////////////////////////////////////////////////////////////////////
Dim cnx As ADODB.Connection 'variable de connexion
Dim rst As ADODB.Recordset 'jeu d'enregistrement-ex:table
Set cnx = New ADODB.Connection 'creation objet cnx
Set rst = New ADODB.Recordset 'creation recordset
Dim vsql As String
Dim NomBaseDeDonnées As String
NomBaseDeDonnées = VChemin & "DistributionInterfaces\Prouesse.mdb"
cnx.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=" & NomBaseDeDonnées & ";" 'spécifique base access
rst.CursorLocation = adUseClient 'lieu de travail
rst.ActiveConnection = cnx
vsql = "SELECT T_Ressources.*, T_Rattachement.* " & _
"FROM T_Rattachement INNER JOIN T_Ressources ON T_Rattachement.NumRattachement=T_Ressources.NumRattachement;"
rst.Open vsql, cnx, , adLockOptimistic
Do While Not rst.EOF 'end of file -tant que le record set n'est pas vide


if rst!Mail = Null Then
GoTo 15
End If


ActiveCell.Offset(0, 0).FormulaR1C1 = rst!NomRes
ActiveCell.Offset(0, 1).FormulaR1C1 = rst!Prénom
ActiveCell.Offset(0, 2).FormulaR1C1 = rst!Labo
ActiveCell.Offset(0, 3).FormulaR1C1 = rst!Téléphone
ActiveCell.Offset(0, 4).FormulaR1C1 = rst!Pièce
ActiveCell.Offset(0, 5).FormulaR1C1 = rst!Batiment
'If len(rst!Bip) <> 0 Then ActiveCell.Offset(0, 7).FormulaR1C1 = rst!Bip
If Right(rst!Fin, 4) <> "2020" Then ActiveCell.Offset(0, 6).FormulaR1C1 = rst!Fin
'ActiveCell.Offset(0, -1).FormulaR1C1 = rst!login
'ActiveCell.Offset(0, 13).FormulaR1C1 = rst!Commentaire
'ActiveCell.Offset(0, 14).FormulaR1C1 = rst!Annexe
'ActiveCell.Offset(0, 2).FormulaR1C1 = rst!Début
'ActiveCell.Offset(0, 4).FormulaR1C1 = rst!Affect
'ActiveCell.Offset(0, 5).FormulaR1C1 = rst!NumRattachement
'ActiveCell.Offset(0, 6).FormulaR1C1 = rst!FamilleSalarié
'ActiveCell.Offset(0, 7).FormulaR1C1 = rst!Statut
'ActiveCell.Offset(0, 7).FormulaR1C1 = rst!Temps
'ActiveCell.Offset(0, 15).FormulaR1C1 = rst!droits
'ActiveCell.Offset(0, 16).FormulaR1C1 = rst!fichier
'ActiveCell.Offset(0, 17).FormulaR1C1 = rst!lp
ActiveCell.Range("A1:Q1").Select
Select Case rst!FamilleSalarié
Case "TH": Selection.Font.ColorIndex = 3 'rouge thesard
Case "PT": Selection.Font.ColorIndex = 5 'bleu post doc
Case "IN": Selection.Font.ColorIndex = 10 'vert
Case "DR": Selection.Font.ColorIndex = 44 'orange
'Case "TH": Selection.Font.ColorIndex = 13 'violet
End Select
ActiveCell.Offset(1, 0).Select
15 rst.MoveNext

Loop
rst.Close
Set rst = Nothing
cnx.Close
Set cnx = Nothing
 
G

Guest

Guest
Re : detection rst!mail=Null Excel-access-ADO

Bonjour Fred,

Code:
IF IsNull(rst!Mail) Then


D'ailleurs je mettrais plutôt ceci:

Code:
If not IsNul(rst!Mail) then
.....Traitement
End if
rst.moveNext
Loop
A+
 
Dernière modification par un modérateur:

Discussions similaires

Statistiques des forums

Discussions
312 482
Messages
2 088 766
Membres
103 955
dernier inscrit
mikaveli