Access VBA - enregistrer sous variable valeur d'un champ d'un état

Access VBA - enregistrer sous variable valeur d'un champ d'un état - VB/VBA/VBS - Programmation

Marsh Posté le 03-04-2009 à 09:19:46    

Bonjour,
Je n'arrive pas à trouver et ca fait pas mal d'heures que je cherche pour stocker une valeur d'un champ d'un état dans une variable.
 
Je m'explique :
- J'ai fais plusieurs requêtes pour avoir un état d'1 BL d'1 technicien avec le détail du BL et après dans une boucle je passe au deuxieme BL du technicien après je passe a un autre tech et etc...
 
Le problème c'est que je veux envoyer ces BL par email et je cherche donc à récuperer les informations pour chaque état mais j'ai pas trouver la solution en VBA.
 
Avez vous une ligne de code à me proposer ?
 
Merci par avance..


Message édité par Ideret le 03-04-2009 à 09:21:13
Reply

Marsh Posté le 03-04-2009 à 09:19:46   

Reply

Marsh Posté le 03-04-2009 à 09:43:22    

Bonjour,
 
Un état ? Vous voulez dire une impression ou bien un statut ?
 
VBA utilise une hiérarchie d'objets.
Pour obtenir une information, il faut utiliser la syntaxe :

la_donnee = nom_objet.value

Le nom de l'objet peut être ambigu, auquel cas, il faut écrire :

la_donnee = nom_pere_objet.nom_objet.value

Parfois il faut mettre un point d'exclamation plutôt qu'un point. Si un nom contient des espaces, il faut le mettre entre crochets. Un des problèmes que rencontre le programmeur est de connaitre l'objet à utiliser. Cela dépend des versions de Access et de la manière dont l'application a été construite. Heureusement, souvent, il est possible d'utiliser un objet particulier, nommé me, qui désigne l'objet en cours.
 
Si votre donnée se trouve dans un champ d'un formulaire, alors utiliser :

la_donnee = Me![nom_du_champ_de_saisie]


Bon courage !


Message édité par olivthill le 03-04-2009 à 09:47:15
Reply

Marsh Posté le 03-04-2009 à 09:58:53    

Merci pour la reponse rapide :)
 
Alors c'est un etat que j'imprime à partir d'une requête que je modifie en SQL pour imprimer BL par BL.
 
Je souhaite que pour chaque impression recupérer les infos contenu dans mon état.
 
Je n'utilise pas de formulaire et j'essaie de faire ressortir mon n° de BL pour commencer.
 
AMI = technicien
 
J'ai essayé Me! mais il dit : utilisation incorrecte du mot clé Me
et les autres ne fonctionnent pas non plus...
 
Voici ma ligne de code :
 
If valeur <> nb Then
'Ma requête en SQL
Req_BL = "SELECT [00_Database_AMI_MAG_EMAIL].Email, [03_Filtre_Num_Auto_BL_Sem].Numauto, [00_Database_AMI_MAG_EMAIL].AMI, [03_Filtre_Num_Auto_BL_Sem].N°semaine, [01_BL_AMI_Clean].[Doc achat], [01_BL_AMI_Clean].Champ2, [01_BL_AMI_Clean].Référence ......... elle est longue... très longue :P"
 
'Modification du critère de la requête via ligne SQL
Req_BL = Left(Req_BL, InStr(1, Req_BL, "WHERE" ) - 1) & "WHERE ((([03_Filtre_Num_Auto_BL_Sem].NumAuto)=" & valeur & " ));"
 
'Actualisation de la requête
CurrentDb.QueryDefs("03_BL_SEM_ETAT" ).SQL = Req_BL
 
--> c'est ici que je travail !
Set bl = ![Référence].Value
valeur = valeur + 1
MsgBox bl
 
'Envoi de l'etat par email
DoCmd.SendObject acReport, "Envoi BL AMI", "SnapshotFormat", mail, "", "", "Bon de livraison de la semaine :" sem & "n° : " & bl, "Bonjour à tous, ceci est un test. Cordialement.", False, ""
 
GoTo suite
End If
 
En gras des valeurs que je veux ressortir pour chaque état


Message édité par Ideret le 03-04-2009 à 10:05:19
Reply

Marsh Posté le 03-04-2009 à 10:19:19    

C'est beaucoup plus clair avec toutes ces explications. Malheureusement, je ne connais pas la solution, ou plutôt je ne dispose que de vieilles solutions qui sont un peu compliquées (par curiosité, vous pouvez voir le mot mail sur le site http://www.mvps.org/access/toc.htm ). Sans doute que quelqu'un d'autre pourra donner une meilleure réponse.

Reply

Marsh Posté le 03-04-2009 à 10:44:43    

J'ai pas trouvé sur le site mvps.org  
Par contre je travail un peu comme ca, en contournant les problèmes lol
Tes "vielles solutions" comme tu dit sont le bienvenu !
Tu ferais comment toi?
Créer un formulaire qui reprend les infos pour les enregistrer dans des variables?
 
De toute facon mon but c'est d'avoir ces variables peux importe le moyen ^^


Message édité par Ideret le 03-04-2009 à 11:00:45
Reply

Marsh Posté le 03-04-2009 à 11:40:23    

Bonjour
 
Pourquoi ne stockes tu pas dans une table 'temporaire' les informations de ton etat, qui finalement sont le resultat de ta requete ?
 
Ou alors, si ta requete ne renvoie qu'un seul enregistrement (Si j'ai bien tout compris), un DLookup("[Référence]","NomDeLaRequeteDeTonEtat" )
 
Tu peux aussi la recuperer comme ca :
bl=Reports("NomDeTonEtat" )("Référence" )
 
Apres j'ai pas toutes les infos, c'est un peu vague...
 
Edit : Le Me! ne fonctionne que si tu es dans le module de l'etat.


Message édité par SuppotDeSaTante le 03-04-2009 à 11:42:12

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed