URGENT....Problème de ComboBox

cs_thebox Messages postés 24 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 15 juillet 2004 - 28 juin 2004 à 10:03
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 - 30 juin 2004 à 16:24
Salut à tous,
j'ai un petit problème. Je travaille sous Access 2000. Dans un formulaire, j'ai une combo1 qui alimente une autre combo, combo2, dans un sous formulaire. Je sélectionne un élément dans la combo1, ca m'affiche les paramètresde cette élements dans la combo2 et si je change de valeur dans la combo2 ca m'actualise mon sous formulaire. Le problème c'est que qd je choisis une valeur (et donc un enregistrement correspodant) Y au hasard dans ma combo2 et si je décide de changer la valeur dans ma combo1 et après de revenir à la valeur précédente toujours dans ma combo1, et bien dans ma combo2, le premier élément de la liste de ma combo a éte remplacé par la valeur Y et l'enregistrement correspondant à la premiére valeur de ma combo2 a également été remplacé par toutes les valeurs correspondant à la valeur Y. Et ca c'est très embêtant.

Voici le code de l'afterupdate de ma combo1:
--------------------------------------------------------------------
Private Sub Sat_AfterUpdate()
' Find the record that matches the control.
Dim rs As Object

Set rs = Me.Recordset.Clone
rs.FindFirst "[ID_Sat] = '" & Me![Sat] & "'"
Me.Bookmark = rs.Bookmark

Dim satellite As String

satellite = Sat.Value
If Not (IsNull(Sat) Or satellite = "") Then
[Form_test subform].Freq.RowSource = "SELECT Freq, ID_Receiver FROM [Receiver Satellite] WHERE [ID_Sat] = " & "'" & satellite & "'"
[Form_test subform].Freq.Requery
End If

End Sub
---------------------------------------------------------------------

Le code de ma combo2:
---------------------------------------------------------------------
Private Sub Freq_AfterUpdate()
Dim db As Database
Dim rs, dl, ul As Recordset
Dim frequency As String, satellite As String

If Not (IsNull(Freq) Or Freq.Value = "") Then
frequency = Freq.Value
satellite = [Form_test].Sat.Value
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT * FROM [Receiver Satellite]", dbOpenDynaset)
Set dl = db.OpenRecordset("SELECT * FROM [DownLink Properties Query]", dbOpenDynaset)
Do Until (rs![Freq] = frequency And rs![ID_Sat] = satellite)
rs.MoveNext
Loop
Me.Controls("Req_C/N") = rs![Req_C/N]
Me.Controls("PLL_bdw") = rs![PLL_bdw]

Do Until dl![ID_Rec_Sat] = rs![ID_Receiver]
dl.MoveNext
Loop
[Form_test DL subform].Freq = dl![Freq]
[Form_test DL subform].Mod_ind = dl![Mod_ind]
[Form_test DL subform].Mod_ss = dl![Mod_ss]
[Form_test DL subform].Eb_No = dl![Eb/No]
[Form_test DL subform].Rg_ind = dl![Rg_ind]
---------------------------------------------------------------------

Je précise que dans mon sous formulaire il y a un autre sous formulaire...

Voilà j'espère que quelqu'un aura une idée pcq là moi je vois pas du tout.

Toutes propositions, conseils ou même codes seront les bienvenus.

Merci d'avance

The BOX

3 réponses

Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
28 juin 2004 à 13:05
On dit UN combo je crois ! :-)
Si tu me passais ton fichier, je pourrais voire, parceque là c'est assez confus !

Pice-WCorp bientôt sur le net.
0
cs_thebox Messages postés 24 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 15 juillet 2004
30 juin 2004 à 08:46
Merci et excuse d'avoir été un peu long à répondre mais j'ai trouvé comment faire. Mais j'ai pas fini pour autant avec mes galères.....

@+

The BOX
0
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
30 juin 2004 à 16:24
Ok, demande moi si tu as d'autres pbm.

Pice-WCorp bientôt sur le net.
0