Liste de choix multiple sous ACCESS...

bilobao Messages postés 7 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 8 juin 2005 - 6 juin 2005 à 17:21
bilobao Messages postés 7 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 8 juin 2005 - 8 juin 2005 à 17:47
Bonjour à tous !







Le grand débutant que je suis a un grand souci...







J'ai une liste de choix multiple dans un formulaire... dans cette
dernière, je peux sans aucun problème sélectionner les valeurs que je
désire.







Mais comment faire pour que les valeurs sélectionnées se retrouvent dans le champs de ma table correspondant ?



Et qu'en plus les valeurs soient séparée par un point virgule ou un autre caractère ?







Je ne sais pas si je suis très claire ?



Je sèche... quelqu'un aurait il la bonté de m'aider ??







Bonne fin de journée

11 réponses

Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
7 juin 2005 à 09:26
Faut ouvrir ta base de donnée et bien sur la déclarer avant et activer le composent Microsoft DAO 3.5 pour access 97 et 3.6 pour 2000

Dim mabase as database
Dim jeu as recordset

Set mabase = opendatabase( app.path & "/mabse.mdb")
Set jeu = mabase.openrecordset("TABLE01")
jeu.AddNew
jeu!champ01= txt01.Text
jeu!champ02= txt02.Text
jeu!champ03= Month(txt03.Text)
jeu!champ04= combobox01.ItemData(combobox01.ListIndex)
jeu!champ05= list.ItemData(list.ListIndex)

jeu.Update
jeu .close
mabase.close

pour séparer tes donnée tu fait :
jeu!champ01= txt01.Text & ";" & txt02.Text & ";" & txt03.Text

En espérant que cela puisse t'aider...
0
bilobao Messages postés 7 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 8 juin 2005
7 juin 2005 à 14:36
Merci de t'attarder sur mon sort Slyders !







Je suis sous Access 2002... j'ai donc activé le composent Microsoft DAO 3.6 Object Library dans les références.







Et j'ai essayé d'adapter ce code et je l'ai mis dans une procédure événementiel après MAJ de mon champ.







Mais j'obtiens une erreur 13 (Incompatibilité de type) sur la ligne Set jeu = mabase.openrecordset("TABLE01")

(J'ai bien défini ma table "Societe" à la place de "TABLE01")



Je vais juste essayer d'être plus clair.



Dans mon formulaire, mon champ déroulant de sélection à choix multiple s'appelle "Listed"

(il porte le même nom dans ma table qui se nomme "Societe") et il
contient les valeurs... SWX ; Paris ; Francfort ; New York ; London ;
Other.



J'aimerais donc juste que les valeurs que je sélectionne s'inserent dans ma table avec un ";" séparateur....



Merci encore de ton aide :)



Bil
0
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
7 juin 2005 à 14:45
colle ton code ici que je voie ou est le pb
0
bilobao Messages postés 7 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 8 juin 2005
7 juin 2005 à 15:26
Voilà ce que j'ai pour le moment... La partie "jeu.AddNew" n'est pas encore très claire...



Private Sub Listed_AfterUpdate()
Dim mabase As Database
Dim jeu As Recordset

Set mabase = OpenDatabase("C:\SFYB2005.mdb")
Set jeu = mabase.OpenRecordset("Societe")
jeu.AddNew
jeu!Listed = txt01.Text
jeu!Listed = txt02.Text

jeu.Update
jeu.Close
mabase.Close
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
7 juin 2005 à 15:30
ta un pb la dans un champ tu y met une valeur et dans se mem champ apres tu y met une autre valeur
tu devrai faire:
dim tavariable as string

...

tavariable = txt01.Text & ";" & txt02.Text

jeu!Listed = tavariable
0
bilobao Messages postés 7 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 8 juin 2005
7 juin 2005 à 16:03
Autant pour moi... Désolé...



J'ai donc corrigé comme ce qui suit.. mais j'ai un erreur "Membre de méthode ou de données introuvable" sur .Text



Encore une fois je suis un grand débutant et j'y vais un peu en tatonnant....

Private Sub Listed_AfterUpdate()
Dim mabase As Database
Dim jeu As Recordset

Set mabase = OpenDatabase("C:\SFYB2005.mdb")
Set jeu = mabase.OpenRecordset("Societe")
jeu.AddNew
jeu!Listed = Paris.Text & ";" & London.Text & ";" & Francfort.Text & ";" & New York.Text

jeu.Update
jeu.Close
mabase.Close
End Sub
0
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
7 juin 2005 à 16:22
tes PAris.text, london.text se sont bien des text box qui se nome PAris et London ?

heu ton listed dans ta base de donnée peut il tenir autant de caractere ?
0
bilobao Messages postés 7 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 8 juin 2005
7 juin 2005 à 16:31
non non... mon paris london etc... sont dans la liste de valeur de ma zone de liste...



En ce qui concerne le champ Listed il peut tenir 200 caractères...
0
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
7 juin 2005 à 16:42
ha vi c vrai que j'avait oublier cet histoi de Zone de list
donc une zone de list sa s'ecrit pas en .text

jeu!Listed = Paris.List(Paris.ListIndex) & ";" & London.List(London.ListIndex) & ";" & NewYork.List(NewYork.ListIndex)

evite les espace avec New York donc met NewYork
donc la tu as 3 list box si je ne me trompe pas
Pour texpliquer a quoi correspond cela : Paris.List(Paris.ListIndex) alors Paris.list = c ce qui est textuel et affiché donc c ce que tu as sélectioner
Paris.listindex c le numero de la ligne selectioner
donc enfaite le programme prend le texte de ta ligne selectioner dans ta listbox

houla j'espere avoir été à peu près clair. (dsl pour les fautes d'ortho, fleme de me relire)
0
bilobao Messages postés 7 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 8 juin 2005
8 juin 2005 à 17:43
Slyders Merci de ton aide !!!

J'ai fais quelques recherche aujourd'hui et j'ai enfin touvé ce que je voulais...

Voilà le code si ça peut aider qqn...


Dim i As Variant
For Each i In Me!Listed.ItemsSelected
Listed = Me!Listed.ItemData(i) & ";" & Listed
Next i

Merci encore...
0
bilobao Messages postés 7 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 8 juin 2005
8 juin 2005 à 17:47
oups....



For Each i In Me!Listed.ItemsSelected

Listed = Me!Listed.ItemData(i) & " " & Listed

Next i
0
Rejoignez-nous