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 :

[Transfert automatisé_Access_Chemin d'accès]


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut [Transfert automatisé_Access_Chemin d'accès]
    Bonjour,

    Je souhaite exporter des données (tables) d'une base SOURCE vers une RECEPTION.

    Les deux sont construites sur le même modèle, la base SOURCE restant au bureau contient TOUTES les données, et on veut exporter quelques infos (de la Date1 à la Date2) sur les ordi portables de temps en temps.

    Le principe est :
    1) Dans la base SOURCE, sélectionner la base RECEPTION (Fonction OuvrirFichier)
    2) Supprimer les données des tables dans la base RECEPTION (requête supression)
    3) Ajouter les données entre les Dates1 et Date2 à la base RECEPTION (requete ajout)

    Lors de la 1ère étape j'enregistre la base de données dans Me.CheminBD
    Mais ensuite je n'arrive pas à exécuter les SQL supression et ajout...

    Et je ne sais pas comment, dans une requête avec critères n'exporter (en fait Ajouter) QUE les données entre les deux dates...

    Voici une partie du code, quelqu'un à une solution??

    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
     Private Sub BtnCheminBD_Click()
    Dim Chemin As String
     
    Chemin = OuvrirUnFichier(Me.Hwnd, _
                             "Sélection de la base de données à mettre à jour", _
                             1)
     
       Me.CheminBD = Chemin
    End Sub
     
     
    Private Sub BtnSupress_Click()
     
    Dim SQLSuprEval As String
     
    SQLSuprEval = "DELETE EvaluationTBL.*" & _
                    "FROM EvaluationTBL IN 'Me.CheminBD'"
     
    DoCmd.RunSQL SQLSuprEval
     
    End Sub
    Quand j'entre manuellement l'adresse de la base RECEPTION (C:\Documents and Settings\dess\Bureau\Laituereception.mdb) ca marche, mais il faudrai vraiement qu'on puisse SELECTIONNER le chemin a chaque fois vu que celui-ci change sur le réseau!
    Merci!

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut Lier la table Reception
    Lier la table, la vider , la remplir, supprimer la liaison .

    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
     
    Sub MiseAJour()
     Dim date1 As Date, date2 As date2
     
     'Initialiser les variables
     date1 = #01/06/06#
     date2 = #25/06/06#
     fichier = "e:\reception.mdb"
     tbl = "EvaluationTBL"
     
     Call LiaisonTable(fichier, tbl)
     
     'Vider la table liée
     DoCmd.RunSQL "DELETE EvaluationTBLLiee.* FROM EvaluationTBLLiee;"
     
     'ecrire la requete ebn fonction des dates
     s = "INSERT INTO EvaluationTBLLiee( champ1, champ3 )"
     s = s & " SELECT EvaluationTBL.champ1, EvaluationTBL.champ3 FROM EvaluationTBL"
     s = s & " WHERE ((EvaluationTBL.date)>=#" & date1 & "# And (EvaluationTBL.date)<#" & date2 & "));"
     
     'executer la requete
     DoCmd.RunSQL s
     
     'supprimer la liaison
     DoCmd.DeleteObject acTable, "EvaluationTBLLiee"
     
    End Sub
     
    Sub LiaisonTable(fichier As String, tbl As String)
     Dim t As TableDef
     
     Set t = CurrentDb.CreateTableDef(tbl & "Liee")
     t.Connect = ";DATABASE=" & fichier
     t.SourceTableName = tbl
     CurrentDb.TableDefs.Append t
     
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    Ca à l'air assez compliqué il y a plein de fonctions dont je ne me suis jamais servi!

    Je vais tester tout cela aujourd'hui , merci bien pour ta réponse!


    **************************************

    Avec beaucoup de persévérance j'ai réussi à comprendre ce que tu as écris comme code et à l'adapter à mon projet...et ca marche

    Merci beaucoup c génial ca me sort d'un beau bourbier !!!

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 31/12/2013, 01h56
  2. Réponses: 6
    Dernier message: 05/06/2008, 00h50
  3. Accès à une application ouverte (OLE Automation ?)
    Par PascalB dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/06/2002, 14h39

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