Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2810 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1869077
Ideret
Posté le 03-04-2009 à 09:19:46  profilanswer
 

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
mood
Publicité
Posté le 03-04-2009 à 09:19:46  profilanswer
 

n°1869092
olivthill
Posté le 03-04-2009 à 09:43:22  profilanswer
 

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
n°1869107
Ideret
Posté le 03-04-2009 à 09:58:53  profilanswer
 

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
n°1869120
olivthill
Posté le 03-04-2009 à 10:19:19  profilanswer
 

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.

n°1869129
Ideret
Posté le 03-04-2009 à 10:44:43  profilanswer
 

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
n°1869151
SuppotDeSa​Tante
Aka dje69r
Posté le 03-04-2009 à 11:40:23  profilanswer
 

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 !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 

Sujets relatifs
ACCESS - Ajout enregistrement dans un sous-formulaire[BATCH/Windows] Changer valeur d'une chaine dans la base de registre
[VBA] Boutons de commande qui se déplacent quand j'imprimeVariable PHP en Javascript
Variable PHP en Javascriptrecopie texte d'un champ dans un tableau
Définir un type "duration" comprenant des valeur négative.Stockage temporaire d'une valeur ?
variable cannot be resolved 
Plus de sujets relatifs à : Access VBA - enregistrer sous variable valeur d'un champ d'un état


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR