VBA ACCESS Zone de liste modifiable Interactive

L

Laly

Guest
Bonjour Thierry,

Encore une fois j'ai besoin de ta force de Demo.

Voila, j'ai une liste de choix modifiable dans un formulaire access qui affiche des valeurs contenues dans une autre table. Sachant que les informations de la table sont partagées par deux tables et qu'une valeur affichée par une table fille ne doit pas être affichée par l'autre table fille (ce qui a été résolu par une requête select), mon souci est

1: la liste affiché par la table fille ne doit montrer que les élément selectionnable (c'est-a_dire non présentes dans la table soeur mais non encore sélectionnes dans cette table car cet élement constitue la clé). Pour résumer je ne veux afficher que les éléments encore disponibles

2: lorsqu'il n'y a plus d'élément disponible, (puisque ma requete select n'affiche que les éléments de la table source) je voudrais pouvoir inserer d'autres valeurs dans la liste et qui seront inserées également et automatiquement dans la table mère.

Je ne sais pas si je suis assez explicite, mais je sais pouvoir compter sur toi.
 
@

@+Thierry

Guest
Salut Laly,

Euf !! est-ce la fatigue vu l'heure tardive et le nombre de post auxquels je viens de répondre, mais je nage !! lol

Disons qu'une fois que ton index list de ta ComboBox est vide, on doit pouvoir capter cet évènement et essayer de lui faire passer des additems...

Sinon il faudrait peut être travailler dans un Tableau Séquentiel qui lui regrouperait tes deux tables et permetrait d'avoir tout dans la ComboBox ...

Regarde cette démo je travaille sur plusieurs feuilles pour alimenter mon tableau bidimentionnel :

Lien supprimé

Si çà peut t'aider
Bonne Nuit
@+Thierry
 
L

Laly

Guest
J'ai regarde et comme je suis nulle en programmation j'y comprends pas grand chose. Mais il semble que tu fais appel a des objets tels sheets ou row qui ne sont pas utilises dans access. cela ne regle donc pas mon probleme. Par ailleurs j'ai un code qui devrait marcher et pourtant rien. C'est le code suivant:

Dim rec As Recordset
Dim bd As Database
Dim Msg As String

Msg= MsgBox("Ce numéro n'existe pas." _
& Chr(10) & Chr(10) & " - Oui: pour l'ajouter." _
& Chr(10) & " - Non: pour retourner à la liste et vérifier l'orthographe." _
& Chr(10) & Chr(10) & "Que souhaitez-vous faire ?", _
vbExclamation + vbYesNo, "numéro non enregistrée")

If Msg= vbYes Then

'Annuler le message d'erreur d'Access pour l'ajout d'une valeur
Response = acDataErrAdded

Set bd = CurrentDb()
Set rec = bd.OpenRecordset("PAYEURS", bdOpenTable)
rec.AddNew
rec![CODE_PAYE] = NewData
rec.Update
rec.Close
Else

'Annuler le message d'erreur d'Access lorsque l'utilisateur répond non
Response = acDataErrContinue

End If

Le message d'erreur qui s'affiche est que "Erreur de compilation : Type défini par l'utilisateur non defini). Cette erreur se situe au niveau de "Dim bd as database" le type database ou même ADODB.Database n'est apparemment reconnu. Et je ne sais vraiment pas comment remedier à cela.
Quelqu'un aurait-il une idée?
 

Discussions similaires