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
Pierre CFI [mvp]
bonjour regarde dans l'aide GetRows()
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Laurent Merlet" a écrit dans le message de news:425288e0$0$11701$
Bonjour à tous,
J'aurais aimé savoir si il y avait un moyen de stocker un recordset en mémoire, de manière à pouvoir relire les données après l'avoir fermé.
Exemple :
Set rs = currentdb.openrecordset ("SELECT * FROM Tbl1")
<stocker en mémoire ... ??>
rs.close set rs = nothing
Je crois que ça doit être possible au moyen d'un tableau associatif, mais ...
Merciiiiiiiiiii
Laurent
bonjour
regarde dans l'aide GetRows()
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Laurent Merlet" <laurent.merlet@wanadoo.fr> a écrit dans le message de news:425288e0$0$11701$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
J'aurais aimé savoir si il y avait un moyen de stocker un recordset en
mémoire, de manière à pouvoir relire les données après l'avoir fermé.
Exemple :
Set rs = currentdb.openrecordset ("SELECT * FROM Tbl1")
<stocker en mémoire ... ??>
rs.close
set rs = nothing
Je crois que ça doit être possible au moyen d'un tableau associatif, mais
...
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Laurent Merlet" a écrit dans le message de news:425288e0$0$11701$
Bonjour à tous,
J'aurais aimé savoir si il y avait un moyen de stocker un recordset en mémoire, de manière à pouvoir relire les données après l'avoir fermé.
Exemple :
Set rs = currentdb.openrecordset ("SELECT * FROM Tbl1")
<stocker en mémoire ... ??>
rs.close set rs = nothing
Je crois que ça doit être possible au moyen d'un tableau associatif, mais ...
Merciiiiiiiiiii
Laurent
Laurent Merlet
Merci, mais mon aide d'Office 2000 ne m'affiche rien concernant cette fonction ...
"Pierre CFI [mvp]" a écrit dans le message de news:eS4Z9$
bonjour regarde dans l'aide GetRows()
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Laurent Merlet" a écrit dans le message de news:425288e0$0$11701$
Bonjour à tous,
J'aurais aimé savoir si il y avait un moyen de stocker un recordset en mémoire, de manière à pouvoir relire les données après l'avoir fermé.
Exemple :
Set rs = currentdb.openrecordset ("SELECT * FROM Tbl1")
<stocker en mémoire ... ??>
rs.close set rs = nothing
Je crois que ça doit être possible au moyen d'un tableau associatif, mais
...
Merciiiiiiiiiii
Laurent
Merci, mais mon aide d'Office 2000 ne m'affiche rien concernant cette
fonction ...
"Pierre CFI [mvp]" <XXX_pierresalaun@aol.com> a écrit dans le message de
news:eS4Z9$dOFHA.1176@TK2MSFTNGP12.phx.gbl...
bonjour
regarde dans l'aide GetRows()
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Laurent Merlet" <laurent.merlet@wanadoo.fr> a écrit dans le message de
news:425288e0$0$11701$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
J'aurais aimé savoir si il y avait un moyen de stocker un recordset en
mémoire, de manière à pouvoir relire les données après l'avoir fermé.
Exemple :
Set rs = currentdb.openrecordset ("SELECT * FROM Tbl1")
<stocker en mémoire ... ??>
rs.close
set rs = nothing
Je crois que ça doit être possible au moyen d'un tableau associatif,
mais
Merci, mais mon aide d'Office 2000 ne m'affiche rien concernant cette fonction ...
"Pierre CFI [mvp]" a écrit dans le message de news:eS4Z9$
bonjour regarde dans l'aide GetRows()
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Laurent Merlet" a écrit dans le message de news:425288e0$0$11701$
Bonjour à tous,
J'aurais aimé savoir si il y avait un moyen de stocker un recordset en mémoire, de manière à pouvoir relire les données après l'avoir fermé.
Exemple :
Set rs = currentdb.openrecordset ("SELECT * FROM Tbl1")
<stocker en mémoire ... ??>
rs.close set rs = nothing
Je crois que ça doit être possible au moyen d'un tableau associatif, mais
...
Merciiiiiiiiiii
Laurent
Pierre CFI [mvp]
ah bon copier coller aide ************* Exemple de méthode GetRows (VB)
Cet exemple utilise la méthode GetRows pour extraire un nombre défini de lignes d'un objet Recordset et remplir un tableau avec les données obtenues. La méthode GetRows renvoie un nombre inférieur à celui désiré dans deux cas : EOF a été atteint ou GetRows a essayé de récupérer un enregistrement supprimé par un autre utilisateur. La fonction renvoie la valeur False seulement dans le second cas. L'exécution de cette procédure requiert la fonction GetRowsOK.
Public Sub GetRowsX()
Dim rstEmployees As ADODB.Recordset Dim strCnn As String Dim strMessage As String Dim intRows As Integer Dim avarRecords As Variant Dim intRecord As Integer
' Ouvrir le jeu d'enregistrements avec les noms et les dates ' d'embauche de la table des employés. strCnn = "Provider=sqloledb;" & _ "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; " Set rstEmployees = New ADODB.Recordset rstEmployees.Open "SELECT fName, lName, hire_date " & _ "FROM Employee ORDER BY lName", strCnn, , , adCmdText
Do While True ' Obtenir l'entrée utilisateur pour le nombre de lignes. strMessage = "Enter number of rows to retrieve." intRows = Val(InputBox(strMessage))
If intRows <= 0 Then Exit Do
' Si GetRowsOK réussit, imprimer les résultats, ' en notant si la fin du fichier a été atteinte. If GetRowsOK(rstEmployees, intRows, _ avarRecords) Then If intRows > UBound(avarRecords, 2) + 1 Then Debug.Print "(Not enough records in " & _ "Recordset to retrieve " & intRows & _ " rows.)" End If Debug.Print UBound(avarRecords, 2) + 1 & _ " records found."
' Imprimer les données extraites. For intRecord = 0 To UBound(avarRecords, 2) Debug.Print " " & _ avarRecords(0, intRecord) & " " & _ avarRecords(1, intRecord) & ", " & _ avarRecords(2, intRecord) Next intRecord Else ' En considérant que l'erreur GetRows était due à des ' modifications de données par un autre utilisateur, ' utiliser Requery pour actualiser le jeu ' d'enregistrements et recommencer. If MsgBox("GetRows failed--retry?", _ vbYesNo) = vbYes Then rstEmployees.Requery Else Debug.Print "GetRows failed!" Exit Do End If End If
' Dans la mesure où l'utilisation de GetRows laisse le ' pointeur d'enregistrement en cours sur le dernier ' enregistrement atteint, replacer le pointeur au début du ' jeu d'enregistrements avant de se reboucler sur une autre ' recherche. rstEmployees.MoveFirst Loop
rstEmployees.Close
End Sub
Public Function GetRowsOK(rstTemp As ADODB.Recordset, _ intNumber As Integer, avarData As Variant) As Boolean
' Stocker les résultats de la méthode GetRows dans un tableau. avarData = rstTemp.GetRows(intNumber) ' Renvoyer la valeur False uniquement si le nombre de lignes ' renvoyé est inférieur à celui souhaité, mais pas parce que la ' fin du jeu d'enregistrements a été atteinte. If intNumber > UBound(avarData, 2) + 1 And _ Not rstTemp.EOF Then GetRowsOK = False Else GetRowsOK = True End If
End Function
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Laurent Merlet" a écrit dans le message de news:425293bd$0$19329$
Merci, mais mon aide d'Office 2000 ne m'affiche rien concernant cette fonction ...
"Pierre CFI [mvp]" a écrit dans le message de news:eS4Z9$
bonjour regarde dans l'aide GetRows()
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Laurent Merlet" a écrit dans le message de news:425288e0$0$11701$
Bonjour à tous,
J'aurais aimé savoir si il y avait un moyen de stocker un recordset en mémoire, de manière à pouvoir relire les données après l'avoir fermé.
Exemple :
Set rs = currentdb.openrecordset ("SELECT * FROM Tbl1")
<stocker en mémoire ... ??>
rs.close set rs = nothing
Je crois que ça doit être possible au moyen d'un tableau associatif, mais
...
Merciiiiiiiiiii
Laurent
ah bon
copier coller aide
*************
Exemple de méthode GetRows (VB)
Cet exemple utilise la méthode GetRows pour extraire un nombre défini de lignes d'un objet Recordset et remplir un tableau avec les
données obtenues. La méthode GetRows renvoie un nombre inférieur à celui désiré dans deux cas : EOF a été atteint ou GetRows a
essayé de récupérer un enregistrement supprimé par un autre utilisateur. La fonction renvoie la valeur False seulement dans le
second cas. L'exécution de cette procédure requiert la fonction GetRowsOK.
Public Sub GetRowsX()
Dim rstEmployees As ADODB.Recordset
Dim strCnn As String
Dim strMessage As String
Dim intRows As Integer
Dim avarRecords As Variant
Dim intRecord As Integer
' Ouvrir le jeu d'enregistrements avec les noms et les dates
' d'embauche de la table des employés.
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "
Set rstEmployees = New ADODB.Recordset
rstEmployees.Open "SELECT fName, lName, hire_date " & _
"FROM Employee ORDER BY lName", strCnn, , , adCmdText
Do While True
' Obtenir l'entrée utilisateur pour le nombre de lignes.
strMessage = "Enter number of rows to retrieve."
intRows = Val(InputBox(strMessage))
If intRows <= 0 Then Exit Do
' Si GetRowsOK réussit, imprimer les résultats,
' en notant si la fin du fichier a été atteinte.
If GetRowsOK(rstEmployees, intRows, _
avarRecords) Then
If intRows > UBound(avarRecords, 2) + 1 Then
Debug.Print "(Not enough records in " & _
"Recordset to retrieve " & intRows & _
" rows.)"
End If
Debug.Print UBound(avarRecords, 2) + 1 & _
" records found."
' Imprimer les données extraites.
For intRecord = 0 To UBound(avarRecords, 2)
Debug.Print " " & _
avarRecords(0, intRecord) & " " & _
avarRecords(1, intRecord) & ", " & _
avarRecords(2, intRecord)
Next intRecord
Else
' En considérant que l'erreur GetRows était due à des
' modifications de données par un autre utilisateur,
' utiliser Requery pour actualiser le jeu
' d'enregistrements et recommencer.
If MsgBox("GetRows failed--retry?", _
vbYesNo) = vbYes Then
rstEmployees.Requery
Else
Debug.Print "GetRows failed!"
Exit Do
End If
End If
' Dans la mesure où l'utilisation de GetRows laisse le
' pointeur d'enregistrement en cours sur le dernier
' enregistrement atteint, replacer le pointeur au début du
' jeu d'enregistrements avant de se reboucler sur une autre
' recherche.
rstEmployees.MoveFirst
Loop
rstEmployees.Close
End Sub
Public Function GetRowsOK(rstTemp As ADODB.Recordset, _
intNumber As Integer, avarData As Variant) As Boolean
' Stocker les résultats de la méthode GetRows dans un tableau.
avarData = rstTemp.GetRows(intNumber)
' Renvoyer la valeur False uniquement si le nombre de lignes
' renvoyé est inférieur à celui souhaité, mais pas parce que la
' fin du jeu d'enregistrements a été atteinte.
If intNumber > UBound(avarData, 2) + 1 And _
Not rstTemp.EOF Then
GetRowsOK = False
Else
GetRowsOK = True
End If
End Function
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Laurent Merlet" <laurent.merlet@wanadoo.fr> a écrit dans le message de news:425293bd$0$19329$8fcfb975@news.wanadoo.fr...
Merci, mais mon aide d'Office 2000 ne m'affiche rien concernant cette
fonction ...
"Pierre CFI [mvp]" <XXX_pierresalaun@aol.com> a écrit dans le message de
news:eS4Z9$dOFHA.1176@TK2MSFTNGP12.phx.gbl...
bonjour
regarde dans l'aide GetRows()
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Laurent Merlet" <laurent.merlet@wanadoo.fr> a écrit dans le message de
news:425288e0$0$11701$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
J'aurais aimé savoir si il y avait un moyen de stocker un recordset en
mémoire, de manière à pouvoir relire les données après l'avoir fermé.
Exemple :
Set rs = currentdb.openrecordset ("SELECT * FROM Tbl1")
<stocker en mémoire ... ??>
rs.close
set rs = nothing
Je crois que ça doit être possible au moyen d'un tableau associatif,
mais
ah bon copier coller aide ************* Exemple de méthode GetRows (VB)
Cet exemple utilise la méthode GetRows pour extraire un nombre défini de lignes d'un objet Recordset et remplir un tableau avec les données obtenues. La méthode GetRows renvoie un nombre inférieur à celui désiré dans deux cas : EOF a été atteint ou GetRows a essayé de récupérer un enregistrement supprimé par un autre utilisateur. La fonction renvoie la valeur False seulement dans le second cas. L'exécution de cette procédure requiert la fonction GetRowsOK.
Public Sub GetRowsX()
Dim rstEmployees As ADODB.Recordset Dim strCnn As String Dim strMessage As String Dim intRows As Integer Dim avarRecords As Variant Dim intRecord As Integer
' Ouvrir le jeu d'enregistrements avec les noms et les dates ' d'embauche de la table des employés. strCnn = "Provider=sqloledb;" & _ "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; " Set rstEmployees = New ADODB.Recordset rstEmployees.Open "SELECT fName, lName, hire_date " & _ "FROM Employee ORDER BY lName", strCnn, , , adCmdText
Do While True ' Obtenir l'entrée utilisateur pour le nombre de lignes. strMessage = "Enter number of rows to retrieve." intRows = Val(InputBox(strMessage))
If intRows <= 0 Then Exit Do
' Si GetRowsOK réussit, imprimer les résultats, ' en notant si la fin du fichier a été atteinte. If GetRowsOK(rstEmployees, intRows, _ avarRecords) Then If intRows > UBound(avarRecords, 2) + 1 Then Debug.Print "(Not enough records in " & _ "Recordset to retrieve " & intRows & _ " rows.)" End If Debug.Print UBound(avarRecords, 2) + 1 & _ " records found."
' Imprimer les données extraites. For intRecord = 0 To UBound(avarRecords, 2) Debug.Print " " & _ avarRecords(0, intRecord) & " " & _ avarRecords(1, intRecord) & ", " & _ avarRecords(2, intRecord) Next intRecord Else ' En considérant que l'erreur GetRows était due à des ' modifications de données par un autre utilisateur, ' utiliser Requery pour actualiser le jeu ' d'enregistrements et recommencer. If MsgBox("GetRows failed--retry?", _ vbYesNo) = vbYes Then rstEmployees.Requery Else Debug.Print "GetRows failed!" Exit Do End If End If
' Dans la mesure où l'utilisation de GetRows laisse le ' pointeur d'enregistrement en cours sur le dernier ' enregistrement atteint, replacer le pointeur au début du ' jeu d'enregistrements avant de se reboucler sur une autre ' recherche. rstEmployees.MoveFirst Loop
rstEmployees.Close
End Sub
Public Function GetRowsOK(rstTemp As ADODB.Recordset, _ intNumber As Integer, avarData As Variant) As Boolean
' Stocker les résultats de la méthode GetRows dans un tableau. avarData = rstTemp.GetRows(intNumber) ' Renvoyer la valeur False uniquement si le nombre de lignes ' renvoyé est inférieur à celui souhaité, mais pas parce que la ' fin du jeu d'enregistrements a été atteinte. If intNumber > UBound(avarData, 2) + 1 And _ Not rstTemp.EOF Then GetRowsOK = False Else GetRowsOK = True End If
End Function
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Laurent Merlet" a écrit dans le message de news:425293bd$0$19329$
Merci, mais mon aide d'Office 2000 ne m'affiche rien concernant cette fonction ...
"Pierre CFI [mvp]" a écrit dans le message de news:eS4Z9$
bonjour regarde dans l'aide GetRows()
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Laurent Merlet" a écrit dans le message de news:425288e0$0$11701$
Bonjour à tous,
J'aurais aimé savoir si il y avait un moyen de stocker un recordset en mémoire, de manière à pouvoir relire les données après l'avoir fermé.
Exemple :
Set rs = currentdb.openrecordset ("SELECT * FROM Tbl1")
<stocker en mémoire ... ??>
rs.close set rs = nothing
Je crois que ça doit être possible au moyen d'un tableau associatif, mais