EviLzStaR
Messages postés4Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention15 juin 2005
-
14 juin 2005 à 13:19
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 2011
-
27 juin 2005 à 09:40
Bonjour, je travaille sur access en vba; et je souhaite afficher dans une zone de texte (et pouvoir m'en servir comme base de calcul) le montant horaire d'un salarié en fonction du salarié choisi dans une liste déroulante (CboNom).
Il existe une table avec le nom du salarié dans un champs et son salaire horaire dans un autre champs. Comment pui-je faire pour que à chaque fois que je choisi un salarié dans la liste déroulante, son montant horaire s incrive dans une zone de texte (salairehorair) se trouvant dans le meme formmulaire ?
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 14 juin 2005 à 15:41
Ne pas utiliser de recordset sous Access!
Ils ne sont utiles (à mon sens) que pour accélérer l'affichage, sinon,
il est plus facile de créer les requêtes avec l'assistant et d'y faire
appel par la suite, comme je l'ai expliqué dans la question d'après.
Ce
que tu as fait est inutile, va dans l'assistant, crée une requête,
insert ta table dedans, clique sur tous les champs dont tu as besoin et
dans critère sous le nom du salarié mets la liste déroulante, comme
ceci [forms]!NomduFormulaire.CboNom
Ainsi, lorsque tu appeleras cette requête il sortira le résultat en
fonction du nom de la liste déroulante!!!! EXACTEMENT CE QU'IL TE FAUT!
Pour récupérer le résultat, il suffit de faire un Dlookup, l'aide est
sous access, mais c'est très simple d'utilisation, il existe aussi
DMax, DCount, DLast, DFirst
Pour afficher une liste de résultat (NE PAS FAIRE DE DATAGRID) il
suffit simplement de faire un sous formulaire dont la source est une
requête.
TBBUIM
vaneri2004
Messages postés28Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention17 février 2006 14 juin 2005 à 14:20
Tu mets tout simplement en ItemData de la combo l'id de la personne et à l'événement OnChange de la combo tu fais une requête Sql qui va rechercher le salaire et tu le places dans le textfield.
EviLzStaR
Messages postés4Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention15 juin 2005 14 juin 2005 à 14:35
euh tu pourrais etre un peu plus clair ? (dsl je suis debutant ).
Pour le moment j'ai mis :
Private Sub Actualiser_Click()
Dim rs As Recordset
Dim strSQL As String
strSQL "select sal_horaire from [" & cNomTableOuvriersEvol & "] where nom_ouvrier" & Chr(34) & [CboNom] & Chr(34) & ""
Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
[SalaireHorair] = strSQL ' (je pense que c'est ici que ca va pas)
EviLzStaR
Messages postés4Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention15 juin 2005 15 juin 2005 à 10:03
Merci.
Pour le Dlookup il me met un message d'erreur.
j'ai mis :
Private Sub SalaireHoraire_BeforeUpdate(Cancel As Integer)
DLookUp(sal_horaire,"Ouvriers - évolutions Requête")
End Sub '(avec nomdusalarié et sal_horaire dans la requete Ouvriers - évolutions Requête).
Il me met comme message d'erreur "attendu : ="
Voilà. Merci de ton aide (l'aide de vba n'est pas installée sur mon poste et je suis en stage en entreprise sans possibilité de l installer).
Vous n’avez pas trouvé la réponse que vous recherchez ?