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 21/06/2011, 10h36   #1
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 0
Points : 0
Par défaut Aide List Box

Bonjour à tous,

Je travaille actuellement sur un projet utilisant Access 2000/VB6 et je rencontre des difficultés sur un point. Le "google it" n'ayant toujours pas répondu à mon problème, je requière votre aide.

Contexte:

Un formulaire contenant un sous formulaire (=résultat d'une requête SQL sur ma base Access).

Une fonction pour un click sur l'un des champs de mon sous formulaire ("Statut_fonction": oui/non).

Lorsque l'utilisateur coche ce champs je désire effectuer divers traitements (calculs, Insert, Update, etc.).
Pour cela l'utilisateur doit actuellement insérer une date en format string via un(e) inputbox.
C'est une solution de fortune qui fonctionne mais qui n'est pas vraiment terrible...


Souhait:

Je désire que l'utilisateur choisisse parmi une liste de propositions.
J'ai déjà réalisé la requête permettant de récupérer ces propositions.


Problème:
Je n'arrive pas à faire de listbox avec ces champs.


Code Actuel:

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
25
26
27
28
29
30
31
32
33
34
Private Sub Statut_fonction_Click()
 
'Valeurs Calculs
Dim poidsimportance, poidstotal, NOM, Activite, avancement As Single
 
'Divers
Dim mysql As String
Dim cnn1 As ADODB.Connection
Set cnn1 = CurrentProject.Connection
Dim myRecordSet As New ADODB.Recordset
Set myRecordSet.ActiveConnection = cnn1
 
'InputBox
Dim message, title As String Dim myValue As String 
 
NOM = Forms![Mark/ListeFctMO].Sup
Activite = Forms![Mark/ListeFctMO].Activite
 
 
message = "Entrer la date de fin de [" & NOM & "] sous la forme: dd/mm/yyy"
title = "Insérer date"
 
 
 
 
 
If Forms![Mark/ListeFctMO].gestion = "Weighted milestone" Then
 
Me.Statut_fonction.SetFocus
 
If Me.Statut_fonction.Value = "-1" Then
'MsgBox "Coché"
 
myValue = InputBox(message, title)
Cela viendrait de la ligne 31 du code.

Merci d'avance,
Mark
Orphenia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 12h44   #2
Rédacteur/Modérateur
 
Avatar de ProgElecT
 
Homme Francis MILLET
Inscription : décembre 2004
Messages : 2 930
Détails du profil
Informations personnelles :
Nom : Homme Francis MILLET
Âge : 56
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Secteur : Communication - Médias

Informations forums :
Inscription : décembre 2004
Messages : 2 930
Points : 4 147
Points : 4 147
Envoyer un message via MSN à ProgElecT
Salut

1° question le language de programmation est il bien du VB6 ou du VBA
Comment savoir si l'on utilise VBA (Visual basic pour application) ou VB6 ?

Code :
Dim poidsimportance As ?, poidstotal As ?, NOM As ?, Activite As ?, avancement As Single
Il faut renseigner chaque type de variable, sinon tes 4 premières sont de type variant, seul la dernière et du type déclaré Single.
ProgElecT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 13h22   #3
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 0
Points : 0
Comme renseigné plus haut j'utilise bien VB6 (et non VBA).

Pour les types non déclarés (et donc variant), cela ne pose aucun problème par la suite.
Orphenia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 13h42   #4
Modérateur
 
Avatar de OhMonBato
 
Homme Pierre
Inscription : mars 2007
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : mars 2007
Messages : 2 644
Points : 3 523
Points : 3 523
J'ai aussi un doute sur le VBA/VB6 (VBA s'appelle VB6 aussi... mais tu as certainement vérifié comme indiqué dans le lien donné par ProgElect), j'avoue que j'ignorais totalement la syntaxe de type "Forms![Mark/ListeFctMO].Sup"
Dernière remarque qui facilite la lecture du code : respecter le "standard" d'appellation des controles.
__________________
Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
Vous trouvez une reponse particulierement utile ? Votez pour !
OhMonBato est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 13h56   #5
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 0
Points : 0
Je suis allé voir le lien VBA/VB6 et c'est plutôt mitigé :/
Icone VBA (avec les 4 carrés) mais c'est bien marqué "Visual Basic 6.0".

Le message indiquant une ligne de code erronée provient d'un edit modérateur.

Il n'y a pas d'erreur dans le code fourni, sinon le standard non respecté.
Je recherche une solution de remplacement à ma ligne 34.

En bref remplacer un(e) inputbox qui laisse trop de marge d'erreurs par une ListBox
Orphenia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 13h58   #6
Modérateur
 
Avatar de OhMonBato
 
Homme Pierre
Inscription : mars 2007
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : mars 2007
Messages : 2 644
Points : 3 523
Points : 3 523
Ce n'est pas mitigé du tout : C'est VBA comme expliqué dans le lien donné par ProgElect.
__________________
Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
Vous trouvez une reponse particulierement utile ? Votez pour !
OhMonBato est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h02   #7
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 0
Points : 0
Autant pour moi
Orphenia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 17h43   #8
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Bonjour, Orphenia

Pourquoi ne pas utiliser un formulaire modal ne contenant qu'un champs de type textbox, avec un masque de saisie de type jj/mm/aaa,
voire même avec la possibilité d'intégrer le calendrier en utilisant la proriété "utiliser le sélecteur de date" ?

Tu pourrais même proposer une valeur par défaut (ex : now())
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
si tout est OK, n'oubliez pas de cliquer sur
dumas.blr 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 22h44.


 
 
 
 
Partenaires

Hébergement Web