Lecture dans base de donnée - variable

Résolu
Signaler
Messages postés
67
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
2 septembre 2009
-
Messages postés
67
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
2 septembre 2009
-
Bonjour a tous, j'ai question toute bete mais si vous avez la sollution... je suis preneur.

J'aimerais lire tout ce qui se trouve dans ma base de donnée dans la colonne "Article" ou "ID" pour cela j'utilise cette ligne:
rsADO!Article

Problème, j'ai une variable appelée "Nom" qui a comme valeur soit "Article" soit "ID".
Comment faire pour que si je mette rsADO!Nom cela me mette rsADO!Article oursADO!ID en fonction du choix et non pas que sa m'affiche les données de la colonne aussi appelé "Nom".

En gros comment implanté une variable la dedans.

J'espère avoir été clair lol
Merci à tous...

16 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Ben en fait Field est un type de données, comme String, Long, Integer, etc..
Donc je te disais de le déclarer ainsi.

Ensuite, pour le Field = Champs, je te faisais la traduction anglais/français (pour que tu saches ce que cela veut dire)

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
BonSoir
Essaies ceci ,si je n' arrive pas trop tard


 'Procédure

Sub Display(xChamp as String,xIndex as integer,xValeur as string) 

  ' > xChamp représente le nom du champ 
 ' > xIndex représente l' index du champ dans ta table
   
   
With tb1
    .Open "SELECT * FROM [Table1] WHERE '" & xChamp & "' like '%" & xValeur & "%' ",  bd, adOpenKeyset, adLockBatchOptimistic
Label11.Caption = .RecordCount & " résultat(s) trouvé(s)"

If .RecordCount = 0 Then GoTo EEXIT

.MoveFirst
    Do While Not .EOF
        List1.AddItem  .Fields(xIndex)
        .MoveNext
        Loop
       .Close
    End With
Exit Sub

EEXIT:
tb1.Close
MsgBox ("0 résultat")
End Sub

'Appel
Display MonChamp,SonIndex,SaValeur
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Salut,

Ben, il faut utiliser un &
"rsADO!" & Nom



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
Messages postés
67
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
2 septembre 2009

arf en fait  j'utilise un with sur mon rsADO et en fait la valeur qui strouve dans la base de donnée doit se mettre dans un listbox
du coup j'ai ca:

List1.AddItem !Article

et à la place d'article je voudrais mettre ma variable Nom
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

rsADO![Article]

utilise les crochets, peut-être que ça le fera !

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Je pencherai plutot sur
List1.AddItem "!" & Nom


Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
Messages postés
67
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
2 septembre 2009

effectivement avec cette méthode Nom est remplacé par la valeur qu'on désire mais probleme lol dans le listbox mainteant il s'affiche !ID ou !Article. Il ne reconnait pas le !. Il le traite comme du texte ...
List1.AddItem "!" & Nom
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
C'est quoi ton rsADO ?
Faut que tu nous donnes plus de détails dessus.
Dois y'avoir un rsADO.getmachin(Nom) ?



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
Messages postés
67
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
2 septembre 2009

alors voici le code au complet:

Dim Nom
Nom = select1.List(select1.ListIndex)



List1.Clear



If Nom = "" Then
MsgBox ("Veuillez sélectionner un élément de recherche !")
Exit Sub
End If



    With tb1
    .Open "SELECT * FROM [Table1] WHERE [" & Nom & "] like '%" & txtSearch.Text & "%' ", bd, adOpenKeyset, adLockBatchOptimistic
Label11.Caption = .RecordCount & " résultat(s) trouvé(s)"



If .RecordCount = 0 Then
MsgBox ("0 résultat")
.Close
Exit Sub
End If
.MoveFirst
        Do While Not .EOF
        List1.AddItem  !
        .MoveNext
        Loop
    .Close
    End With



donc c po rsADO mais tb1 ma variable là mais le principe reste lmême
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Mais je suis en train de penser, tu ne veux que la valeur de la variable ?

List1.AddItem rsADO!Article
* te renvoi la valeur du recordset

List1.AddItem Nom
* te renvoi la valeur de la variable 'Nom' (donc le mot Article)

++
Messages postés
67
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
2 septembre 2009

non je veux la valeur du recordset.
rsADO! et après sa ma variable qui renvérrait soit article soit id
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Bah alors essai alors de déclarer ta variable en Field (au lieu de Variant)

Dim Nom As Field

(Field = Champs)

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
...
et après ce sera ceci :

rsADO!Nom

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
En faite, je comprends pas comment marche ton controle.




Si tu fait tb1!Article, ca veut dire qu'il existe une méthode nomée Article ? (si tb1 est le contrôle) ???




Kenji




Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
Messages postés
67
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
2 septembre 2009

mortalino je comprend pas bien a quoi correspond (Field = Champs) ??
Messages postés
67
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
2 septembre 2009

yeah yeah sa marche merci beaucoup !!!