voil=E0 : est ce possible de dimensionner une tableau en=20
fonction d'une variable. Je souhaite r=E9cup=E9rer le nombre=20
d' enregistrements pr=E9sents dans une table Access et=20
dimensionner un tableau en fonction de ce nombre. Si je=20
fais
marequete.movelast
dim montableau(marequete.recordcount)=20
Vb me r=E9pond : constante attendue !
et pourtant =E7a m'arrangerait bien de faire comme =E7a !!!
merci de votre r=E9ponse ou d'une piste =E9ventuelle
Fran=E7ois
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
Himselff
ya une methode pas tres jolie mais qui fonctionne tres bien
do while not (monRecordset.eof) compteur = compteur + 1 monRecordSet.movenext loop
ensuite tu remet a movefirst et tu REDIM tableau(compteur,1)
Bonne chance "françois" wrote in message news:2d4401c4287a$26a7d170$ voilà : est ce possible de dimensionner une tableau en fonction d'une variable. Je souhaite récupérer le nombre d' enregistrements présents dans une table Access et dimensionner un tableau en fonction de ce nombre. Si je fais
marequete.movelast dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle François
ya une methode pas tres jolie mais qui fonctionne tres bien
do while not (monRecordset.eof)
compteur = compteur + 1
monRecordSet.movenext
loop
ensuite tu remet a movefirst et tu REDIM tableau(compteur,1)
Bonne chance
"françois" <anonymous@discussions.microsoft.com> wrote in message
news:2d4401c4287a$26a7d170$a001280a@phx.gbl...
voilà : est ce possible de dimensionner une tableau en
fonction d'une variable. Je souhaite récupérer le nombre
d' enregistrements présents dans une table Access et
dimensionner un tableau en fonction de ce nombre. Si je
fais
marequete.movelast
dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle
François
ya une methode pas tres jolie mais qui fonctionne tres bien
do while not (monRecordset.eof) compteur = compteur + 1 monRecordSet.movenext loop
ensuite tu remet a movefirst et tu REDIM tableau(compteur,1)
Bonne chance "françois" wrote in message news:2d4401c4287a$26a7d170$ voilà : est ce possible de dimensionner une tableau en fonction d'une variable. Je souhaite récupérer le nombre d' enregistrements présents dans une table Access et dimensionner un tableau en fonction de ce nombre. Si je fais
marequete.movelast dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle François
Eric
Bonjour François
Dans ta procedure declares ainsi: En Début : Dim Tableau()
puis apres le marequete.movelast ReDim Tableau(marequete.recordcount)
A+ Eric
françois écrivait news:2d4401c4287a $26a7d170$:
voilà : est ce possible de dimensionner une tableau en fonction d'une variable. Je souhaite récupérer le nombre d' enregistrements présents dans une table Access et dimensionner un tableau en fonction de ce nombre. Si je fais
marequete.movelast dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle François
Bonjour François
Dans ta procedure declares ainsi:
En Début : Dim Tableau()
puis apres le marequete.movelast
ReDim Tableau(marequete.recordcount)
A+
Eric
françois <anonymous@discussions.microsoft.com> écrivait news:2d4401c4287a
$26a7d170$a001280a@phx.gbl:
voilà : est ce possible de dimensionner une tableau en
fonction d'une variable. Je souhaite récupérer le nombre
d' enregistrements présents dans une table Access et
dimensionner un tableau en fonction de ce nombre. Si je
fais
marequete.movelast
dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle
François
Dans ta procedure declares ainsi: En Début : Dim Tableau()
puis apres le marequete.movelast ReDim Tableau(marequete.recordcount)
A+ Eric
françois écrivait news:2d4401c4287a $26a7d170$:
voilà : est ce possible de dimensionner une tableau en fonction d'une variable. Je souhaite récupérer le nombre d' enregistrements présents dans une table Access et dimensionner un tableau en fonction de ce nombre. Si je fais
marequete.movelast dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle François
François Picalausa
Hello,
En Début : Dim Tableau()
De préférence en typant le tableau!
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Eric" a écrit dans le message de news:
Hello,
En Début : Dim Tableau()
De préférence en typant le tableau!
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF94D3AF1B4BEF7fframZZhotmailcom@207.46.248.16
En complément des autres réponses qui proposaient ceci :
Dim tblTableau() as MONTYPE '//Code Redim tblTableau(marequete.recordcount) '//Le tableau sera redimensionné de 0 à marequete.recordcount '//Pr le redim. de 1 à marequete.recordcount : Redim tblTableau(1 To marequete.recordcount)
tu peux aussi redimensionner ton tableau en préservant les données (ca ne te sert pas ici, mais c'est juste au cas ou t'en aurais besoin un jour) :
Dim tblTableau() as MONTYPE '//Code Redim Preserve tblTableau(marequete.recordcount) '//Le tableau sera redimensionné de 0 à marequete.recordcount
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
françois a écrit :
voilà : est ce possible de dimensionner une tableau en fonction d'une variable. Je souhaite récupérer le nombre d' enregistrements présents dans une table Access et dimensionner un tableau en fonction de ce nombre. Si je fais
marequete.movelast dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle François
Salut,
En complément des autres réponses qui proposaient ceci :
Dim tblTableau() as MONTYPE
'//Code
Redim tblTableau(marequete.recordcount)
'//Le tableau sera redimensionné de 0 à marequete.recordcount
'//Pr le redim. de 1 à marequete.recordcount :
Redim tblTableau(1 To marequete.recordcount)
tu peux aussi redimensionner ton tableau en préservant les données (ca ne te
sert pas ici, mais c'est juste au cas ou t'en aurais besoin un jour) :
Dim tblTableau() as MONTYPE
'//Code
Redim Preserve tblTableau(marequete.recordcount)
'//Le tableau sera redimensionné de 0 à marequete.recordcount
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
françois <anonymous@discussions.microsoft.com> a écrit :
voilà : est ce possible de dimensionner une tableau en
fonction d'une variable. Je souhaite récupérer le nombre
d' enregistrements présents dans une table Access et
dimensionner un tableau en fonction de ce nombre. Si je
fais
marequete.movelast
dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle
François
En complément des autres réponses qui proposaient ceci :
Dim tblTableau() as MONTYPE '//Code Redim tblTableau(marequete.recordcount) '//Le tableau sera redimensionné de 0 à marequete.recordcount '//Pr le redim. de 1 à marequete.recordcount : Redim tblTableau(1 To marequete.recordcount)
tu peux aussi redimensionner ton tableau en préservant les données (ca ne te sert pas ici, mais c'est juste au cas ou t'en aurais besoin un jour) :
Dim tblTableau() as MONTYPE '//Code Redim Preserve tblTableau(marequete.recordcount) '//Le tableau sera redimensionné de 0 à marequete.recordcount
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
françois a écrit :
voilà : est ce possible de dimensionner une tableau en fonction d'une variable. Je souhaite récupérer le nombre d' enregistrements présents dans une table Access et dimensionner un tableau en fonction de ce nombre. Si je fais
marequete.movelast dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle François
Christophe
Bonjour, ci dessous une copie/collée d'une fonction utilisant DAO et renvoyant un tableau de type utilisateur à partir du recordset et je vois pas ce qu'il y a de "Pas joli" avec plus de mille enregistrements c'est "instantané" Et si tu ne recherche que dans une table tu utilises une méthode seek sur la clef primaire et c'est encore plus rapide.
Christophe Vergon
Public Function AppuiDeFeuille(idfeuille As Long) As PointLiaison() Dim bd As Database Dim rq As QueryDef Dim rst As Recordset Dim PL() As PointLiaison
Set bd = OpenDatabase(Emplacementbase) 'ouvre la base Set rq = bd.QueryDefs("Rqappuidefeuille") ' affecte la requete rq.Parameters("idfeuille") = idfeuille& ' les parametres Set rst = rq.OpenRecordset ' ouvre le recordset
If Not (rst.EOF And rst.BOF) Then 'si pas vide rst.MoveFirst 'au premier i& = 0 'compteur à 0
Do While Not rst.EOF ReDim Preserve PL(i&) PL(i&).idpoint = rst("idappuifeuille") PL(i&).idfeuille = rst("ptrfeuille") PL(i&).nom = rst("nom") PL(i&).x = rst("X") PL(i&).y = rst("Y") i& = i& + 1 rst.MoveNext Loop
Else 'renvoi de l'element nul ReDim PL(0) PL(0).idfeuille = idfeuille PL(0).nom = -1 End If
AppuiDeFeuille = PL
Set rst = Nothing Set rq = Nothing Set bd = Nothing End Function
"françois" a écrit dans le message de news: 2d4401c4287a$26a7d170$ voilà : est ce possible de dimensionner une tableau en fonction d'une variable. Je souhaite récupérer le nombre d' enregistrements présents dans une table Access et dimensionner un tableau en fonction de ce nombre. Si je fais
marequete.movelast dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle François
Bonjour,
ci dessous une copie/collée d'une fonction utilisant DAO et renvoyant un
tableau de type utilisateur à partir du recordset
et je vois pas ce qu'il y a de "Pas joli" avec plus de mille enregistrements
c'est "instantané"
Et si tu ne recherche que dans une table tu utilises une méthode seek sur la
clef primaire et c'est encore plus rapide.
Christophe Vergon
Public Function AppuiDeFeuille(idfeuille As Long) As PointLiaison()
Dim bd As Database
Dim rq As QueryDef
Dim rst As Recordset
Dim PL() As PointLiaison
Set bd = OpenDatabase(Emplacementbase) 'ouvre la base
Set rq = bd.QueryDefs("Rqappuidefeuille") ' affecte la requete
rq.Parameters("idfeuille") = idfeuille& ' les parametres
Set rst = rq.OpenRecordset ' ouvre le recordset
If Not (rst.EOF And rst.BOF) Then 'si pas vide
rst.MoveFirst 'au premier
i& = 0 'compteur à 0
Do While Not rst.EOF
ReDim Preserve PL(i&)
PL(i&).idpoint = rst("idappuifeuille")
PL(i&).idfeuille = rst("ptrfeuille")
PL(i&).nom = rst("nom")
PL(i&).x = rst("X")
PL(i&).y = rst("Y")
i& = i& + 1
rst.MoveNext
Loop
Else
'renvoi de l'element nul
ReDim PL(0)
PL(0).idfeuille = idfeuille
PL(0).nom = -1
End If
AppuiDeFeuille = PL
Set rst = Nothing
Set rq = Nothing
Set bd = Nothing
End Function
"françois" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 2d4401c4287a$26a7d170$a001280a@phx.gbl...
voilà : est ce possible de dimensionner une tableau en
fonction d'une variable. Je souhaite récupérer le nombre
d' enregistrements présents dans une table Access et
dimensionner un tableau en fonction de ce nombre. Si je
fais
marequete.movelast
dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle
François
Bonjour, ci dessous une copie/collée d'une fonction utilisant DAO et renvoyant un tableau de type utilisateur à partir du recordset et je vois pas ce qu'il y a de "Pas joli" avec plus de mille enregistrements c'est "instantané" Et si tu ne recherche que dans une table tu utilises une méthode seek sur la clef primaire et c'est encore plus rapide.
Christophe Vergon
Public Function AppuiDeFeuille(idfeuille As Long) As PointLiaison() Dim bd As Database Dim rq As QueryDef Dim rst As Recordset Dim PL() As PointLiaison
Set bd = OpenDatabase(Emplacementbase) 'ouvre la base Set rq = bd.QueryDefs("Rqappuidefeuille") ' affecte la requete rq.Parameters("idfeuille") = idfeuille& ' les parametres Set rst = rq.OpenRecordset ' ouvre le recordset
If Not (rst.EOF And rst.BOF) Then 'si pas vide rst.MoveFirst 'au premier i& = 0 'compteur à 0
Do While Not rst.EOF ReDim Preserve PL(i&) PL(i&).idpoint = rst("idappuifeuille") PL(i&).idfeuille = rst("ptrfeuille") PL(i&).nom = rst("nom") PL(i&).x = rst("X") PL(i&).y = rst("Y") i& = i& + 1 rst.MoveNext Loop
Else 'renvoi de l'element nul ReDim PL(0) PL(0).idfeuille = idfeuille PL(0).nom = -1 End If
AppuiDeFeuille = PL
Set rst = Nothing Set rq = Nothing Set bd = Nothing End Function
"françois" a écrit dans le message de news: 2d4401c4287a$26a7d170$ voilà : est ce possible de dimensionner une tableau en fonction d'une variable. Je souhaite récupérer le nombre d' enregistrements présents dans une table Access et dimensionner un tableau en fonction de ce nombre. Si je fais
marequete.movelast dim montableau(marequete.recordcount)
Vb me répond : constante attendue !
et pourtant ça m'arrangerait bien de faire comme ça !!!
merci de votre réponse ou d'une piste éventuelle François