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

Accès aux données Discussion :

[VB.Net 2.0/Access] Comment modifier la connection à une DB ?


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Homme Profil pro
    Coordinateur Qualité
    Inscrit en
    Avril 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinateur Qualité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 62
    Points : 57
    Points
    57
    Par défaut [VB.Net 2.0/Access] Comment modifier la connection à une DB ?
    Bonjour à tous,

    à partir d'un fichier Access template.mdb, j'ai établi une nouvelle DataSource, qui m'a généré automatiquement un beau schéma XSD.

    Mon application devra être capable d'ouvrir différents fichiers Access (ayant tous la même structure mais ne comportant pas les mêmes données). Je dois donc changer la connection en fonction du fichier ouvert.

    Ma question est: quelle est la méthode la plus optimale pour faire ceci ? Lorsque je sélectionne un nouveau fichier, est-ce que je dois faire une boucle sur chaque TableAdapter du schéma XSD en changeant la connection ou y a-t-il un moyen plus simple, par exemple ne changer la connection qu'à un seul endroit ?

    Merci à qui pourra m'aiguiller vers le droit chemin...

    Vonotar.

  2. #2
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Ton fichier app.config devrait contenir tes différentes chaines de connexion. Il te suffit alors de choisir quelle chaine de connexion tu veux utiliser lors de la connection à la BDD, et ton DataSet sera rempli avec lmes données de la base correspondante

  3. #3
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par guitoux1
    Ton fichier app.config devrait contenir tes différentes chaines de connexion. Il te suffit alors de choisir quelle chaine de connexion tu veux utiliser lors de la connection à la BDD, et ton DataSet sera rempli avec lmes données de la base correspondante
    Mmmh.. je ne sais pas là car çà enlève tout l'aspect dynamique que souhaite Vonotar.
    Donc logiquement comme il n'existe que la variable connection, ne serait-il pas possible d'instancier dynamiquement un DataSet fortement typé en fonction de cette variable qu'une fois le fichier souhaité connu
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  4. #4
    Membre du Club
    Homme Profil pro
    Coordinateur Qualité
    Inscrit en
    Avril 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinateur Qualité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    Merci à tous les deux pour vos réponses.

    Effectivement, la proposition de Guitoux ne me convient pas puisque je ne connais pas à l'avance le fichier qui va être ouvert.

    Ou alors, il faudrait que je modifie le paramètre dynamiquement dans les Settings. Mais le fait que ce soit un type Connection String m'empêche de modifier la portée et le Setting est donc en ReadOnly. Et même, est-ce qu'il suffirait de faire ça ?

    Merci à qui pourra faire avancer le schmilblick...
    Vonotar.

  5. #5
    Membre du Club
    Homme Profil pro
    Coordinateur Qualité
    Inscrit en
    Avril 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinateur Qualité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 62
    Points : 57
    Points
    57
    Par défaut Solution adoptée
    Hello !

    J'ai finalement abordé le problème dans l'autre sens: plutôt que de modifier la connection en fonction du fichier, je modifie le fichier en fonction de la connection.

    J'ai donc un fichier template.mdb qui est renseigné dans ma connection string. Dans mon application, quand je fais "Fichier -> Ouvrir" sur un fichier myFile.mdb, ça consiste juste à copier le fichier myFile.mdb sur template.mdb et à mettre à jour le DataSet. "Fichier -> Sauvegarder" recopie template.mdb sur myFile.mdb et "Fichier -> Nouveau" vide les tables de template.mdb.

    Je ne suis pas sûr que ce soit la solution optimale mais ça a le mérite de fonctionner. Si quelqu'un a une solution plus propre à me proposer, je suis bien entendu à l'écoute...

    a+
    Vonotar

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/05/2010, 21h52
  2. Comment modifier par programmation une form crée lors de l'execution
    Par Fab.asia dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 31/07/2007, 14h47
  3. Comment modifier hauteur d'une listview svp ?
    Par windowsxx2001 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/06/2006, 18h34
  4. Vb.Net et Access : comment modifier la structure d'une base
    Par hucliez dans le forum Accès aux données
    Réponses: 3
    Dernier message: 09/11/2005, 13h33
  5. Réponses: 9
    Dernier message: 27/10/2005, 02h58

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