ronanry
Messages postés190Date d'inscriptionlundi 25 novembre 2002StatutMembreDernière intervention22 décembre 2009
-
19 nov. 2008 à 20:01
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 2010
-
20 nov. 2008 à 19:14
Bonjour a tous,
petite question sur l'utilisation de la fonction eval (je suis en vba sous access)
Posons tout d'abord les hypotheses :
soit le code suivant
Dim db As DAO.Database
Dim rs As DAO.Recordset
dim maquery as string
maquery = "select champ1,champ2 from matable where id=1"
Set db = CurrentDb
Set rs = db.OpenRecordset(MaQuerie)
rs.OpenRecordset
forms!form1.champ1 = rs!champ1
forms!form1.champ2 = rs!champ2
avec champ1 et champ2 prséent sur mon form1, jusque la rien de bien compliqué me direz vous.
Maintenant si je veux le meme code mais avec 25 champs (et que les 25 champs soit définis sur mon form1)
maquery devient donc :
maquery = "select champ1,champ2,champ3,champ4,champ5...., champ25 from matable where id=1"
et l'assignation des variables en bas devient d'autant plus longues
forms!form1.champ1 = rs!champ1
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 19 nov. 2008 à 20:38
Bonjour ronanry
Je n'ai malheureusement pas Access sur ce poste, donc je n'ai pas pu vérifier si le code ci-dessous est correct du point de vue de la syntaxe, et s'il est pertinent pour le problème posé.
ronanry
Messages postés190Date d'inscriptionlundi 25 novembre 2002StatutMembreDernière intervention22 décembre 2009 20 nov. 2008 à 13:18
Merci Pcpt et Orohena pour vos reponses
Pcpt j'suis pas sur qu'on se soit bien compris
Orohena :
- le probleme d'eval est que , si tu met le code que tu met (ou le mien) eval te retourne true ou false en fait....
il fait le test booleen et non l'assignation de variable
- Ton idée de me.controls me plait assez...vais tester ca de suite (merci d'y avoir penser pour moi :) ... on est a 3 a planché sur le sujet avec 2 autres informaticiens et on voyait vraiment pas comment le faire :p)
le pire c'est que ca marche !!!!!
BRAVO A TOI
sur votre formulaire, definissez 2 champ texte nommé objet et statut
dans une fonction mettez ceci
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim MaQuery As String
MaQuery = "select objet,statut from liste_demande where id=1"
Set db = CurrentDb
Set rs = db.OpenRecordset(MaQuery)
rs.OpenRecordset
For Each elem In rs.Fields
Me.Controls(elem.Name).Value = elem.Value
Next