Remplir un formulaire lors de son ouverture

Le
nunurs
Bonjour,
je souhaite remplir un formulaires lors de son ouverture avec des données
présentes dans ma bd. Je n'arrive pas à trouver le bon évènement pour cela.
J'ai testé les évènements Load, Open mais sans succès
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #6281281
bonjour,

Pourquoi ne pas baser ton formumaire sur une requête qui prends les champs
dont tu as besoin ?


Bonjour,
je souhaite remplir un formulaires lors de son ouverture avec des données
présentes dans ma bd. Je n'arrive pas à trouver le bon évènement pour cela.
J'ai testé les évènements Load, Open mais sans succès...


nunurs
Le #6281251
sachant que j'ai besoin de quasiment tous les champs de ma BD (il s'agit d'un
formulaire de modification de données), je ne pense pas que faire une méga
requête avec des méga jointures soit le plus approprié en fait...


bonjour,

Pourquoi ne pas baser ton formumaire sur une requête qui prends les champs
dont tu as besoin ?


Bonjour,
je souhaite remplir un formulaires lors de son ouverture avec des données
présentes dans ma bd. Je n'arrive pas à trouver le bon évènement pour cela.
J'ai testé les évènements Load, Open mais sans succès...




nunurs
Le #6280951
Voici un petit bout de code:

Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rst_rempli As New ADODB.Recordset

cnx.Provider = "Microsoft.Jet.Oledb.4.0"
cnx.ConnectionString = "blabla"
cnx.Open

init_id_produit 'Fonction de récup id_produit

SQL = "SELECT * FROM Produit WHERE id_produit = " & id_produit & ";"
Set rst = Nothing
rst.Open SQL, cnx

Me.txt_produit = rst("nom_produit")
Me.txt_MFG = rst("code_MFG")
Me.txt_fds = rst("feuille_secu")

Cependant rien ne s'affiche dans mes contrôles pourtant le recordset n'est
pas vide alors je me demande si j'utilise bien le bon évènement.
Eric
Le #6280931
Bonjour,

Le 'Set rst = Nothing' ne serait-il pas mal positionné ?
Personnellement, je le mettrai à la fin. Puis il faudrait le parcourir
pour pouvoir renseigner les champs.

Voici un petit bout de code:

Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rst_rempli As New ADODB.Recordset

cnx.Provider = "Microsoft.Jet.Oledb.4.0"
cnx.ConnectionString = "blabla"
cnx.Open

init_id_produit 'Fonction de récup id_produit

SQL = "SELECT * FROM Produit WHERE id_produit = " & id_produit & ";"
Set rst = Nothing
rst.Open SQL, cnx

Me.txt_produit = rst("nom_produit")
Me.txt_MFG = rst("code_MFG")
Me.txt_fds = rst("feuille_secu")

Cependant rien ne s'affiche dans mes contrôles pourtant le recordset n'est
pas vide alors je me demande si j'utilise bien le bon évènement.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Eric
Le #6280921
.../...
Puis il faudrait le parcourir pour pouvoir renseigner les champs.
Inutile, je n'avais pas lu la clause Where du SQL.



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

nunurs
Le #6280911
Le 'Set rst = Nothing' ne serait-il pas mal positionné ?
Peu importe à ce niveau là, vu que je fais mon Open juste derrière.

C'est juste une habitude que j'ai prise de toujours faire un set nothing
avant tout Open sur un recorset :o)

J'ai essayé avec les évènements : sur ouverture, sur chargement, sur
activation.
Rien ne s'affiche pourtant mon recorset n'est pas vide.


Bonjour,

Le 'Set rst = Nothing' ne serait-il pas mal positionné ?
Personnellement, je le mettrai à la fin. Puis il faudrait le parcourir
pour pouvoir renseigner les champs.

Voici un petit bout de code:

Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rst_rempli As New ADODB.Recordset

cnx.Provider = "Microsoft.Jet.Oledb.4.0"
cnx.ConnectionString = "blabla"
cnx.Open

init_id_produit 'Fonction de récup id_produit

SQL = "SELECT * FROM Produit WHERE id_produit = " & id_produit & ";"
Set rst = Nothing
rst.Open SQL, cnx

Me.txt_produit = rst("nom_produit")
Me.txt_MFG = rst("code_MFG")
Me.txt_fds = rst("feuille_secu")

Cependant rien ne s'affiche dans mes contrôles pourtant le recordset n'est
pas vide alors je me demande si j'utilise bien le bon évènement.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




nunurs
Le #6280871
Je peux toujours grugé avec l'évènement Sur activé... mais cela remplira les
champs à chaque fois que le focus sera sur le formulaire....
Avec Sur Activé les champs se remplissent bien, mais le fonctionnement n'est
pas très satisfaisant.
Eric
Le #6280861
re,

Avec un formulaire indépendant contenant 2 zones de texte Texte0 et
Texte2, ce code me renseigne bien les 2 contrôles.

Private Sub Form_Load()
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strSQL As String
cnx.Provider = "Microsoft.Jet.OLEDB.4.0"
cnx.ConnectionString = ";Data Source=" & CurrentProject.FullName
cnx.Open
strSQL = "select * from tclient where numclient=1"
rst.Open strSQL, cnx
Me.Texte0 = rst(1)
Me.Texte2 = rst(2)
Set rst = Nothing
cnx.Close
Set cnx = Nothing
End Sub

Le 'Set rst = Nothing' ne serait-il pas mal positionné ?
Peu importe à ce niveau là, vu que je fais mon Open juste derrière.

C'est juste une habitude que j'ai prise de toujours faire un set nothing
avant tout Open sur un recorset :o)

J'ai essayé avec les évènements : sur ouverture, sur chargement, sur
activation.
Rien ne s'affiche pourtant mon recorset n'est pas vide.



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

nunurs
Le #6280851
hmmm pas très différent de ce que je propose xD
Enfin je vais essayer de me dépatouiller...
Merci :-D


re,

Avec un formulaire indépendant contenant 2 zones de texte Texte0 et
Texte2, ce code me renseigne bien les 2 contrôles.

Private Sub Form_Load()
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strSQL As String
cnx.Provider = "Microsoft.Jet.OLEDB.4.0"
cnx.ConnectionString = ";Data Source=" & CurrentProject.FullName
cnx.Open
strSQL = "select * from tclient where numclient=1"
rst.Open strSQL, cnx
Me.Texte0 = rst(1)
Me.Texte2 = rst(2)
Set rst = Nothing
cnx.Close
Set cnx = Nothing
End Sub

Le 'Set rst = Nothing' ne serait-il pas mal positionné ?
Peu importe à ce niveau là, vu que je fais mon Open juste derrière.

C'est juste une habitude que j'ai prise de toujours faire un set nothing
avant tout Open sur un recorset :o)

J'ai essayé avec les évènements : sur ouverture, sur chargement, sur
activation.
Rien ne s'affiche pourtant mon recorset n'est pas vide.



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Publicité
Poster une réponse
Anonyme