Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 25/05/2011, 16h21   #1
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Par défaut Requète de sous formulaire ne prend pas en compte les changements

Bonjour à tous, je travaille actuellement sur un "programme" en VBA via Access.

Je dois dans un de mes menus ajouter des pièces (désignation, référence, ...) à la base. Pour permettre de copier coller des données, j'ai décidé de gérer tout cela par un sous formulaire, image de la table contenant les éléments.

Bref, mon sous formulaire est donc piloté par le code suivant lors d'une pression sur un bouton "rafraichir" (je fais des tests)

Code :
1
2
3
4
5
6
7
Private Sub rafraichir_Click()
    Dim strObjets As String
    strObjets = "SELECT * FROM Tbl_Objets"
 
    Me![SsFrm_Ajout_Articles].Form.RecordSource = strObjets
 
End Sub
Au début tout va bien, il m'affiche bien ma table, vue que je l'ai mise comme source dans les propriétés du formulaire.

Ensuite, lorsque je j'ajoute des données dans mon sous formulaires, je vais ensuite consulter la table manuellement pour vérifier que cela a été pris en compte, et c'est le cas, donc pas de problème à ce niveau.

Cependant, lors que j'appuie sur le bouton rafraichir, c'est comme si je n'avais rien écris, ce qui est très gênant. En gros, ma requête dont le code est plus haut ne semble pas marcher : les données entrées par le biais des sous formulaires sont invisibles aux yeux de ma requête.... alors qu'elles existent dans la table !

C'est d'autant plus troublant que lorsque je copie ma requête SQL (toute simple quand même !) dans l'outil de création de requête d'access, celle-ci fonctionne parfaitement !

Ma table n'est reliée à rien du tout (pour l'instant), sa seule spécificité est de contenir plus de 10 champs..
.
J'ai eu beau relancer le logiciel, rien n'y fait, je ne comprends pas. C'est comme si il y avait quelque chose à rafraichir.. mais je pense pas que ce soit le sous formulaire vue que celui-ci se rafraichi avec ma requête, et de même lorsque je relance Access.

Quelqu'un aurait il une idée pour me remettre à cheval?



EDIT : C'est pire que ce que je pensais, même en modifiant manuellement dans la table, la requête a l'air de persister à ne vouloir m'afficher qu'une seule valeur dans le sous formulaire... Tout à l'heure j'avais réussi à en mettre trois, mais j'y arrive plus
switchON est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 16h32   #2
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour.

Je suppose que tu as vérifié que après action sur ta commande [Rafraîchir] le code de la procédure évènementielle est bien exécuté...

Si oui, as-tu essayé
Code :
1
2
3
Private Sub rafraichir_Click()
Me.SsFrm_Ajout_Articles.Requery
End Sub
Cdlt,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 16h35   #3
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Affirmatif, étant donné que le tableau affiche à la base la table (table en source du sous formulaire dans propriétés)
Ce n'est qu'une fois le bouton rafraichir enclenché que la liste se réduit à un.

J'ai essayé ta commande, je la connais déjà mais ça a toujours marché sans alors que pendant un moment je la mettais toujours.
Le formulaire se rafraichit bien, le problème doit être ailleurs

EDIT : j'avais pas capté que tu voulais que j'exécute la commande toute seule sans la requête, et effectivement ça marche bien, mais j'ai besoin de passer par une requête car je compte trier avec deux critères par la suite :s.

EDIT2 : Ben non en fait même comme ça ça marche pas. Il ne voit toujours pas les modifications que j'ai effectué alors qu'elles sont bien dans la table.
switchON est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 16h49   #4
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Incompréhensible... ça semble fonctionner quand je lie le sous formulaire à une requête faite via Access avec la même commande SQL...

Je ne comprends vraiment pas pourquoi ça ne fonctionne pas en VBA et ça me gênerais vraiment de devoir procéder autrement, car tout est géré par code. :S
switchON est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 17h53   #5
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
RE,

Ton sous-formulaire est-il indépendant du formulaire?

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 21h41   #6
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Ben à priori oui, il apparaît comme formulaire indépendant dans la liste des formulaires.
Mais je confirme qu'il est "incrusté" dans un autre formulaire. Un sous formulaire quoi
switchON est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 22h32   #7
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Hello.

La question est de savoir si tu as défini un lien père-fils entre le formulaire et le sous formulaire.

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 23h17   #8
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Ben je l'ai créé avec l'assistant donc à priori oui? :/. Puis si c'était pas le cas il n'afficherait rien avec le bouton rafraichir non?
Sinon comment être sur que ce lien est créé?
switchON est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 00h07   #9
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonsoir.

En mode création, tu sélectionnes le conteneur du sous formulaire, conteneur qui devrait s'appeler "SsFrm_Ajout_Articles". Dans la fenêtre des propriétés, page "données", tu regardes s'il y a quelque chose sur les lignes "Champs pères" et "champs fils".

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 09h02   #10
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Bonjour, ces lignes sont en effet vides. A vrai dire je ne me suis jamais soucié de les remplir, cela a toujours fonctionné

Je n'utilise ce sous formulaire que pour afficher, et éventuellement modifier/ajouter


EDIT : Quand je re-créé le sous formulaire, là les résultats sont mis à jours... Mais bon je vais pas m'amuser à le supprimer puis refaire à chaque fois x)
switchON est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 09h15   #11
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Bon je comprends pas... je l'ai recréé une énième fois, et ça semble marcher à présent.. Vraiment étrange :s

C'est peut être parce que je lui avais mentionné la Tbl_Objets tout cour dans la source au départ, le fait d'envoyer par dessus la requête SQL lui fait croire que il n'y a rien à changer et garde donc la même chose sans rafraichir?

EDIT : Bon j'en ai un qui marche et un qui marche plus. J'vais essayer de comparer, je vous tiens au courant.

EDIT2 : Il semblerait qu'ils fallait mettre dans le sélecteur du formulaire principale la formule de la requête dans le champs Source... En tout cas maintenant ça marche, même quand je le ré-enlève. Est-ce un problème logiciel?
Pourriez vous m'expliquer les subtilités qui ont pu causer ce désagrément ou me fournir un lien qui explique comment faire en VBA, car visiblement, le problème doit être entre la chaise et le clavier...
switchON est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 09h49   #12
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Problème résolu pour le moment alors Merci beaucoup pour ton aide.
switchON 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 15h36.


 
 
 
 
Partenaires

Hébergement Web