[Access] Questions diverses

Questions diverses [Access] - SQL/NoSQL - Programmation

Marsh Posté le 26-02-2008 à 17:14:53    

Bonjour.
 
Je continu d'apprendre mon access 2003.
Et j'ai maintenant d'autres questions.
 
1) Mise à jour automatique d'un formulaire
 
J'ai réalisé un formulaire.
Et si les champs "normaux" réalisé avec l'assistant fonctionnent correctement (c'est je suppose une lecture simple du champ de l'enregistrement courant), j'ai des champs "zone de liste" et un champ "zone de liste déroulante" que j'ai réalisé seul qui ne fonctionnent pas "correctement".
 
C'est 3 champs ont des requêtes mais je doit créer un bouton "actualiser" et cliquer dessus pour que l'affichage de mes champs s'actualise.
 
Comment faire pour que les champs se mettent à jour seuls lors d'un changement d'enregistrement ?
 
 
 
 
 
2) "Lien cliquable" vers un autre enregistrement
 
J'ai un champ "zone de liste" listant des enregistrements en réponse à une requête.
Comment puis-je faire pour, lors d'un double clic, ouvrir un formulaire pour consulter cet enregistrement ?
Ou mieux: comment faire pour actualiser mon formulaire actuel vers l'enregistrement que je veut consulter sans ouvrir un nouveau formulaire ?
 
 
 
 
 
3) "Moteur de recherche"
 
Je voudrai réaliser un formulaire de recherche.
En étant DANS le formulaire je voudrai remplir une zone de texte et cliquer sur un bouton pour avoir en résultat une liste d'enregistrement.
Mais SANS utiliser la fonction "rechercher" que l'on peut trouver intégrée à Access.
Alors je sais que ça vas se régler à coup de requête SQL avec des SELECT etc etc.
Mais comment je peut récupérer ma variable tapée dans ma zone de texte ?
 
L'idéal serai d'avoir dans le même et unique formulaire:
- Un formulaire avec une zone de texte pour taper ce que l'on cherche
- Le bouton pour lancer la recherche
- Une zone de liste contenant les résultats de la recherche (vide à l'ouverture du formulaire)
 
J'ai bien trouvé ceci mais c'est plus complexe que ce dont j'ai besoin et je ne parviens pas à simplifier pour l'adapter.


---------------
Liberkey, colection d'utilitaires sur clef USB / Silverstone DS380 - Mini tour ITX 8 baies Hot-swap 3.5"
Reply

Marsh Posté le 26-02-2008 à 17:14:53   

Reply

Marsh Posté le 29-02-2008 à 08:05:43    

3) Moteur de recherche :
Le tuto recherche multicritere de Cafeine sur developpez.com
 
Zut ! je viens de voir que tu connaissais... Pourtant, c'est le plus simple à faire. Suffit de comprendre que une requête SQL n'est qu'une chaine de caractères, qu'il faut l'écrire en "dur" et mettre cette chaine de caractère en source de ta liste.
 
Exemple (à l'arrache) :
 

Code :
  1. ChaineSQL="SELECT * FROM Table1 WHERE Champ1='" & ContenuTextBox & "';" 'Ecriture de la chaine de caractere requête
  2. MaListe.RowSource = ChaineSQL 'On met la chaine SQL en source de la liste
  3. MaListe.Requery 'On met à jour l'affichage de la liste


 
Tu remarqueras dans la ChaineSQL que le ContenuTextBox est de type string car il y a les cut (') pour délimiter le string. Par exemple, si tu recherches dans le champ1 le mot MAISON, tu mets MAISON dans ContenuTextBox et ta ChaineSQL deviendra après concaténation :

Code :
  1. "SELECT * FROM Table1 WHERE Champ1='MAISON';"


 
Il faut que tu utilises la méthode ContenuTextBox.AfterUpdate pour lancer la sub, plutôt que le check box du tuto de Cafeine.
 
JM


Message édité par otobox le 29-02-2008 à 08:16:56

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed