cs_zelastwarrior
Messages postés33Date d'inscriptionvendredi 28 mai 2004StatutMembreDernière intervention10 juin 2005
-
18 nov. 2004 à 15:36
thierrydelepine
Messages postés521Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention11 septembre 2008
-
18 nov. 2004 à 17:29
Bonjour à tous,
je vais une application MDI en VB. Mon probleme est que j'utilise deux fois le meme code pour remplir des combobox sur différentes feuilles filles pendant le chargement de la feuille (load). Je voudrais stocker cette fonction dans un module.
Ma question est quel parametre dois je passer dans le code et dans la declaration de la fonction pour que je puisse avoir une sorte de pointeur sur une form.
note j'ai deja essayé ca:
programme :
form_load()
modu.charge (me) ' fonction dans le module
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 18 nov. 2004 à 16:38
Salut,
Si ta fonction doit remplir juste des combobox, pourquoi ne pas passer les combobox en parametre plutot que de passer les forms entiers
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
cs_zelastwarrior
Messages postés33Date d'inscriptionvendredi 28 mai 2004StatutMembreDernière intervention10 juin 2005 18 nov. 2004 à 17:12
thierrydelepine : ya bien une erreur "type incompatible" quand je fais ca!! et si je met tout en commentaire pareil.
jrivet : ben en fait c trois combobox qui se remplissent grace a cette fonction (ils se nomme pareil sur les deux formes filles différentes) et c les trois meme en plus (se remplisse grace a un recordset.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 18 nov. 2004 à 17:17
Re,
Oui, mais de toute facon ton programme n est qu a un seul endoit en meme temps (si tu es en vb6)
donc tu peux tres bien passer ton (ou tes) combobox a remplir en parametre.
(si tu pouvais mettre un peu plus de code :) )
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_zelastwarrior
Messages postés33Date d'inscriptionvendredi 28 mai 2004StatutMembreDernière intervention10 juin 2005 18 nov. 2004 à 17:28
bon je vais essaye de mettre le pus interessant
mdiparent
Private Sub MDIForm_Load()
Height = Screen.Height * 75 / 100
Width = Screen.Width * 75 / 100
Top = (Screen.Height - Height) / 2
Left = (Screen.Width - Width) / 2
modu.connect
Dim frmadmin As Form
Set frmadmin = New frmmdichildadmin
frmadmin.Show
End Sub
mdichildadmin
Private Sub Form_Load()
'remplir les combo box par la fonction charger
module
Public Sub charge()
'tout ce qui commence par cb = combobox
'cbsalle, cbclasse, cbprob sont les trois combobox presents sur
'la feuille admin
Dim rsprof As New ADODB.Recordset
Dim rsclasse As New ADODB.Recordset
Dim rssalle As New ADODB.Recordset
cbclasse.Clear
cbprof.Clear
cbsalle.Clear
'chargement des classes
rsclasse.Open "select * from CLASSE", modu.connection
Do While Not rsclasse.EOF
cbclasse.AddItem (Trim(rsclasse("NOM_CLASSE")) & " " & Trim(rsclasse("ANNEE_PROMO")))
rsclasse.MoveNext
Loop
'chargement des professeurs
rsprof.Open "select * from PROFESSEUR", modu.connection
Do While Not rsprof.EOF
cbprof.AddItem Trim(rsprof("NOM_PROF"))
rsprof.MoveNext
Loop
'chargement des salles
rssalle.Open "select NUM_SALLE from salle", modu.connection
Do While Not rssalle.EOF
cbsalle.AddItem rssalle!NUM_SALLE
rssalle.MoveNext
Loop
'fin de chargement
rssalle.Close
Set rssalle = Nothing
rsclasse.Close
Set rsclasse = Nothing
rsprof.Close
Set rsprof = Nothing
End Sub