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

VBA Access Discussion :

ajoute une date de reunion pour plusieur enregistrement


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Par défaut ajoute une date de reunion pour plusieur enregistrement
    bonjour

    je souhaiterai a partir d'un formulaire rentre dans une zon de texte une date et que cette date s'ajoute a tout les logements qui ne sont pas finalisé.

    voila le sql de la requete normale
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT SUIVI_MODIFCATION_TRAVAUX.DATE_REUNION, SUIVI_MODIFCATION_TRAVAUX.NUM_LOGE, SUIVI_MODIFCATION_TRAVAUX.NUM_OPERATION, LOGEMENT.MODIFICATION_FINALISER
    FROM LOGEMENT INNER JOIN SUIVI_MODIFCATION_TRAVAUX ON (LOGEMENT.NUM_OPERATION = SUIVI_MODIFCATION_TRAVAUX.NUM_OPERATION) AND (LOGEMENT.NUM_LOGE = SUIVI_MODIFCATION_TRAVAUX.NUM_LOGE)
    WHERE (((LOGEMENT.MODIFICATION_FINALISER)<>Yes));

    j'ai essai de faire une requete d'ajout mais sa marche pas j'avai fait sa :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO SUIVI_MODIFCATION_TRAVAUX ( DATE_REUNION, NUM_LOGE, NUM_OPERATION )
    SELECT SUIVI_MODIFCATION_TRAVAUX.DATE_REUNION, SUIVI_MODIFCATION_TRAVAUX.NUM_LOGE, SUIVI_MODIFCATION_TRAVAUX.NUM_OPERATION
    FROM LOGEMENT INNER JOIN SUIVI_MODIFCATION_TRAVAUX ON (LOGEMENT.NUM_OPERATION = SUIVI_MODIFCATION_TRAVAUX.NUM_OPERATION) AND (LOGEMENT.NUM_LOGE = SUIVI_MODIFCATION_TRAVAUX.NUM_LOGE)
    WHERE (((SUIVI_MODIFCATION_TRAVAUX.DATE_REUNION)=[Formulaires]![Suivi des modifications travaux]![DATE_new_reunion]) AND ((LOGEMENT.MODIFICATION_FINALISER)<>Yes));

    Il faut savoir que la table SUIVI_MODIFCATION_TRAVAUX à 3 clé primaire DATE_REUNION, NUM_LOGE,NUM_OPERATION

    qui peux m'aide??

  2. #2
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Bonjour,

    Tu veux ajouter à des lignes déjà présentes dans la base une date ou tu veux créer des lignes ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Par défaut
    Citation Envoyé par mathieu44800
    Bonjour,

    Tu veux ajouter à des lignes déjà présentes dans la base une date ou tu veux créer des lignes ?

    je souhaite crée des nouvelles lignes avec une date que l'on choisiera et le N° de l'operation, n° logement qui on pour condition pas encore finalisé

    tu sais comment faire?

  4. #4
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    RE,

    Il faudrait faire un query du style :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT SUIVI_MODIFCATION_TRAVAUX.NUM_LOGE, SUIVI_MODIFCATION_TRAVAUX.NUM_OPERATION, 
    FROM LOGEMENT INNER JOIN SUIVI_MODIFCATION_TRAVAUX ON (LOGEMENT.NUM_OPERATION = SUIVI_MODIFCATION_TRAVAUX.NUM_OPERATION) AND (LOGEMENT.NUM_LOGE = SUIVI_MODIFCATION_TRAVAUX.NUM_LOGE)
    WHERE (((LOGEMENT.MODIFICATION_FINALISER) <> Yes));

    Pour récupérer dans un recordset les valeurs à inserer.

    Et tant que Not Recordset.EOF
    - ouvrir autre recordset
    - query = "INSERT INTO SUIVI_MODIFCATION_TRAVAUX ( DATE_REUNION, NUM_LOGE, NUM_OPERATION ) VALUES ('"& taDate & "', " & REcordset.fields(0).value & ", " & recordset.fields(1).value & ")"
    - Executer la query
    - Vérifier que le nombre d'enregistrements crée est bien égal à ce que tu as selectionné
    Fin tant que

    Voila, c'est comme ça que je ferais.


    Pour finir, insérer dans ta table

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Par défaut
    salut
    merci pour ta reponse mais je suis débutant et je ne comprend rien tu peux m'explique avec plus de détail j'ai joint un morceau de la base.

    aide moi stp

  6. #6
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Re,

    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
     
        Dim db As Database
        Set db = CurrentDb
        Dim Record As Recordset
        Dim Record1 As Recordset
        Dim valeur as Long
        Set Record = db.OpenRecordset ("SELECT SUIVI_MODIFCATION_TRAVAUX.NUM_LOGE, SUIVI_MODIFCATION_TRAVAUX.NUM_OPERATION, 
    FROM LOGEMENT INNER JOIN SUIVI_MODIFCATION_TRAVAUX ON (LOGEMENT.NUM_OPERATION = SUIVI_MODIFCATION_TRAVAUX.NUM_OPERATION) AND (LOGEMENT.NUM_LOGE = SUIVI_MODIFCATION_TRAVAUX.NUM_LOGE)
    WHERE (((LOGEMENT.MODIFICATION_FINALISER) <> Yes));")
        Dim OK as int
        While Not Record.EOF
            Set Record = db.OpenRecordset("INSERT INTO SUIVI_MODIFCATION_TRAVAUX ( DATE_REUNION, NUM_LOGE, NUM_OPERATION ) VALUES ('"& taDate & "', " & REcordset.fields(0).value & ", " & recordset.fields(1).value & ")") ' 
            If(Record.RecordCount = 1) Then
                  OK = 1
            End If
            Record.MoveNext
        Wend
        If (OK = 1) Then
            MsgBox "Affecte !" 
        End If
    Le code sera peut etre a adapter...

    Bon courage,

    +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Problème dans une macro pour ajouter une date
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2015, 20h28
  2. Code SAS Guide pour ajouter une date à une table
    Par Pierre-Henri ROBLOT dans le forum Outils BI
    Réponses: 8
    Dernier message: 17/07/2014, 16h23
  3. saisir une seule fois une donnée pour plusieurs enregistrements
    Par yulalienor dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/06/2010, 18h38
  4. comment ajouter une date dans un enregistrement
    Par INCO13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/06/2008, 18h59
  5. une entrée pour plusieurs enregistrement
    Par mindar dans le forum Modélisation
    Réponses: 2
    Dernier message: 08/06/2007, 09h47

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