Bonjour,
voici ce que j'essai de faire :
compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception
(Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet
Dim i as long
Dim champ As String
Set Table =currentdb.openrecordset("Table1")
For i=1 to Table.RecordCount
Table.Edit
set champ = Table!Champ1
>>>>Mon pb est là si le champ est null il faut que je le compte <<<<<<<<<
'' Msgbox("N?D'enregistrement :" & i)
Table.Movenext
Next i
Tables.Close
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Charles ERNST
vous ne pouvez pas affecter une valeur null à une variable de type string si Table!Champ1 est null, set champ = Table!Champ1 provoquera une erreur faut faire : Dim champ As variant,cpte as long puis plus loin cpte=0 Set Table =currentdb.openrecordset("Table1") table.movelast table.movefirst For i=1 to Table.RecordCount Table.Edit set champ = Table!Champ1 if isnull( champ) then cpte=cpte+1 Msgbox("N?D'enregistrement :" & i) end if Next i Tables.Close
a la sortie, cpte contien le nombre d'enregistrements où le champ1 est null *
"laurent" a écrit dans le message de news:bql8gh$4nm$
Bonjour, voici ce que j'essai de faire : compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception (Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet Dim i as long Dim champ As String
Set Table =currentdb.openrecordset("Table1") For i=1 to Table.RecordCount Table.Edit set champ = Table!Champ1
Mon pb est là si le champ est null il faut que je le compte <<<<<<<<< '' Msgbox("N?D'enregistrement :" & i)
Table.Movenext Next i Tables.Close
Merci pour votre aide
vous ne pouvez pas affecter une valeur null à une variable de type string
si Table!Champ1 est null, set champ = Table!Champ1 provoquera une erreur
faut faire : Dim champ As variant,cpte as long
puis plus loin
cpte=0
Set Table =currentdb.openrecordset("Table1")
table.movelast
table.movefirst
For i=1 to Table.RecordCount
Table.Edit
set champ = Table!Champ1
if isnull( champ) then
cpte=cpte+1
Msgbox("N?D'enregistrement :" & i)
end if
Next i
Tables.Close
a la sortie, cpte contien le nombre d'enregistrements où le champ1 est null
*
"laurent" <laurent.860@wanadoo.fr> a écrit dans le message de
news:bql8gh$4nm$1@news-reader1.wanadoo.fr...
Bonjour,
voici ce que j'essai de faire :
compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception
(Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet
Dim i as long
Dim champ As String
Set Table =currentdb.openrecordset("Table1")
For i=1 to Table.RecordCount
Table.Edit
set champ = Table!Champ1
Mon pb est là si le champ est null il faut que je le compte <<<<<<<<<
'' Msgbox("N?D'enregistrement :" & i)
vous ne pouvez pas affecter une valeur null à une variable de type string si Table!Champ1 est null, set champ = Table!Champ1 provoquera une erreur faut faire : Dim champ As variant,cpte as long puis plus loin cpte=0 Set Table =currentdb.openrecordset("Table1") table.movelast table.movefirst For i=1 to Table.RecordCount Table.Edit set champ = Table!Champ1 if isnull( champ) then cpte=cpte+1 Msgbox("N?D'enregistrement :" & i) end if Next i Tables.Close
a la sortie, cpte contien le nombre d'enregistrements où le champ1 est null *
"laurent" a écrit dans le message de news:bql8gh$4nm$
Bonjour, voici ce que j'essai de faire : compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception (Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet Dim i as long Dim champ As String
Set Table =currentdb.openrecordset("Table1") For i=1 to Table.RecordCount Table.Edit set champ = Table!Champ1
Mon pb est là si le champ est null il faut que je le compte <<<<<<<<< '' Msgbox("N?D'enregistrement :" & i)
Table.Movenext Next i Tables.Close
Merci pour votre aide
3stone
Salut,
"laurent"
compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception (Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet Dim i as long Dim champ As String
Set Table =currentdb.openrecordset("Table1") For i=1 to Table.RecordCount Table.Edit set champ = Table!Champ1
Mon pb est là si le champ est null il faut que je le compte <<<<<<<<< '' Msgbox("N?D'enregistrement :" & i)
Table.Movenext Next i Tables.Close
Si ta table est vide, tu obtiendra une erreur... Pourquoi faire un Table.Edit pour attribuer la valeur d'un champ ? Et pourquoi ouvrir et passer dans un recodset... juste pour compter ?
Dim lngCompteur As Long lngCompteur = DCount("*","Table1") - DCount("[Champ1]","Table1")
devrait suffire pour te donner le nombre de [Champ1] vide de la "Table1"
Ok ?
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------
Salut,
"laurent"
compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception
(Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet
Dim i as long
Dim champ As String
Set Table =currentdb.openrecordset("Table1")
For i=1 to Table.RecordCount
Table.Edit
set champ = Table!Champ1
Mon pb est là si le champ est null il faut que je le compte <<<<<<<<<
'' Msgbox("N?D'enregistrement :" & i)
Table.Movenext
Next i
Tables.Close
Si ta table est vide, tu obtiendra une erreur...
Pourquoi faire un Table.Edit pour attribuer la valeur d'un champ ?
Et pourquoi ouvrir et passer dans un recodset... juste pour compter ?
Dim lngCompteur As Long
lngCompteur = DCount("*","Table1") - DCount("[Champ1]","Table1")
devrait suffire pour te donner le nombre de [Champ1] vide de la "Table1"
Ok ?
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception (Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet Dim i as long Dim champ As String
Set Table =currentdb.openrecordset("Table1") For i=1 to Table.RecordCount Table.Edit set champ = Table!Champ1
Mon pb est là si le champ est null il faut que je le compte <<<<<<<<< '' Msgbox("N?D'enregistrement :" & i)
Table.Movenext Next i Tables.Close
Si ta table est vide, tu obtiendra une erreur... Pourquoi faire un Table.Edit pour attribuer la valeur d'un champ ? Et pourquoi ouvrir et passer dans un recodset... juste pour compter ?
Dim lngCompteur As Long lngCompteur = DCount("*","Table1") - DCount("[Champ1]","Table1")
devrait suffire pour te donner le nombre de [Champ1] vide de la "Table1"
Ok ?
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------
3stone
Bonsoir Charles,
"Charles ERNST"
Dim rs As Dao.Recordset, cpte as long cpte=0 Set rs =currentdb.openrecordset("Table1") Do Until rs.Eof if isnull( rs!champ1) then cpte=cpte+1 end if rs.Movenext Loop rs.Close set rs=Nothing MsgBox "Il y a : " & cpte & " enregistrements."
serait plus propre et ne donnerait pas d'erreur sur un .movelast dans le cas où la table serait vide...
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------
Bonsoir Charles,
"Charles ERNST"
Dim rs As Dao.Recordset, cpte as long
cpte=0
Set rs =currentdb.openrecordset("Table1")
Do Until rs.Eof
if isnull( rs!champ1) then
cpte=cpte+1
end if
rs.Movenext
Loop
rs.Close
set rs=Nothing
MsgBox "Il y a : " & cpte & " enregistrements."
serait plus propre et ne donnerait pas d'erreur sur un .movelast
dans le cas où la table serait vide...
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
Dim rs As Dao.Recordset, cpte as long cpte=0 Set rs =currentdb.openrecordset("Table1") Do Until rs.Eof if isnull( rs!champ1) then cpte=cpte+1 end if rs.Movenext Loop rs.Close set rs=Nothing MsgBox "Il y a : " & cpte & " enregistrements."
serait plus propre et ne donnerait pas d'erreur sur un .movelast dans le cas où la table serait vide...
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------
laurent
Merci à vous deux pour votre aide "3stone" a écrit dans le message de news: 3fce4a80$0$3229$
Salut,
"laurent"
compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception (Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet Dim i as long Dim champ As String
Set Table =currentdb.openrecordset("Table1") For i=1 to Table.RecordCount Table.Edit set champ = Table!Champ1
Mon pb est là si le champ est null il faut que je le compte <<<<<<<<<
'' Msgbox("N?D'enregistrement :" & i) Table.Movenext Next i Tables.Close
Si ta table est vide, tu obtiendra une erreur... Pourquoi faire un Table.Edit pour attribuer la valeur d'un champ ? Et pourquoi ouvrir et passer dans un recodset... juste pour compter ?
Dim lngCompteur As Long lngCompteur = DCount("*","Table1") - DCount("[Champ1]","Table1")
devrait suffire pour te donner le nombre de [Champ1] vide de la "Table1"
Ok ?
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------
Merci à vous deux pour votre aide
"3stone" <3stone@skynet.be> a écrit dans le message de news:
3fce4a80$0$3229$ba620e4c@reader0.news.skynet.be...
Salut,
"laurent"
compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception
(Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet
Dim i as long
Dim champ As String
Set Table =currentdb.openrecordset("Table1")
For i=1 to Table.RecordCount
Table.Edit
set champ = Table!Champ1
Mon pb est là si le champ est null il faut que je le compte
<<<<<<<<<
'' Msgbox("N?D'enregistrement :" & i)
Table.Movenext
Next i
Tables.Close
Si ta table est vide, tu obtiendra une erreur...
Pourquoi faire un Table.Edit pour attribuer la valeur d'un champ ?
Et pourquoi ouvrir et passer dans un recodset... juste pour compter ?
Dim lngCompteur As Long
lngCompteur = DCount("*","Table1") - DCount("[Champ1]","Table1")
devrait suffire pour te donner le nombre de [Champ1] vide de la "Table1"
Ok ?
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
Merci à vous deux pour votre aide "3stone" a écrit dans le message de news: 3fce4a80$0$3229$
Salut,
"laurent"
compter dans une ou plusieurs tables le nombre de champs null .
Le pb est que lorsque je trouve un champ null je me prends une exception (Normale), mais je ne sais pas trop comment la gérer (Je debute en VBA).
Dim Table as RecordSet Dim i as long Dim champ As String
Set Table =currentdb.openrecordset("Table1") For i=1 to Table.RecordCount Table.Edit set champ = Table!Champ1
Mon pb est là si le champ est null il faut que je le compte <<<<<<<<<
'' Msgbox("N?D'enregistrement :" & i) Table.Movenext Next i Tables.Close
Si ta table est vide, tu obtiendra une erreur... Pourquoi faire un Table.Edit pour attribuer la valeur d'un champ ? Et pourquoi ouvrir et passer dans un recodset... juste pour compter ?
Dim lngCompteur As Long lngCompteur = DCount("*","Table1") - DCount("[Champ1]","Table1")
devrait suffire pour te donner le nombre de [Champ1] vide de la "Table1"
Ok ?
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------