Requete et variable [Résolu]

Signaler
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
-
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
-
Slt, je veux recupérer les données dans mon champ [libellé] de ma table [Financeurs_OP] et les mettre dans une variable pour pouvoir utiliser la variable.
Dim i as integer
Dim var as String

For i = 1 To Me.Dat_financeurs.Recordset.Fields.Count
var(i) = [Financeurs_OP].[libellé]
Next i

C'est var(i) que je veux recupérer.Pouvez-vous me compléter?
Merci.

20 réponses

Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

j'ai une ereur commme quoi "variable bloc non définie"
Dim tableau() As String

With Me.Dat_financeurs.Recordset.

    ReDim Preserve tableau(1 To .RecordCount)

    Do Until .EOF

        tableau(.AbsolutePosition) = .Fields("libellé")

        .MoveNext

    Loop

End With
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
la variable est bien dimensionnée, certes, mais tu dois également le créer, ton recordset...


Me.Dat_financeurs.DatabaseName = Bdd
With Me.Dat_financeurs.Recordset
Dim var(1 To 20)
For k = 1 To 20
var(k) = ""
Next
Set Me.Dat_financeurs.Recordset Db.OpenRecordset ("SELECT Financeur.[Nom Financeur] From Financeur Where (((Financeur.[Ref reseau]) = 1)) ORDER BY Financeur.[codeFinanceur]")
set rs3 = Me.Dat_financeurs.Recordset '<<<<<<<<<<<<<<<<<<<<<<
rs3.MoveFirst
k = 1

Do Until rs3.EOF
var(k) = rs3![Nom Financeur]
rs3.MoveNext
k = k + 1
Loop
End With

Me.Dat_financeurs.Refresh
Me.Financeurs.MaxRows = Me.Dat_financeurs.Recordset.RecordCount
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Renfield, té là?
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

klk1 peut me débloquer pleaz?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
pas sur d'avoir saisi...
tu souhaites :

With Me.Dat_financeurs.Recordset.
Do Until .EOF
var(.AbsolutePosition) = .Fields("libellé")
.MoveNext
Loop
End With


?
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

   var(.AbsolutePosition) = .Fields("libellé")  fait quoi?
Au fait "libellé" est un champ de ma table et je souhaites recupérer les données de libellé et les mettre en variable.
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Renfield t'as compris ma question?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
place dans un tableau var(1) à var(n) les differents libellés de ta base
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

désolé, mais peux-tu me donner un code exemple?
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

C'est comme ca que tu veux dire?

 Dim tableau() As Integer
 Dim intcompteur As Integer
 ReDim Preserve tableau(1 To Me.Dat_financeurs.Recordset.RecordCount)
 For intcompteur = 1 To Me.Dat_financeurs.Recordset.RecordCount
 tableau (intcompteur)
 Next
 intcompteur = .... c'est ici que je veux recupérer les données du champ "libellé"
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
je t'ai filé le code déjà ce matin :

Dim tableau() As String
With Me.Dat_financeurs.Recordset.
ReDim Preserve tableau(1 To .RecordCount)
Do Until .EOF
tableau(.AbsolutePosition) = .Fields("libellé")
.MoveNext
Loop
End With
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
point en trop en fin de ligne :
With Me.Dat_financeurs.Recordset.
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

oui,çà je l'avais corrigé.
Merci.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
tu as bien sur, dans ton code, fait une affectation de ce genre :

Set Me.Dat_financaurs.RecordSet = db.OpenRecordset(....)
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

oui, je te mets le code que j'ai fait.L'erreur qu'il me met"cet argument n'est pas facultatif".là ou j'ai mis en rouge.
Me.Dat_financeurs.DatabaseName = Bdd
With Me.Dat_financeurs.Recordset
Dim var(1 To 20)
For k = 1 To 20
var(k) = ""
NextSet Me.Dat_financeurs.Recordset Db.OpenRecordset ("SELECT Financeur.[Nom Financeur] From Financeur Where (((Financeur.[Ref reseau]) = 1)) ORDER BY Financeur.[codeFinanceur]")
rs3.MoveFirst
k = 1

    Do Until rs3.EOF
            var(k) = rs3![Nom Financeur]
            rs3.MoveNext
            k = k + 1
    Loop
 End With

Me.Dat_financeurs.Refresh
Me.Financeurs.MaxRows = Me.Dat_financeurs.Recordset.RecordCount
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Autant pour moi, j'avais mis 2 fois égal mais toujours une erreur/ "variable with non défini et me souligne "rs3.MoveFirst"
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
tu ne peux pas trier par codeFinanceur, si tu ne selectionne pas ce champ...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
et rs3 n'est pas définit...

tu fais :
Set Me.Dat_financeurs.Recordset = db....

mets alors :

Setrs3 = db.open...
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

c vraio qu j'avais pas sélectionné le champ concerné, meme aprés correction je me retrouve avec l'erreur "opération non valide" avec  "rs3.MoveFirst".
Pour info j'avais déjà défini rs3 dans mon code.
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

sisi, t'as raison.
Merci, j'ai une autre question qui est presque une suite de celle là mais je vais repostuler.