J'ai une macro dont le code est ci dessus. JE m'apercois que lors de
l'utilisation de la macro, il prend des chiffres dejà stocker dans le
recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou
l'insérer dans la macro
Sub fcI() '
'(nomtable, bodyseries)
Dim WS As Workspace
Dim BD As DAO.Database
Dim RS As DAO.Recordset
NomBD = "S:\cor2004.mdb"
Set WS = DBEngine.Workspaces(0)
Set BD = WS.OpenDatabase(NomBD)
nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA"
req = req + " FROM " + nomtable
req = req + " GROUP BY [Additional Field 2],[Account Position], [Business
Unit],[Additional Field 1]"
req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" +
Chr(34)
req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34)
req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34)
req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req)
n = RS.RecordCount
If RS.RecordCount = 0 Then
Range("e1").CopyFromRecordset RS
Else
Range("d2") = RS.Fields("CA").Value
End If
End Sub
Merci d'avance
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
isabelle
bonjour Hugues,
on ne peut pas supprimer un objet Container de la collection Containers d'un objet Database, par contre
lorsque tu ouvre un objet Recordset contenant au moins un enregistrement, le premier est l'enregistrement en cours. les propriétés BOF et EOF ont alors la valeur False qu'elles conservent jusqu'à ce que l'on se déplace au-delà du début ou de la fin de l'objet Recordset à l'aide des méthodes MovePrevious ou MoveNext respectivement. il n'y a alors pas d'enregistrement en cours, voire aucun enregistrement.
Dim WS As Workspace Dim BD As DAO.Database Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb" Set WS = DBEngine.Workspaces(0) Set BD = WS.OpenDatabase(NomBD) nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA" req = req + " FROM " + nomtable req = req + " GROUP BY [Additional Field 2],[Account Position], [Business Unit],[Additional Field 1]" req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" + Chr(34) req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34) req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34) req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req) n = RS.RecordCount If RS.RecordCount = 0 Then Range("e1").CopyFromRecordset RS Else Range("d2") = RS.Fields("CA").Value End If End Sub Merci d'avance
bonjour Hugues,
on ne peut pas supprimer un objet Container de la collection Containers d'un objet Database, par contre
lorsque tu ouvre un objet Recordset contenant au moins un enregistrement, le premier est l'enregistrement en cours. les
propriétés BOF et EOF ont alors la valeur False qu'elles conservent jusqu'à ce que l'on se déplace au-delà du début ou
de la fin de l'objet Recordset à l'aide des méthodes MovePrevious ou MoveNext respectivement. il n'y a alors pas
d'enregistrement en cours, voire aucun enregistrement.
Dim WS As Workspace
Dim BD As DAO.Database
Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb"
Set WS = DBEngine.Workspaces(0)
Set BD = WS.OpenDatabase(NomBD)
nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA"
req = req + " FROM " + nomtable
req = req + " GROUP BY [Additional Field 2],[Account Position], [Business
Unit],[Additional Field 1]"
req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" +
Chr(34)
req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34)
req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34)
req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req)
n = RS.RecordCount
If RS.RecordCount = 0 Then
Range("e1").CopyFromRecordset RS
Else
Range("d2") = RS.Fields("CA").Value
End If
End Sub
Merci d'avance
on ne peut pas supprimer un objet Container de la collection Containers d'un objet Database, par contre
lorsque tu ouvre un objet Recordset contenant au moins un enregistrement, le premier est l'enregistrement en cours. les propriétés BOF et EOF ont alors la valeur False qu'elles conservent jusqu'à ce que l'on se déplace au-delà du début ou de la fin de l'objet Recordset à l'aide des méthodes MovePrevious ou MoveNext respectivement. il n'y a alors pas d'enregistrement en cours, voire aucun enregistrement.
Dim WS As Workspace Dim BD As DAO.Database Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb" Set WS = DBEngine.Workspaces(0) Set BD = WS.OpenDatabase(NomBD) nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA" req = req + " FROM " + nomtable req = req + " GROUP BY [Additional Field 2],[Account Position], [Business Unit],[Additional Field 1]" req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" + Chr(34) req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34) req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34) req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req) n = RS.RecordCount If RS.RecordCount = 0 Then Range("e1").CopyFromRecordset RS Else Range("d2") = RS.Fields("CA").Value End If End Sub Merci d'avance
michdenis
Bonjour Hughes,
Je ne comprends pas ce que tu veux faire !
" Je voudrais savoir le code pour nettoyer ce recordset "
Qu'est-ce que cela veut dire ? Effacer les données dans la table d'origine d'où origine ces données ? Vider la VARIABLE contenant le recordset ? Autre chose ?
Salutations!
"Hugues" a écrit dans le message de news:
J'ai une macro dont le code est ci dessus. JE m'apercois que lors de l'utilisation de la macro, il prend des chiffres dejà stocker dans le recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou l'insérer dans la macro Sub fcI() ' '(nomtable, bodyseries)
Dim WS As Workspace Dim BD As DAO.Database Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb" Set WS = DBEngine.Workspaces(0) Set BD = WS.OpenDatabase(NomBD) nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA" req = req + " FROM " + nomtable req = req + " GROUP BY [Additional Field 2],[Account Position], [Business Unit],[Additional Field 1]" req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" + Chr(34) req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34) req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34) req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req) n = RS.RecordCount If RS.RecordCount = 0 Then Range("e1").CopyFromRecordset RS Else Range("d2") = RS.Fields("CA").Value End If End Sub Merci d'avance
Bonjour Hughes,
Je ne comprends pas ce que tu veux faire !
" Je voudrais savoir le code pour nettoyer ce recordset "
Qu'est-ce que cela veut dire ? Effacer les données dans la table d'origine d'où origine ces données ? Vider la VARIABLE
contenant le recordset ? Autre chose ?
Salutations!
"Hugues" <Hugues@discussions.microsoft.com> a écrit dans le message de news:
A1B12B67-1223-496B-87E4-7EE9E6C0C804@microsoft.com...
J'ai une macro dont le code est ci dessus. JE m'apercois que lors de
l'utilisation de la macro, il prend des chiffres dejà stocker dans le
recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou
l'insérer dans la macro
Sub fcI() '
'(nomtable, bodyseries)
Dim WS As Workspace
Dim BD As DAO.Database
Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb"
Set WS = DBEngine.Workspaces(0)
Set BD = WS.OpenDatabase(NomBD)
nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA"
req = req + " FROM " + nomtable
req = req + " GROUP BY [Additional Field 2],[Account Position], [Business
Unit],[Additional Field 1]"
req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" +
Chr(34)
req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34)
req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34)
req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req)
n = RS.RecordCount
If RS.RecordCount = 0 Then
Range("e1").CopyFromRecordset RS
Else
Range("d2") = RS.Fields("CA").Value
End If
End Sub
Merci d'avance
" Je voudrais savoir le code pour nettoyer ce recordset "
Qu'est-ce que cela veut dire ? Effacer les données dans la table d'origine d'où origine ces données ? Vider la VARIABLE contenant le recordset ? Autre chose ?
Salutations!
"Hugues" a écrit dans le message de news:
J'ai une macro dont le code est ci dessus. JE m'apercois que lors de l'utilisation de la macro, il prend des chiffres dejà stocker dans le recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou l'insérer dans la macro Sub fcI() ' '(nomtable, bodyseries)
Dim WS As Workspace Dim BD As DAO.Database Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb" Set WS = DBEngine.Workspaces(0) Set BD = WS.OpenDatabase(NomBD) nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA" req = req + " FROM " + nomtable req = req + " GROUP BY [Additional Field 2],[Account Position], [Business Unit],[Additional Field 1]" req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" + Chr(34) req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34) req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34) req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req) n = RS.RecordCount If RS.RecordCount = 0 Then Range("e1").CopyFromRecordset RS Else Range("d2") = RS.Fields("CA").Value End If End Sub Merci d'avance
Hugues
Je sais que je stocke des données dans ce recordset. Ce que je voudrais, c'est vider les données contenues dans le recordset afin que quand je fais tourner la macro, il ne affiche pas des données anciennes mais les nouvelles. Je voudrais qu'avant de stocker des valeurs le Recordset soit vierge, qu'il ne contienne pas de données
Salutations
Hugues
"michdenis" wrote:
Bonjour Hughes,
Je ne comprends pas ce que tu veux faire !
" Je voudrais savoir le code pour nettoyer ce recordset "
Qu'est-ce que cela veut dire ? Effacer les données dans la table d'origine d'où origine ces données ? Vider la VARIABLE contenant le recordset ? Autre chose ?
Salutations!
"Hugues" a écrit dans le message de news:
J'ai une macro dont le code est ci dessus. JE m'apercois que lors de l'utilisation de la macro, il prend des chiffres dejà stocker dans le recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou l'insérer dans la macro Sub fcI() ' '(nomtable, bodyseries)
Dim WS As Workspace Dim BD As DAO.Database Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb" Set WS = DBEngine.Workspaces(0) Set BD = WS.OpenDatabase(NomBD) nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA" req = req + " FROM " + nomtable req = req + " GROUP BY [Additional Field 2],[Account Position], [Business Unit],[Additional Field 1]" req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" + Chr(34) req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34) req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34) req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req) n = RS.RecordCount If RS.RecordCount = 0 Then Range("e1").CopyFromRecordset RS Else Range("d2") = RS.Fields("CA").Value End If End Sub Merci d'avance
Je sais que je stocke des données dans ce recordset.
Ce que je voudrais, c'est vider les données contenues dans le recordset afin
que quand je fais tourner la macro, il ne affiche pas des données anciennes
mais les nouvelles.
Je voudrais qu'avant de stocker des valeurs le Recordset soit vierge, qu'il
ne contienne pas de données
Salutations
Hugues
"michdenis" wrote:
Bonjour Hughes,
Je ne comprends pas ce que tu veux faire !
" Je voudrais savoir le code pour nettoyer ce recordset "
Qu'est-ce que cela veut dire ? Effacer les données dans la table d'origine d'où origine ces données ? Vider la VARIABLE
contenant le recordset ? Autre chose ?
Salutations!
"Hugues" <Hugues@discussions.microsoft.com> a écrit dans le message de news:
A1B12B67-1223-496B-87E4-7EE9E6C0C804@microsoft.com...
J'ai une macro dont le code est ci dessus. JE m'apercois que lors de
l'utilisation de la macro, il prend des chiffres dejà stocker dans le
recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou
l'insérer dans la macro
Sub fcI() '
'(nomtable, bodyseries)
Dim WS As Workspace
Dim BD As DAO.Database
Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb"
Set WS = DBEngine.Workspaces(0)
Set BD = WS.OpenDatabase(NomBD)
nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA"
req = req + " FROM " + nomtable
req = req + " GROUP BY [Additional Field 2],[Account Position], [Business
Unit],[Additional Field 1]"
req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" +
Chr(34)
req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34)
req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34)
req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req)
n = RS.RecordCount
If RS.RecordCount = 0 Then
Range("e1").CopyFromRecordset RS
Else
Range("d2") = RS.Fields("CA").Value
End If
End Sub
Merci d'avance
Je sais que je stocke des données dans ce recordset. Ce que je voudrais, c'est vider les données contenues dans le recordset afin que quand je fais tourner la macro, il ne affiche pas des données anciennes mais les nouvelles. Je voudrais qu'avant de stocker des valeurs le Recordset soit vierge, qu'il ne contienne pas de données
Salutations
Hugues
"michdenis" wrote:
Bonjour Hughes,
Je ne comprends pas ce que tu veux faire !
" Je voudrais savoir le code pour nettoyer ce recordset "
Qu'est-ce que cela veut dire ? Effacer les données dans la table d'origine d'où origine ces données ? Vider la VARIABLE contenant le recordset ? Autre chose ?
Salutations!
"Hugues" a écrit dans le message de news:
J'ai une macro dont le code est ci dessus. JE m'apercois que lors de l'utilisation de la macro, il prend des chiffres dejà stocker dans le recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou l'insérer dans la macro Sub fcI() ' '(nomtable, bodyseries)
Dim WS As Workspace Dim BD As DAO.Database Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb" Set WS = DBEngine.Workspaces(0) Set BD = WS.OpenDatabase(NomBD) nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA" req = req + " FROM " + nomtable req = req + " GROUP BY [Additional Field 2],[Account Position], [Business Unit],[Additional Field 1]" req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" + Chr(34) req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34) req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34) req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req) n = RS.RecordCount If RS.RecordCount = 0 Then Range("e1").CopyFromRecordset RS Else Range("d2") = RS.Fields("CA").Value End If End Sub Merci d'avance
michdenis
Bonjour Hughes,
à chaque fois que tu utilises une ligne de commande comme celle-ci ,
Set RS = BD.OpenRecordset(req)
Nonobstant ce que contenait le RS(recordset) avant cette d'exécuter cette ligne de commande, après l'exécution, seules les nouvelles données contenues dans la nouvelle requête feront parti du recordset ....
Si tu veux vider la variable Rs, comme celle-ci représente un objet de type RecordSet, il s'agit tout simplement de fermer le recordset avec une ligne de code comme ceci ;`
Rs.Close
Salutations!
"Hugues" a écrit dans le message de news:
Je sais que je stocke des données dans ce recordset. Ce que je voudrais, c'est vider les données contenues dans le recordset afin que quand je fais tourner la macro, il ne affiche pas des données anciennes mais les nouvelles. Je voudrais qu'avant de stocker des valeurs le Recordset soit vierge, qu'il ne contienne pas de données
Salutations
Hugues
"michdenis" wrote:
Bonjour Hughes,
Je ne comprends pas ce que tu veux faire !
" Je voudrais savoir le code pour nettoyer ce recordset "
Qu'est-ce que cela veut dire ? Effacer les données dans la table d'origine d'où origine ces données ? Vider la VARIABLE contenant le recordset ? Autre chose ?
Salutations!
"Hugues" a écrit dans le message de news:
J'ai une macro dont le code est ci dessus. JE m'apercois que lors de l'utilisation de la macro, il prend des chiffres dejà stocker dans le recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou l'insérer dans la macro Sub fcI() ' '(nomtable, bodyseries)
Dim WS As Workspace Dim BD As DAO.Database Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb" Set WS = DBEngine.Workspaces(0) Set BD = WS.OpenDatabase(NomBD) nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA" req = req + " FROM " + nomtable req = req + " GROUP BY [Additional Field 2],[Account Position], [Business Unit],[Additional Field 1]" req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" + Chr(34) req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34) req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34) req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req) n = RS.RecordCount If RS.RecordCount = 0 Then Range("e1").CopyFromRecordset RS Else Range("d2") = RS.Fields("CA").Value End If End Sub Merci d'avance
Bonjour Hughes,
à chaque fois que tu utilises une ligne de commande comme celle-ci ,
Set RS = BD.OpenRecordset(req)
Nonobstant ce que contenait le RS(recordset) avant cette d'exécuter cette ligne de commande, après l'exécution, seules
les nouvelles données contenues dans la nouvelle requête feront parti du recordset ....
Si tu veux vider la variable Rs, comme celle-ci représente un objet de type RecordSet, il s'agit tout simplement de
fermer le recordset avec une ligne de code comme ceci ;`
Rs.Close
Salutations!
"Hugues" <Hugues@discussions.microsoft.com> a écrit dans le message de news:
67DE1E04-E9D9-40CD-AE1C-53D19AFC4AE0@microsoft.com...
Je sais que je stocke des données dans ce recordset.
Ce que je voudrais, c'est vider les données contenues dans le recordset afin
que quand je fais tourner la macro, il ne affiche pas des données anciennes
mais les nouvelles.
Je voudrais qu'avant de stocker des valeurs le Recordset soit vierge, qu'il
ne contienne pas de données
Salutations
Hugues
"michdenis" wrote:
Bonjour Hughes,
Je ne comprends pas ce que tu veux faire !
" Je voudrais savoir le code pour nettoyer ce recordset "
Qu'est-ce que cela veut dire ? Effacer les données dans la table d'origine d'où origine ces données ? Vider la
VARIABLE
contenant le recordset ? Autre chose ?
Salutations!
"Hugues" <Hugues@discussions.microsoft.com> a écrit dans le message de news:
A1B12B67-1223-496B-87E4-7EE9E6C0C804@microsoft.com...
J'ai une macro dont le code est ci dessus. JE m'apercois que lors de
l'utilisation de la macro, il prend des chiffres dejà stocker dans le
recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou
l'insérer dans la macro
Sub fcI() '
'(nomtable, bodyseries)
Dim WS As Workspace
Dim BD As DAO.Database
Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb"
Set WS = DBEngine.Workspaces(0)
Set BD = WS.OpenDatabase(NomBD)
nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA"
req = req + " FROM " + nomtable
req = req + " GROUP BY [Additional Field 2],[Account Position], [Business
Unit],[Additional Field 1]"
req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" +
Chr(34)
req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34)
req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34)
req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req)
n = RS.RecordCount
If RS.RecordCount = 0 Then
Range("e1").CopyFromRecordset RS
Else
Range("d2") = RS.Fields("CA").Value
End If
End Sub
Merci d'avance
à chaque fois que tu utilises une ligne de commande comme celle-ci ,
Set RS = BD.OpenRecordset(req)
Nonobstant ce que contenait le RS(recordset) avant cette d'exécuter cette ligne de commande, après l'exécution, seules les nouvelles données contenues dans la nouvelle requête feront parti du recordset ....
Si tu veux vider la variable Rs, comme celle-ci représente un objet de type RecordSet, il s'agit tout simplement de fermer le recordset avec une ligne de code comme ceci ;`
Rs.Close
Salutations!
"Hugues" a écrit dans le message de news:
Je sais que je stocke des données dans ce recordset. Ce que je voudrais, c'est vider les données contenues dans le recordset afin que quand je fais tourner la macro, il ne affiche pas des données anciennes mais les nouvelles. Je voudrais qu'avant de stocker des valeurs le Recordset soit vierge, qu'il ne contienne pas de données
Salutations
Hugues
"michdenis" wrote:
Bonjour Hughes,
Je ne comprends pas ce que tu veux faire !
" Je voudrais savoir le code pour nettoyer ce recordset "
Qu'est-ce que cela veut dire ? Effacer les données dans la table d'origine d'où origine ces données ? Vider la VARIABLE contenant le recordset ? Autre chose ?
Salutations!
"Hugues" a écrit dans le message de news:
J'ai une macro dont le code est ci dessus. JE m'apercois que lors de l'utilisation de la macro, il prend des chiffres dejà stocker dans le recorset. Je voudrais savoir le code pour nettoyer ce recorset et ou l'insérer dans la macro Sub fcI() ' '(nomtable, bodyseries)
Dim WS As Workspace Dim BD As DAO.Database Dim RS As DAO.Recordset
NomBD = "S:cor2004.mdb" Set WS = DBEngine.Workspaces(0) Set BD = WS.OpenDatabase(NomBD) nomtable = "fciii04"
req = "SELECT DISTINCT Sum([JAN1]+[FEB1]+[MAR1]) AS CA" req = req + " FROM " + nomtable req = req + " GROUP BY [Additional Field 2],[Account Position], [Business Unit],[Additional Field 1]" req = req + " HAVING [Additional Field 2]=" + Chr(34) + "E 52 Roadster" + Chr(34) req = req + " AND [Account Position]=" + Chr(34) + "invoiced sales" + Chr(34) req = req + " AND [Business Unit]=" + Chr(34) + "cars" + Chr(34) req = req + " AND [Additional Field 1]=" + Chr(34) + "Cars New BMW" + Chr(34)
Set RS = BD.OpenRecordset(req)
Set RS = BD.OpenRecordset(req) n = RS.RecordCount If RS.RecordCount = 0 Then Range("e1").CopyFromRecordset RS Else Range("d2") = RS.Fields("CA").Value End If End Sub Merci d'avance