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

VB 6 et antérieur Discussion :

[VB6] Copier table access


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 57
    Par défaut [VB6] Copier table access
    Bonjour ,
    je souhaite generer des tables access pour toute une annee . ma table original a la nom L1_1_2006 , pour ligne de fab 1 , semaine 1, Annee 2006

    Ma connection se fait pas un ado

    Si join mon code .. mais qui ne marche pas ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Command1_Click()
    Dim table As String
     
    For I = sd To sf ' Sd pour semaine de debut , Sf semaine de fin .. 1 à 52
     
    table = "L" & l & "_" & I & "_" & a  ' Mise en forme du nom  de la table . ex L1_1_2006
    sql = "SELECT L1_1_2006.* INTO " & table & " FROM L1_1_2006"
     
     Adodc1.RecordSource = sql
     Adodc1.Refresh
     
     
    Next I
    End Sub
    merci d avance pour vos conseil

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 100
    Par défaut
    J'ai de la difficulté à comprendre ce que tu veux faire. C'est quoi une ligne de fab ?

    Tu veux créer des tables dans une boucle à partir de variables ?

    l représente quoi ?

    Enfin, si je comprends bien, voici en gros ce que je ferais :

    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
     
    Private Sub Command1_Click()
    Dim table As String
     
    'En assumant que la connection à la base de données est établie
     
    For I = sd To sf ' Sd pour semaine de debut , Sf semaine de fin .. 1 à 52
     
    table = "L" & l & "_" & I & "_" & a  ' Mise en forme du nom  de la table . ex L1_1_2006
    sql = "CREATE TABLE " & table & " (Nom_de_colonne1, Type_de_donnée1, Nom_de_colonne2, Type_de_donnée2...etc)"
     
     Adodc1.RecordSource = sql
     Adodc1.Refresh
     
     
    Next I
    End Sub
    Je te mets juste sur une piste car je ne suis pas sur mon ordi de développement, ça se peut bien qu'il y ait une erreur à cause des guillemets.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 57
    Par défaut
    Bonjour et avant tout merci pour ton aide .

    je ne ve pas creer une table mais recopier ma table de base...

    Ligne de fab st des lignes de fabrications dans l usine ...

    pour chaque ligne il y a un planning par semaine ...

    Donc mes tables se nomment L1( pour la ligne de fabrication ) _1(pour le numero de semaine)_2006 ( pour l annee )

    Je cherche a faire une boucle qui va me creer toute l 'annee 2007

    L1_1_2007,L1_2_2007 ................L1_52_2007

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    En gros, c'est seulement l'année qui change...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CreateAnnee(Byval annee as Integer)
        Dim i as Integer, matable as String
     
        For i = 1 to 52
            matable = "L1_" & Trim$(Str$(i)) & "_" & Trim$(Str$(annee))
            maconnex.Execute("CREATE TABLE " & matable & ".......;")
        Next i
     
    End Sub

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 57
    Par défaut
    merci de vos reponses mais ma command sql tourne sous access ; et fait une copie de ma base original . c est ce que je veux faire , et non une nouvelle table ..

    la comm se fait grace a un adodc entre vb et ma base ..

    merci encore

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Soit plus clair, on ne comprend rien...

    Tu veux créer de nouvelles tables ou une nouvelle base ?

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 89
    Par défaut
    Salut!

    Je viens de découvrir une nouvelle façon de faire (c'est nouveau pour moi ) sur le forum. Je pense que ce que j'ai trouvé peut peut-être t'aider, à toi de voir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim AcAPP As New Access.Application
    Set AcAPP = New Access.Application
    AcAPP.OpenCurrentDatabase "CheminETNomBD.mdb"
     
    AcAPP.DoCmd.CopyObject , "NomTableResultante", acTable, "NomTableOriginal"
     
    AcAPP.CloseCurrentDatabase
    Set AcAPP = Nothing
    Tu as besoin d'ajouter la référence à Access "Microsoft Access X.X Object Library"

    J'espère que ça pourra t'aider. Pour ma part ça fait ce que je veux et assez rapide aussi.

    Bonne chance!

    Mymi

  8. #8
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 89
    Par défaut
    Rebonjour c'est encore moi!

    Je ne voyais pas ce qu'était un ADODC (ça fait trop longtemps que je n'ai pas eu à l'utiliser) et j'ai vu que c'était un "data control". Bien que je n'ai pas trouvé une confirmation, j'ai un doute quant à la possibilité qu'un contrôle ADODC puisse exécuter une requête de type ajout (select into)... mais c'est à confirmer. Peut-être que quelqu'un peut faire du pouce sur l'idée.

    Mymi

  9. #9
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Je ne connais pas bien ADO mais tes deux lignes suivantes me parraissent douteuses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Adodc1.RecordSource = sql
        Adodc1.Refresh
    Si çà fonctionne de manière similaire à DAO , il faudrait quelque chose du genre

Discussions similaires

  1. [VB6]Importer un fichier texte dans une table ACCESS
    Par jean-pierre96 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 26/02/2013, 15h55
  2. [VB6]Copier une table
    Par moi_leila dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/04/2006, 14h16
  3. [VB6]Problème dajout dans une Table Access à cause des group
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/02/2006, 10h06
  4. Table Access : ajout d'un champ depuis VB6
    Par pcvesoul dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 28/09/2005, 09h14
  5. [vb6] Modifier structure table Access sous VB6
    Par jlvalentin dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 25/03/2004, 17h45

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