Recordset a l'éxécution d'un formulaire

loic911 Messages postés 24 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 10 mai 2005 - 16 avril 2005 à 15:45
loic911 Messages postés 24 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 10 mai 2005 - 16 avril 2005 à 17:35
Salut,

Je doit créer un programme qui affiche des informations des clients
d'une base de donnée en fonction de la référence que l'utilisateur aura
entrée.

Ca marche parfaitement, simplement il faut que je passe tous les
enregistrement dans un recordset a l'ouverture du formulaire. Comme ca
si l'utilisateur fait 10 recherches, le programme n'aura pas a se
connecter 10 fois a la base...il reprendra simplement le recordset.

La deuxième fonction correspond a l'ouverture du formulaire, et la
première s'exécute lorsque l'utilisateur a entrer une valeur et appyuer
sur le bouton "rechercher"



J'obtient cette erreur

http://www.imageshack.us





Option Compare Database

Option Explicit

Dim RecordSet As New ADODB.RecordSet

Dim Connection As New ADODB.Connection

Dim Requete As String



Private Sub Cmd_recherche_Click()





RecordSet.Filter "[NumPro] " & Me.txt_num



Me.txt_num = RecordSet("NumPro").Value

Me.Txt_Nom = RecordSet("Nom").Value

Me.Txt_Prenom = RecordSet("Prenom").Value

Me.Txt_Adresse = RecordSet("Rue").Value

Me.Txt_Ville = RecordSet("Ville").Value

Me.Txt_CodePostal = RecordSet("CodePostal").Value

Me.txt_téléphone = RecordSet("Tel").Value

Me.txt_NumCpte = RecordSet("NumCpte").Value





End Sub





Private Sub Form_Open(Cancel As Integer)



Set Connection = CurrentProject.Connection

Call
RecordSet.Open("SELECT
NumPro,Nom,Prenom,Rue,Ville,CodePostal,Tel,NumCpte FROM PROPRIETAIRES",
Connection, adOpenDynamic, adLockOptimistic)

Connection.Close

Set RecordSet = Nothing

Set Connection = Nothing

Exit Sub

On Error GoTo errorDB



errorDB:

MsgBox Err.Description

Set RecordSet = Nothing

Set Connection = Nothing









End Sub

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 avril 2005 à 16:52
Salut
Commence par utiliser des noms de variable qui ne soient pas des mots réservés comme RecordSet ou Connection : il se peut que VB ait du mal à s'y retrouver. Ajoute simplement une lettre devant, ça suffit.
D'autre part, une fois que tu as chargé ton RecordSet (rst) dans Form_Open (encore un drole de nom), tu le vides avant de sortir, donc, dans la recherche, si tu veux t'en resservir, il faut le re-créer.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
loic911 Messages postés 24 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 10 mai 2005
16 avril 2005 à 17:04
Les noms de variable sont ceux utilisé par les profs.

Form_Open est générer automatiquement par access lorsqu'on désire lancer une fonction a l'ouverture d'un formulaire.

J'ai essayer en supprimant les lignes qui vidait le recordset mais ca ne marche pas
0
loic911 Messages postés 24 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 10 mai 2005
16 avril 2005 à 17:35
J'ai supprimer la fonction form_open et je l'ai recréer et ca a marché

bizarre...
0
Rejoignez-nous