Inclure source DATAGRIDVIEW dans le projet.

Résolu
Tempus01 Messages postés 81 Date d'inscription mercredi 6 janvier 2021 Statut Membre Dernière intervention 27 septembre 2022 - 4 août 2021 à 11:31
Tempus01 Messages postés 81 Date d'inscription mercredi 6 janvier 2021 Statut Membre Dernière intervention 27 septembre 2022 - 4 août 2021 à 17:53
Bonjour le Forum,


Je souhaiterais inclure le fichier source ACCESS ".accdb" du DATAGRIDVIEW dans mon projet afin que lorsque j'installe l'application sur un autre PC il n'y ait pas de le message d'erreur ci dessous.

Ou si cela n'est pas possible dans C:\Users.

Pour info, lors de la création du DATAGRIDVIEW il nous est demandé si l'on souhaite créer le fichier dans le base de l'application, mais même si on dit oui, le fichier est toujours manquant lorsque j'installe mon application sur un autre PC.

Par contre, si je copie la base sous le chemin de l'erreur la base de donnée devient accessible au DATAGRID, mais je ne peux pas faire cela pour tout les postes.

Merci pour votre aide.

4 réponses

cs_Le Pivert Messages postés 7824 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 6 octobre 2022 134
4 août 2021 à 12:10
Bonjour,

sers toi du chemin de ton exe avec la propriété Application.StartupPath

https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.application.startuppath?view=net-5.0

cela nécessite que ton fichier access soit dans le même dossier que ton executable comme ceci:

Chemin = Application.StartupPath & "\monfichier.accdb"

0
Tempus01 Messages postés 81 Date d'inscription mercredi 6 janvier 2021 Statut Membre Dernière intervention 27 septembre 2022 2
4 août 2021 à 13:48
Bonjour cs_Le Pivert,

Merci, j'ai réussi avec le code ci dessous à copier la base dans le même dossier que l'exécutable, mais le DATAGRID reste vide, apparemment cela ne suffit pas.

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 Dim Chemin = Application.StartupPath & "\essai.accdb"

        If System.IO.File.Exists(Chemin) Then

        Else

            IO.File.Copy("C:\essai.accdb", Chemin)

        End If
End sub
0
cs_Le Pivert Messages postés 7824 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 6 octobre 2022 134
4 août 2021 à 14:52
Il faut voir dans le code de remplissage de ta DATAGRIDVIEW que le chemin:
Application.StartupPath & "\essai.accdb" soit bien renseigné!
0
Tempus01 Messages postés 81 Date d'inscription mercredi 6 janvier 2021 Statut Membre Dernière intervention 27 septembre 2022 2
Modifié le 4 août 2021 à 15:41
Voici le code:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 Dim Chemin = Application.StartupPath & "\essai.accdb"

        If System.IO.File.Exists(Chemin) Then
        Else
            IO.File.Copy("C:\essai.accdb", Chemin)
        End If
End sub


  conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\essai.accdb"
        conn.Open()
 Private Sub DatagridShow1()
        Dim Ds As New DataSet
        Dim Dt As New DataTable
        Ds.Tables.Add(Dt)
        Dim Da As New OleDbDataAdapter

        Da = New OleDbDataAdapter("select * From nom_de_la_base", conn)
        Da.Fill(Dt)
        DataGridView1.DataSource = Dt.DefaultView

        conn.Close()
0
cs_Le Pivert Messages postés 7824 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 6 octobre 2022 134
Modifié le 4 août 2021 à 16:50
a mettre la variable chemin ici:

Dim Chemin As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Chemin = Application.StartupPath & "\essai.accdb"


rectifier ceci:

conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Chemin


Le code que tu montres est incorrect.

Voir ici de nombreux exemples pour remplir une DataGridview:

https://codes-sources.commentcamarche.net/source/list/visual-basic-vb-net-1/17-base-de-donnees/last

Voilà
0
Tempus01 Messages postés 81 Date d'inscription mercredi 6 janvier 2021 Statut Membre Dernière intervention 27 septembre 2022 2
Modifié le 4 août 2021 à 17:53
J'ai enfin trouvé, il fallait remplacer "Chemin = Application.StartupPath" par
  Dim chemin = Application.LocalUserAppDataPath &


Merci à vous pour votre aide, les exemples mon aider à corriger le code.
0