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 24/12/2011, 16h07   #1
Invité de passage
 
Homme
Étudiant
Inscription : juin 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 10
Points : 0
Points : 0
Par défaut Actualiser deux listes différentes + Bouton d'édition

Bonjour à tous !

Je débute en VBA sous Access et je dois réaliser un projet pour mon prof dans les plus brefs délais. Ce projet consiste à pouvoir afficher (tout dans un même formulaire) 2 listes d'étudiants différentes selon le type de projet sur lequel ils travaillent, un bouton "édition projet" : lorsqu'on clique dessus, cela ouvre un autre formulaire où l'on inscrit l'id du projet, le nom, la description, etc... puis bouton "Valider". En cliquant sur valider, le formulaire principal s'actualise en affichant les étudiants affiliés au projet n°X ou s'il s'agit d'un nouveau projet, la liste est vide.

J'aurais besoin d'aide pour le bouton "édition projet" : le formulaire secondaire est créé avec les différents champs à l'intérieur mais dans le code VBA, comment faire pour que la liste s'actualise sous click du bouton "Valider" ?

Si vous avez besoin de précisions sur certains points, n'hésitez pas à m'en faire part.

Joyeux Noël à tous au passage !
Gannox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/12/2011, 11h01   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
Salut (et joyeux Noël )

Ta liste dans un formulaire peut etre reactualisée avec la fonction Requery (en principe ta liste est alimentée par une requête).

Pour lancer cette fonction lors du click bouton "Valider", il suffira de la lancer avec une ligne du style :
Code vba :
TonForm.TaListe.Requery
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/12/2011, 15h32   #3
Invité de passage
 
Homme
Étudiant
Inscription : juin 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 10
Points : 0
Points : 0
Je viens de modifier mon formulaire secondaire, je ne vais pas partir sur un bouton "Valider" mais sur 3 boutons qui sont : modifier/ajouter/supprimer (un projet).

J'ai fait ceci pour la fonction Ajouter :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Function ajouter_projet_Click()
    Dim ID As Integer
    Dim Nom As String
    Dim Description As String
    Dim Suiveur As String
    Dim AnneeDebut As Integer
    ID = projet_id.Value
    Nom = projet_nom.Value
    Description = projet_description.Value
    Suiveur = projet_suiveur.Value
    AnneeDebut = projet_annee_debut.Value
    Dim recset As ADODB.Recordset
    Dim connex As ADODB.Connection
    Set connex = CurrentProject.Connection
    Set recset = New ADODB.Recordset
 
    Dim sql As String
    sql = "INSERT INTO PROJET (projet_id, projet_nom, projet_description, projet_suiveur, projet_annee_debut) VALUES (projet_id.Value, projet_nom.Value, projet_description.Value, projet_suiveur.Value, projet_annee_debut.Value)"
    recset.Open sql, connex
 
    connex.Close
    Set connex = Nothing 'suppression des objets de la mémoire
    Set recset = Nothing
End Function
Ma fonction marche mais les modifications se font sur la ligne 1 de la table PROJET et ce, irremédiablement. J'aimerais que ca le fasse sur la ligne qui suit la dernière, vu que id_projet est un numéroAuto.

Sinon pour modifier : a la place de INSERT INTO, je vais devoir faire un UPDATE ?
Pour supprimer : je vais devoir faire a la place là aussi un DELETE ?

Merci a toi jpcheck au passage pour ta réponse elle peut tjrs me servir ^^
Gannox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 15h37   #4
Membre habitué
 
Homme Georges HAROT
Inscription : août 2003
Messages : 122
Détails du profil
Informations personnelles :
Nom : Homme Georges HAROT
Âge : 53
Localisation : Belgique

Informations forums :
Inscription : août 2003
Messages : 122
Points : 104
Points : 104
Envoyer un message via MSN à Geache
Bonjour,

Déjà, je ne comprends pas très bien à quoi te servent les variables que tu as définies : ID, Nom, Description... Tu ne les utilises plus dans ta fonction une fois que tu les as affectées.

Ensuite, tu dis que ID est un numéro auto. Alors pourquoi essayer de lui affecter une valeur ? Il doit s'incrémenter tout seul. Je pense donc que le projet_id de ton INSERT INTO et le projet_ID.Value sont superflus dans ta requête sql.

Pour la modification, oui, tu devras remplacer ton INSERT INTO par un UPDATE (mais tu devras d'abord avoir identifié l'enregistrement ad hoc dans ta table, pour la suppression aussi, d'ailleurs) et oui, tu devras remplacer ton instruction INSERT INTO par une instruction de type DELETE.

J'espère avoir pu t'aider un peu.

Bonne journée.
Geache est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h00.


 
 
 
 
Partenaires

Hébergement Web