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 :

MS Access 2002 - création dynamique d'une table


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 42
    Points : 25
    Points
    25
    Par défaut MS Access 2002 - création dynamique d'une table
    Bien le bonsoir,

    Je souhaiterais à partir d'un fichier txt non structuré effectuer les actions que voici:
    - créer une nouvelle table ds ma BD
    - y insérer différents champs - champs que je génère de manière dynamique avec la fonction "select case"
    - et pour chaque champ défini y insérer une valeur donnée - valeur que j'extrais dudit fichier txt tout au long de sa lecture.

    Exemple:
    - Création d'une nouvelle table de données répondant au nom de "littérature"
    - sélection du terme "auteur" (case "auteur") - ce dernier devient le nom du 1er champ de ma BD
    - sélection du terme "titre" (case "titre") - ce dernier devient le nom du 2ème champ de ma BD
    - à chaque fois que le terme "auteur" apparait dans le fichier txt (fichier que je parcours) - création d'un nouvel enregistrement avec récupération d'un segment de txt donné
    - à chaque fois que le terme "titre" apparait dans de fichier txt - récupération d'un segment de txt donné information qui vient s'ajouter à l'enregistrement créé ci-dessus et ansi de suite...

    Champ No 1....................Champ No 2
    Auteur...........................Titre
    -----------....................----------
    Auteur_1.......................Titre_1
    Auteur_2.......................Titre_2
    Auteur_3...........................

    Comment procéder...

    Papillon00

  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,

    ton fichier source non structuré ... mais il va falloir qu'il ait quand même une forme de structure ... sinon comment coder un algorithme de lecture ?

    Mon idée, serait de lire ton fichier source et d'écrire directement un fichier d'instructions SQL.

    ex : création de table
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE `bbcode` (`BB` text NOT NULL, `HTML` text NOT NULL );

    ex : insertion de données
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO `bbcode` (`BB`, `HTML`) VALUES ('[ b]', '<b>');
    INSERT INTO `bbcode` (`BB`, `HTML`) VALUES ('[/ b]', '</b>');
    INSERT INTO `bbcode` (`BB`, `HTML`) VALUES ('[ u]', '<u>');
    INSERT INTO `bbcode` (`BB`, `HTML`) VALUES ('[/ u]', '</u>');
    INSERT INTO `bbcode` (`BB`, `HTML`) VALUES ('[ i]', '<i>');
    INSERT INTO `bbcode` (`BB`, `HTML`) VALUES ('[/ i]', '</i>');

    Ensuite tu crées une routine d'exécution ligne à ligne de ton fichier au bon format SQL.
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 42
    Points : 25
    Points
    25
    Par défaut
    Merci pour cette proposition.
    Question: les valeurs 'bb' et 'html' sont codées n'est ce pas... Or je souhaiterais une solution plus souple ou les différentes valeurs se gèrent au niveau des valeurs "case=..." De plus, je constate que mon énoncé ci-dessus est imprécis: à toute nouvelle valeur pour le nom d'un champ donné suit un contenu pour l'enregistrement en cours de formation:

    1- Champ No 1...................3- Champ No 2
    Auteur..............................Titre
    -----------.......................----------
    2- Auteur_1.......................4- Titre_1
    5- Auteur_2.......................6- Titre_2
    7- Auteur_3.......................8- ....

    Légende: X- = ordre séquentiel de constitution de la table ainsi que de l'enregistrement dans le cas présent de 3 enregistrements (le troisième sans indication de titre)

    Pour la suite utile

    Papillon00

  4. #4
    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
    Oulala que c'est confus ...

    1- Tu n'arrives pas à dire si tu as la main sur le schéma de fichier ou s'il t'est imposé.
    Parce que soit tu as inversé 2 et le 3 .. soit c'est illogique ...
    Mais dans les deux cas ce n'est pas du tout l'esprit "base de de données" ...
    En effet, une table ne se parcourt pas par colonne (=Champ) mais par ligne (=Enregistrement).

    2- bb et html ne sont là que pour illustrer une utilisation d'instructions SQL dans un fichier, il doivent être récupérés par le code. Ce qui ne pose aucun problème quand le schéma de fichier source est bien défini.

    La question reste :
    As-tu le choix sur ce fichier d'entrée ?


    Citation Envoyé par Papillon00
    Merci pour cette proposition.
    Question: les valeurs 'bb' et 'html' sont codées n'est ce pas... Or je souhaiterais une solution plus souple ou les différentes valeurs se gèrent au niveau des valeurs "case=..." De plus, je constate que mon énoncé ci-dessus est imprécis: à toute nouvelle valeur pour le nom d'un champ donné suit un contenu pour l'enregistrement en cours de formation:

    1- Champ No 1...................3- Champ No 2
    Auteur..............................Titre
    -----------.......................----------
    2- Auteur_1.......................4- Titre_1
    5- Auteur_2.......................6- Titre_2
    7- Auteur_3.......................8- ....

    Légende: X- = ordre séquentiel de constitution de la table ainsi que de l'enregistrement dans le cas présent de 3 enregistrements (le troisième sans indication de titre)

    Pour la suite utile

    Papillon00
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 42
    Points : 25
    Points
    25
    Par défaut
    ...le format du fichier en question m'est imposé. Le tout était à l'origine un format XML avec fichiers DTD et XSL. N'ayant pas trouvé de solution satisfaisante pour importer les données dans access (à chaque tentative je me trouvais face à des informations débridées et ds l'impossibilité de les regrouper) j'ai pris la liberté d'enregistrer le fichier en question sous la forme d'un fichier txt et commencé à le disséquer.
    Mes fichiers sont constitués ds un premier temps de différentes informations globales relatives aux fichiers eux-même (ex. date de création, nom du fichier, constantes relatives à une personne de contact etc). A un deuxième niveau apparaissent ensuite des constantes et en-têtes de colonnes puis à un troisième niveau les différents enregistrements. Je souhaite par conséquent sur la base de cette structure enregistrer toutes les informations relatives à un fichier ainsi que les constantes et en-têtes de colonnes dans une première table sous la forme d'un seul et unique enregistrement. Cette table pourrait répondre au nom de "Structure". Les divers enregistrements rencontrés sont destinés à une deuxième table répondant par exemple au nom de "Transactions".
    J'espère m'être exprimé clairement ;-) - une importation XML avec utilisation des fichiers DTD et XSL aurait certainement été plus simple - mais dans ce domaine je n'ai malheureusement pas trouvé "chaussures à mes pieds".
    Amicalement

    Papillon00

    P.-S.: les Parser sont de merveilleux instruments pour visualiser des fichiers XML - je n'en ai malheureusement trouvé aucun à même de supporter ou garantir un export de données vers un fichier mdb ou MS-Access

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/11/2012, 20h40
  2. vb6 et access 97 création dynamique de table
    Par lapounto dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/06/2007, 22h09
  3. tableau dynamique via une table sous sql server
    Par bibi2607 dans le forum ASP
    Réponses: 5
    Dernier message: 21/02/2005, 15h45
  4. [FB1.5]Création dynamique d'une procédure stockée ?
    Par Sitting Bull dans le forum SQL
    Réponses: 3
    Dernier message: 10/12/2004, 14h44
  5. [SQL Access] Modifier la structure d'une table
    Par Le Lézard dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/06/2004, 14h03

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