Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/01/2012, 10h07   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 4
Points : 4
Par défaut Besoin de comprendre - Formulaire Recherche

Bonjour,

J'essaye actuellement de créer une petite base de données pour mon boulot, qui me simplifierait bien la tâche. Pour l'instant je tatonne, et après quelques fondations, j'essaye d'implanté un formulaire de recherche tout simple, de nom et prénom.

Alors pour info, impossible d'ouvrir l'assistant recherche, je ne sais pas trop pourquoi ("unable to find a version of the runtime to run this application"winking smiley. (Framework 4.0 installé pourtant)

Mais bref.

Ma démarche, était de créer la fonction recherche à l'aide de macro, et cela m'aiderait beaucoup si vous pouviez m'expliquer à quel moment ma démarche, et ma réflexion, est fausse.

Donc pour résumer, je crée 2 textbox, nommée TXT_RechercheNom et TXT_RecherchePrenom, un bouton recherche (BT_Recherche) et une listbox pour afficher les résultats (LST_ResultatsRecherche)

Ma démarche a donc été de créer un évènement sur clic du BT_Recherche, une macro, qui dit :

Code Macro Access :
1
2
3
4
5
6
7
8
9
Si [TXT_RechercheNom]=""
Alors DéfinirVarTemp
Nom : RechercheNom
expression = "*"
 
Sinon DéfinirVarTemp
Nom : RechercheNom
expression = [TXT_RechercheNom]
Fin si

Idem pour le prénom.

Ensuite j'ai mis "Actualiser [LST_ResultatsRecherche]


Et dans l'évènement de la LST_ResultatsRecherche, après MAJ,

Code Macro Access :
1
2
3
4
5
6
OuvrirRequête
Nom : Recherche
Affichage : Feuille de données
Mode de données : lecture seule
 
Actualiser LST_ResultatsRecherche


Avec la requête Recherche qui contient :

Code SQL :
1
2
3
4
SELECT [Nom], [Prenom], [DateDeNaissance]
FROM Patients
WHERE [Nom]=[VarTemp]![RechercheNom] AND [Prenom]=[VarTemp]!RecherchePrenom]
ORDER BY Patients.Nom, Patients.Prenom;


Voila. quand je clic, il ne se passe rien, je ne sais pas vraiment ce qui ne colle pas, j'espère que vous pourrez m'éclairer sur le sujet smiling smiley
baryn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 10h14   #2
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220


Il y a pas mal de tutos sur le sujet des formulaires de recherches. Je te recommande fortement d'y plonger sans modération

1) Recherche multicritères avec ou sans code
2) Recherche multicritères
3) Formulaire de recherche prêt à l'emploi

Entre autres ...

Bonne lecture
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 20h04   #3
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 4
Points : 4
Merci pour ta réponse.

Oui, je m'y plonge actuellement je pense du coup transformer tout ca en code VBA.

Mais, je souhaiterais quand même, pour mieux apprendre, comprendre pourquoi ma solution ne fonctionne pas... Si quelqu'un peut m'éclairer ??
baryn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 07h50   #4
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220


Je ne manipule pas trop les macros mais il me semble qu'il ne se passe rien parce qu'il faudrait faire une réactualisation de la liste LST_ResultatsRecherche (en quelque sorte une relecture de la requête source de la liste)

Bonne continuation
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 08h42   #5
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 4
Points : 4
Donc dans la macro de LST_ResultatsRecherche, l'étape finale "Actualiser" ne suffit pas ?

Peut-être que je devrais le faire en sous formulaire ?
baryn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 08h25   #6
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220


Tu n'es pas obligé de passé par un sous formulaire voici ci-dessous un exemple de code que tu peux placer sur l'évènement "Sur Clic" du bouton de recherche :

Code VBA :
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub btnRecherche_Click()
    Dim l_strSql As String
 
    l_strSql = "SELECT [T_Auteur].[CodeAuteur], [T_Auteur].[NomAuteur], [T_Auteur].[PrenomAuteur] " _
                 & "FROM [T_Auteur] " _
                 & "WHERE NomAuteur = '" & Me.txtNom & "' AND PrenomAuteur = '" & Me.txtPrenom & "'"
 
    ' Mise à jour de la liste
    Me.lstRecherche.RowSourceType = "Table/Query"
    Me.lstRecherche.RowSource = l_strSql
 
End Sub

A adapter avec tes noms de champs et de tables bien sur

Bonne continuation
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 09h17   #7
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 4
Points : 4
Ok, je vais donc me lancer en VBA je pensais pouvoir ruser et y échapper mais à priori ça n'est pas la solution

Un grand merci pour tes conseils en tout cas
baryn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h05.


 
 
 
 
Partenaires

Hébergement Web