IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

comment mettre dans une variable une valeur d'un champ ?


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut comment mettre dans une variable une valeur d'un champ ?
    Bonjour.

    je cherche a recuperer dans une variable destinataire un champs mail qui est rechercher par une clé primaire code


    dans ma table commercial j'ai les champs suivant
    (code, mail, nom)

    je recupere depuis une autre table la valeur "code" de commercial.

    un "select mail from... where code = ... " n'est apparament pas possible.
    je fais donc un

    Destinataire = (DLookup("mail", "Attachée_commerciale", "Code_attaché_com= " & OAOREF))
    mais quand je le lance, Apparament ca veut pas puisquil me met opération annulé...

    comment faire?

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    on recommande plutôt l'utilisation des Recordset, en particulier via DAO.

    http://access.developpez.com/faq/?rechercher=recordset
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    mais en fait j'ai ouvert un recordset mais pas sur cette table...

    je veux juste aller chercher un mail dans une table par la clé que j'ai deja recuperer dans une autre table...





    voila mon code complet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    Private Sub enregistrement_Click()
    On Error GoTo Err_enregistrement_Click
      
      '---------------------------------------------'
      'declaration des differentes variables
                'pour la Procedure denvoie de mail'
                Dim LObjet As String
                Dim LeMessage As String
                Dim Réponse As Integer
                Dim Destinataire As String
                Dim PieceJointe As String
                Dim reqdestinataire As DAO.QueryDef
                  
                  
               'enregistrement temp de la piece jointe'
               PieceJointe = "e:\reclamation.snp"
                
                'definition du recordset de texte'
                Dim rstTemp As recordset
                'Pour le reste'
                Dim stDocName As String
                Dim reqtransfert As DAO.QueryDef
        '-------------------------------------------'
      
        'procedure d'enregistrement de la reclamation en cours dans en_attente'
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
        
    
        'passer a la ligne'
        Set rstTemp = Me.recordset
        With rstTemp
            'mise en relation variable/requete'
            Set reqtransfert = CurrentDb.QueryDefs("tranfert en_attente - réclamation")
            'parametrage de la requete'
            reqtransfert.Parameters("Clé") = OAORNO
    
            
            'execution de la requete'
            reqtransfert.Execute
    
    
            'pour Ajouter le mail du commercial
          Destinataire = (DLookup("mail", "Attachée_commerciale", "Code_attaché_com = " & OAOREF))
    
    
     End With
             
            '-----------------------------------------'
            'parametrage des destinataires des mails'
            
            Destinataire = Destinataire & " ; X@X.com"
            '-----------------------------------------'
    
            'suppression de l'enregistrement dans la table en_attente' ' adecommenter'
    '       DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    '       DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
       
    
                  Réponse = MsgBox("Confirmer l'envoi d'un message pour la réclamation " & OAORNO & " à " & Destinataire, vbYesNo + vbQuestion, "CONFIRMATION SVP")
                    
                    If Réponse = vbYes Then
                           'generation du fichier snp pour piece jointe'
                            stDocName = "Voir la réclamation"
                            DoCmd.OutputTo acOutputReport, "Voir la réclamation", acFormatSNP, PieceJointe, False
                            'generation du fichier snp pour piece jointe'
                            LeMessage = "Voici en piece jointe la réclamation numéro " & OAORNO & " concernant le client " & OAALCU & " (numéro de client: " & OACUNO & ")." & "%0A" & "%0A" & "Bonne reception" & "%0A" & "L'équipe Logistique"
                            LObjet = "Réclamation numéro " & OAORNO & " (Saisie le " & OAOSDT & ", Traitée le "
                            EnvoieMail Destinataire, LObjet, LeMessage, PieceJointe
                    End If
    
    
    
       'Ouverture du formulaire de traitement'
       stDocName = "mise a jour reclamation en attente"
       DoCmd.OpenForm stDocName, , , stLinkCriteria
       'fermeture du formulaire courant
       DoCmd.Close acForm, "mise a jour reclamation en attente  2"
       
       
    Exit_enregistrement_Click:
        Exit Sub
    
    Err_enregistrement_Click:
        MsgBox Err.Description
        Resume Exit_enregistrement_Click

Discussions similaires

  1. bash: comment mettre le résultat d'une commande dans une variable
    Par helpcomm dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 03/10/2012, 23h26
  2. comment mettre un filtre sur une variable créée ?
    Par poezart dans le forum Deski
    Réponses: 1
    Dernier message: 04/11/2008, 13h11
  3. Réponses: 4
    Dernier message: 01/02/2008, 21h12
  4. Réponses: 5
    Dernier message: 06/04/2007, 14h05
  5. Réponses: 7
    Dernier message: 02/05/2006, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo