Access Ouvrir enreg d1 formulaire via control

Fermé
klrblz Messages postés 227 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 24 mars 2021 - 11 août 2008 à 15:20
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 - 14 août 2008 à 11:08
Bonjour,

Désolée de poser cette question à laquelle vous avez déjà répondu plusieurs fois mais ne maîtrisant pas à fond Access et encore moins le code, je n'arrive pas à m'y retrouver dans toutes les explications que j'ai pu trouver.

Je crée une base de données répertoriant l'offre régionale en matière de tourisme d'affaires (hotels, restos, salles de réunion, établissements de nuit) structurée de la manière suivante:
-Une table établissements avec les coordonnées et renseignements généraux
- 4 tables "offre": offre hôtelière, restauration, réunion et nuit.
Ces tables sont liées entre elles par la valeur commune numéro de SIRET.

Un établissement pouvant proposer différents types d'offres (ex: hotel-resto avec salles de reunion), j'aimerais pouvoir naviguer entre mes formulaires à l'aide de boutons contrôles

J'ai essayé de passer par l'assistant contrôle: opération formulaire/ ouvrir/ouvrir et trouver des infos spécifiques avec SIRET comme donnée commune mais cela ne trie rien du tout et me renvoie sur l'intégralité de mes enregistrements.

Cette fonction "contrôle: opération formulaire/ ouvrir/ouvrir et trouver des infos spécifiques" est-elle sensée trier quelque chose? Ou dois-je necessairement passer par du code?

D'avance merci
A voir également:

11 réponses

CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
11 août 2008 à 17:20
Bonjour,

bizarre qu'il ne te trie pas les enregistrements.
Si le bouton ne te trie pas tout effectivement tu dois passer par le code. Sur l'evenement "Sur Clic" du bouton, tu mets un truc du style:
Private Sub bt_Click()

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "FormulaireAOuvrir"
    
    stLinkCriteria = "&[SIRET]=" & [SIRET]
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    
End Sub


Ou si ça ne fonctionne pas, tu peux passer par une requête :

Private Sub bt_Click()

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "FormulaireAOuvrir"
    
    Set db = CurrentDb()
    Set res = db.OpenRecordset("SELECT [SIRET] FROM [Table] WHERE (([Table].[Champ2])='" & Critère1 & "') AND (([Table].[Champ3])='" & Critère2 & "') ;")
    stLinkCriteria = "[SIRET]=" & res![SIRET]
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    
End Sub


Tu n'as juste qu'à adapter ce qui est en gras.
0
klrblz Messages postés 227 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 24 mars 2021 205
13 août 2008 à 14:15
Merci de votre réponse,

La première méthode ne fonctionne pas, il m'ouvre bien le formulaire, avec un tri, mais pas celui que je demande, je ne comprend même pas à quoi il correspond.
Pour la deuxième méthode, pourriez-vous m'indiquer ce que vous entendez par champ 2 et champ3, critère1 et critère2.
En continuant mes recherches je suis tombée sur un forum qui me semble plus ou moins correspondre à mon problème:
https://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/probleme-ouverture-formulaire-sujet_114530_1.htm
Peut être sauriez-vous me dire, sur cet exemple, comment lancer la recherche à partir d'un champ et non d'une liste.
Encore merci
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
13 août 2008 à 14:23
Quel tri veux tu faire précisement ?

Car je comprends pas trop là.
0
klrblz Messages postés 227 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 24 mars 2021 205
13 août 2008 à 15:29
Tout d'abord merci de votre sollicitude.
Ma bdd comporte 1 table établissements et 4 tables offres (hotellerie, restauration, reunion et nuit)
Par exemple un hôtel-restaurant se retrouve donc dans la table établissements, la table hotellerie et la table restauration.
Je voudrais mettre un bouton sur chacun de mes formulaires offres qui me permettrait d'acceder au formulaire établissement mais sur un enregistrement spécifique. (Par exemple passer du formulaire offre hôtelière de l'hôtel Bellevue au formulaire établissements de l'hôtel bellevue), pour cela je dispose d'une donnée commune à chaque table: le champs SIREN.

Klr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
13 août 2008 à 15:35
Ok, je viens de tester un truc chez moi. On va reprendre depuis le début Essaie ça sur le bouton:

Private Sub bt_Click()

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "FormulaireAOuvrir"

stLinkCriteria = "[SIREN] = " & [SIREN] & " "
DoCmd.OpenForm stDocName, , , stLinkCriteria

End Sub

Le 1er SIREN correspond au nom du champs SIREN présent dans le formulaire à ouvrir.
Le 2emer SIREN correspond au nom du champs SIREN présent dans le formulaire déjà ouvert.

Dis moi ce qui s'affiche, pourquoi ça va pas si ça va pas.
0
klrblz Messages postés 227 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 24 mars 2021 205
13 août 2008 à 15:56
Ca ne fonctionne toujours pas. Ca m'ouvre bien le formulaire établissements, ca m'indique que le résultat est trié (entonoir en bas) avec 39 résultats, qui correspondent aux 39 entrées de ma table établissements.
Peut être cela ne fonctionne pas car mes champs SIREN portent strictement le même nom dans les 5 tables?
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
13 août 2008 à 17:17
Non car ce sont les noms des zones de texte des formulaires et non les noms des champs de la table.

Donc aucun rapport avec les tables.

Si tu mets ta bdd sur http://www.cijoint.fr/ je pourrais t'arranger ça ce soir.
0
klrblz Messages postés 227 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 24 mars 2021 205
14 août 2008 à 08:36
Désolée mais mon doc est beaucoup trop gros: 175Mo, j'essaie de supprimer des données mais ca amène des erreurs. Peut être pourriez-vous me transmettre une adresse mail, je vous enverrai la bdd par yousendit.

Cordialement,

klrblz
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
14 août 2008 à 08:42
Je t'es envoyé un message privé. Mais vu la taille c'est chaud.
0
klrblz Messages postés 227 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 24 mars 2021 205
14 août 2008 à 09:37
c bon voici le lien https://spaces.hightail.com/resolve/download/Q01GVWRzQ1A4aU5jR0E9PQ

Par contre faites attention, j'ai du supprimer les relations, il n'y en a plus qu'une entre établissements et offre réunion par salle, c'est sur ce dernier formulaire que se trouve le bouton.

Encore merci pour votre aide
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
14 août 2008 à 10:24
Erf, ce site est bloqué (je suis au boulot).

Pfiou, j'en est marre :(
0
klrblz Messages postés 227 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 24 mars 2021 205
14 août 2008 à 11:04
Et bien je n'ai pas d'autre idée, bcp trop gros pour l'envoyer par lotus aussi...
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
14 août 2008 à 11:08
J'essaierais de la télécharger à midi.
0