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

Windows Forms Discussion :

[VB.Net] Créer une DataBase Access


Sujet :

Windows Forms

  1. #1
    Membre actif
    Avatar de toubib
    Homme Profil pro
    Médecin, developpeur
    Inscrit en
    Août 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin, developpeur
    Secteur : Santé

    Informations forums :
    Inscription : Août 2004
    Messages : 104
    Points : 298
    Points
    298
    Par défaut [Résolu] [VB.Net] Créer une DataBase Access
    Bonjour à tous.
    Je tente de créer une DataBase Access avec le provider OleDd

    Voici le code:

    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
    Imports System.Data.OleDb
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
    Const CONNECTION_STRING As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=;"
     
            Dim strOledb As String = "CREATE DATABASE HowToDemo"
     
            Dim Maconnection As New OleDbConnection(CONNECTION_STRING)
     
            Dim cmd As New OleDbCommand(strOledb, Maconnection)
     
            Try
                Maconnection.Open()
                cmd.ExecuteNonQuery()
                Maconnection.Close()
            Catch Exc As OleDbException
                MessageBox.Show(Exc.ToString, "Exception Error!", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End Sub
    Cela plante sur Maconnection.Open!!
    Si j'ai bien compris (en regardant des exemples), il faut ouvrir la connection sur aucune base, puis exécuter CREATE.
    Pourtant ma CONNECTION_STRING parrait bonne!!

    Solution?

    Merci

    Toubib

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Data Source ne possède pas de valeur. Si tu ne lui indique pas le serveur (ou le fichier Access), comment veux-tu qu'il sache où crééer la base

  3. #3
    Membre actif
    Avatar de toubib
    Homme Profil pro
    Médecin, developpeur
    Inscrit en
    Août 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin, developpeur
    Secteur : Santé

    Informations forums :
    Inscription : Août 2004
    Messages : 104
    Points : 298
    Points
    298
    Par défaut
    Je me doute que le probleme vient de là.
    (mais effectivement l'exemple de code je j'ai donné, un de mes multiples essais, n'indiquait pas de nom de base!!)

    mais si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Const CONNECTION_STRING As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\nouvelle base.mdb;"
    il me dit qu'il ne peut pas ouvrir une base qui n'existe pas.
    Si je ne donne que le chemin, il refuse aussi.

    Si j'ouvre sur une base existante, il refuse ensuite le CREATE DATABASE!!

    Que faire?

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Créer le fichier base.mdb sur ton PC (Clic droit => Nouveau => Fichier Access)


    Puis apres, tu pourras utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Const CONNECTION_STRING As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\base.mdb;"
    A+

  5. #5
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    toubib, il fait pas de recherche!! c'est pas bien

    http://www.developpez.net/forums/viewtopic.php?t=404315
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  6. #6
    Membre actif
    Avatar de toubib
    Homme Profil pro
    Médecin, developpeur
    Inscrit en
    Août 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin, developpeur
    Secteur : Santé

    Informations forums :
    Inscription : Août 2004
    Messages : 104
    Points : 298
    Points
    298
    Par défaut
    ok , c'est pas possible par code avec ADO.Net de créer une base Access OleDB.
    Il faut la créer à la main!!
    (Cela parrait possible avec SQLClient.)

    Merci

  7. #7
    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
    Comme tu es en VB.Net
    il existe tout de même une possiblité pour la créer par code, une fois créer tu peux très bien reprendre les choses avec OleDb
    Je m'explique, ce code fonctionne
    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
     
    Imports DAO
    Imports DAO.LanguageConstants
    Imports System.Runtime.InteropServices
    '...
    Public Shared Function CreateAccessDatabase(ByVal DatabaseFullPath As String) As Boolean
     Dim result As Boolean = False
     Dim dbe As New DBEngine()
     Dim db As Database
     Try
      db = dbe.CreateDatabase(DatabaseFullPath, dbLangGeneral)
      If Not (db Is Nothing) Then result = True
      Catch ex As Exception : MsgBox(ex.Message)
      Finally : If Not (db Is Nothing) Then db.Close()
      End Try
      Return result
     End Function
    Bien sûr il manque la verif si le fichier existe déjà etc..mais çà marche sans pb
    http://warin.developpez.com/TutorielDAO/?page=sommaire
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  8. #8
    Membre actif
    Avatar de toubib
    Homme Profil pro
    Médecin, developpeur
    Inscrit en
    Août 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin, developpeur
    Secteur : Santé

    Informations forums :
    Inscription : Août 2004
    Messages : 104
    Points : 298
    Points
    298
    Par défaut
    Effectivement , après avoir ajouté la
    réference, le composant COM Microsoft DAO 3.6 Library 5

    Cela fonctionne parfaitement et permet de créer une base Access.
    Merci pour le code.

    Toubib

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

Discussions similaires

  1. Créer connexion entre Vb.net et une base Access
    Par fixfix dans le forum Accès aux données
    Réponses: 9
    Dernier message: 05/12/2007, 10h07
  2. Comment effacer et créer une requete Access ??
    Par Mustard007 dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/11/2005, 23h15
  3. [VB.NET]Créer une instance par page
    Par Dnx dans le forum ASP.NET
    Réponses: 20
    Dernier message: 31/10/2005, 13h22
  4. Créer une base Access avec Delphi
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/10/2005, 16h55
  5. [ADO] [C#] [VB.NET] Compresser une BD Access par .NET
    Par olivierx dans le forum Accès aux données
    Réponses: 4
    Dernier message: 09/03/2004, 09h42

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