Connectez-vous à la base de données Microsoft Access et remplir DataGridView

Comme dans le précédent post , sensilles beaucoup et avec très peu de code, nous allons voir comment se connecter à Visual Basic. NET avec un fichier de base de données dans Microsoft Access, puis récupérer les données de l'un des conseils DataGridView rempli.

La première chose à faire est d'importer deux espaces de noms comme le montrent ci-dessous:

 Importations System.Data
 Imports System.Data.OleDb

Pour cet exemple nous allons utiliser un formulaire avec un bouton (Button1) et un DataGridView (DataGridView1). Dans l'événement click de button1 une copie le code suivant et le nom de la base de données. Mdb et le nom de table dans la déclaration SELECT ), de sorte que tout fonctionne bien.

 Dim cnn Comme new OleDbConnection ("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C: \ myBaseAccess.mdb; User Id = admin, Mot de passe =;")

 Dim da Comme OleDbDataAdapter Nouveau ("SELECT * FROM Products", cnn)
 Ds As DataSet Nouveau

 da.Fill (ds)

 DataGridView1.DataSource ds.Tables = (0)

Eh bien, en fait pas grand chose à expliquer ... vous créez une connexion (CNN), puis d'un DataAdapter (da) ayant comme paramètre de la déclaration de récupérer les données ( SELECT ) et la connexion à utiliser (CNN). Si vous souhaitez sélectionner uniquement certains dossiers besoin d'ajouter une condition WHERE de l'instruction select.

Dans les lignes qui suivent, nous allons laisser quelques brèves définitions dans le cas où aucun d'entre vous étaient nécessaires et d'en apprendre davantage sur les différentes options pour la création d'une connexion à Microsoft Access Je laisse également le lien suivant: http://www.connectionstrings.com/access

DataAdapter

Représente un ensemble de commandes SQL et d'une connexion de base de données qui sont utilisées pour remplir le DataSet et mettre à jour la source de données.
DataAdapter sert de pont entre le DataSet et une source de données pour la récupération et le stockage des données. Pour agir comme un pont, DataAdapter Remplissez ayants méthode, modifier les données de DataSet pour correspondre à la source de données, et assigne la méthode Update, qui modifie les données dans la source de données afin de coïncider avec ceux de DataSet.

DataSet

Représente un cache en mémoire de données. Il est une composante fondamentale de l'architecture ADO.NET. DataSet est constitué d'une collection d'objets DataTable.

DataTable

Représente une table de données en mémoire.
DataTable est un objet central de la bibliothèque ADO.NET. Parmi les objets qui utilisent DataTable et DataView DataSet inclus.

Lorsque vous accédez à des objets DataTable, vous devez garder à l'esprit que ce sont sensibles à la casse de façon conditionnelle. Par exemple, si un DataTable est appelé "MyDataTable" et autres "MyDataTable", la chaîne qui est utilisée pour rechercher l'une des tables sont considérées comme sensibles à la casse. Cependant, s'il ya "MyDataTable" mais pas "MyDataTable" est considérée comme la chaîne de recherche n'est pas sensible à la casse. Un DataSet peut contenir deux objets DataTable qui ont la valeur TableName même propriété et des valeurs différentes pour la propriété Namespace.

26 Responses to "Connectez-vous à la base de données Microsoft Access et remplir DataGridView"

  1. [...] Pour écrire l'exemple de se connecter à SQL Server et Microsoft Access Connection, j'ai réalisé que même si ceux-ci sont les bases de données des deux types les plus utilisés lors de la [...]

  2. Uruguay carla dit:

    parce que la vérité a été très utile. parce que j'avais besoin d'un code aussi simple que possible parce que j'ai eu des problèmes pour charger une table de l'accès à une grille de données et tous les codes que j'ai essayé c'était la seule chose qui m'a amené sur la table et avec si peu de code
    Avec la vérité et les bénédictions
    Carla

  3. Edwin dit:

    J'ai servi un merci beaucoup! le regarder, même si je voulais savoir comment le filtrage par pays, pour trouver un enregistrement particulier.

  4. Oswaldo dit:

    Salutations .. très bonne votre article et votre page ... je vais demander à la façon de nettoyer l'DataGridView1 chaque fois que vous cliquez sur un bouton pour la requête et afficher les données, mais je pense que le correctif, si elle n'est pas droite, mais au moins j'ai travaillé . La seule chose que j'ai faite a été ajouter "ds.Clear ()"
    Donc:
    ds.Clear ()
    da.Fill (ds)
    DataGridView1.DataSource ds.Tables = (0)

    Maintenant que je fais une zone de texte où taper un nom de panneau d'affichage que les résultats trouvés dans le DataGrid ..

    • Elisée dit:

      A. - Pour nettoyer: ok ce que vous faites, vous pouvez aussi ne DataGridView1.DataSource = Nothing
      2 -. Pour afficher uniquement les données qui correspondent à la zone de texte de la procédure est la même, la seule chose qui change, c'est l'instruction SELECT qui effectue la recherche. Par exemple: "select * from Employés WHERE nom LIKE '%" & TextBox1.Text & "%'"

      Chance

  5. Oscar dit:

    J'ai travaillé avec Visual Studio 6 et je suis en train de travailler avec Visual Studio 2008. J'ai fait ce que le manuel dit pour afficher les données d'une table dans un DataGridView, sans succès. DataGridView est affiché, mais pas les données. Dans le cas de chargement du formulaire sont automatiquement placés lignes de code pour remplir les données, mais apparemment cela ne fonctionne pas. Quelqu'un sait si il s'agit d'un problème connu?

  6. Maxi dit:

    Le fait que cela fonctionne parfaitement moi, mais ce que je ne travaille pas pour moi, c'est la mise à jour insertion et de suppression ... même avec conexionstring sonde et sqlcomand .. et ne pas faire ..
    Toutes les idées?
    Merci beaucoup.

    • Maxi dit:

      Guys Je me répondre.
      insérer:
      Comme New OleDbDataAdapter Dim daagregar ("insert into commandes (IDPLATO, Quantité, IDMesa, CustomerID, Date) VALUES ('" & TxtCodigo.Text & "', '" & TxtCantidad.Text & "', '" & TxtMesa.Text & "', '0', '8 ')", cnx)
      daagregar.Fill (dsPedidos)

  7. Jorge dit:

    hol tel, je voudrais savoir ce que je fais pour insérer des données dans un datagridview, mais si la valeur existe et envoyer un message qui existe déjà parce SALUTATIONS

  8. Gabriel dit:

    Reconnaissants pour le code ...

    Est-il possible de récupérer les données dans le gridview et les mettre dans un fichier PDF?.

    Salutations en provenance du Chili

  9. tttony dit:

    Bonjour, je me connecte avec un DB Access 2007 à partir de C # NET ici tout droit, mais j'ai une table qui comporte trois champs avec des dates et je veux donner un format de sortie et j'ai deux options.:

    1) Après avoir terminé le DataGridView pour formater chaque champ contenant la date

    2) Faites-le avec une instruction SELECT:

    SELECT TOP 20 *, Format ([buy_date], "Long Date") & "" & Format ([buy_date], «Le temps court ') AS [buy_date] tests DE ORDER BY id DESC

    Le problème avec ce point de vue, c'est qu'il met l'[buy_date] de la position 4 à 2 et je dois écrire un code plus à l'ordre et c'est ce que je ne veux pas

    Cordialement

  10. Elisée dit:

    Je reçois le message suivant
    Impossible de trouver ISAM installable.
    da.Fill (ds)
    Je n'ai tout est comme cela?

  11. Pablo_la31 dit:

    Salut! Je vois-je me connecter avec une année 2003 en matière d'accès BD vb.net à partir de là mettre toutes les données à partir de 3 tables dans un DataTable avec toutes les colonnes des tableaux 3, maintenant je veux q est affiché sur un DataGridView, mais pas toutes les colonnes mais à quelque .. comme je peux le faire?

  12. Jordi dit:

    Merci, une explication très simple et très pratique, merci

  13. Daniel dit:

    Excellent post, très utile et très détaillée, ne savais pas qu'il était si facile.

    Merci

  14. Misael dit:

    bonjour! grande forme et très secilla
    Une question une fois que vous remplir le DataSet DataGridView1 Comment pourrais-je obtenir une certaine valeur à partir d'une cellule spécifique, c'est à dire si la valeur kisiera DataGridView1 à la colonne 1 de la ligne 1?

  15. Claudio dit:

    Bonjour;
    J'utilise Visual Basic 2008 Microsofty et les raccourcis comme base de données .. d'écrire le même code qui est affiché dans cette page, j'obtiens une erreur sur la ligne qui dit: da.Fill (ds)

    l'erreur n'est pas contrôlée System.Data.OleDb.OleDbException
    ErrorCode = -2147467259
    Message = "Pas un nom de fichier valide."

    Pourriez-il m'aider?
    Je vous remercie ...

  16. tato25 dit:

    Salut à tous besoin d'aide avec la décharge d'un dossier à la connexion de liaison de données et va bien mais alors pour la haute-je obtenir c'est le code
    connexion:
    Formclientes_Load Private Sub (System.Object sender, ByVal e As System.EventArgs) Handles MyBase.Load
    Connexion As OleDbConnection
    connexion = new OleDbConnection ("Provider = Microsoft.Jet.OLEDB.4.0; source de données = C: \ proyectovb.net \ tesis.mdb")
    Comme DataSet Dim dsCustomers
    Comme consultaclientes String Dim
    consultaclientes = "select clientes.dni, clientes.apellido des clients"
    Comme daclientes OleDbDataAdapter Nouveaux Dim (consultaclientes, connexion)
    dsCustomers = new DataSet ()
    daclientes.Fill (dsCustomers, «clients»)
    Dgvclientes.DataSource dsclientes.Tables = ("clients")

    Ajouter le bouton:
    Comme DataTable Dim TABLACLIENTES = DataTable Nouveau ("Clients")
    Comme DataRow Dim REGISTROCLIENTES = TABLACLIENTES.NewRow
    REGISTROCLIENTES ("dni") = Me.TextBox1.Text
    REGISTROCLIENTES ("NOM") = Me.TextBox2.Text
    TABLACLIENTES.Rows.Add (REGISTROCLIENTES)
    J'utilise à se décharger puis-je faire un nouveau chèque de haut mais d'abord si le dossier existe déjà
    Je m'attends à une réponse de solidarité à travers un certain

  17. Borro dit:

    Grosse bête!
    J'avais déjà brûlé les onglets

    J'utilise vb6 et vb récent changement à l'horizon 2010

    MERCI!

  18. Jeysson dit:

    Me semble que cette N'EST PAS CODE DE VB 2010
    PORFAVOT peut enseigner ce que quelqu'un sait
    EN SAVOIR QUISIEA URGENCE!

  19. Rodhe Gav dit:

    Excellente contribution. Félicitations m'a versé un lot. Je iniciandome dans le monde de VB.NET. Bien que j'ai assez de programmation, mais vous avez toujours besoin d'exemples ainsi quand vous changez le langage de programmation. Cordialement

  20. Jean dit:

    Je n'ai rien vu ouvert à ce sujet, mais je tiens à ajouter des données de formulaire vers une base de données en matière d'accès et je ne peux pas, si quelqu'un pouvait aider à apprécierait

    ce qui concerne

  21. Amaliam dit:

    J'ai été très utile, merci!

  22. Chilon dit:

    Komo litière kapo, regardez j'ai une question, je suis de la programmation avec VB. Net 2008 pour ne pas l'utiliser tout à fait, et bon été ramasser. J'ai commenté.

    J'ai fait un module où ma définition de la coneccionn sentensia, et l'adaptateur de données et un ensemble de données, j'ai fait la connexion dans le saut d'une erreur mais je n mon Coneccion.open, regarde comme je le faisais et me dire si vous pouvez m'aider ..

    MODULE

    Importations System.Data
    Imports System.Data.OleDb
    Module Module1
    Comme ConecZion OleDbConnection New Public ("Provider = Microsoft.Jet.OLEDB.4.0; DataSource = C: \ Documents and Settings \ UTILISATEUR \ Mes documents \ Pr Testear.mdb")
    Comme New DataAdap OleDbDataAdapter publique ("select * from [Club XXXX] commande par NrodeSocio" ConecZion)
    DataSet en tant que public DataSet Nouveau
    End Module

    [B] ET ICI DE LA [/ B]

    FrmFormwork_Load Private Sub (System.Object sender, ByVal e As System.EventArgs) Handles MyBase.Load
    ConecZion.Open ()

    DataSet.Clear ()
    DataAdap.Fill (Dataset, "miTestearDt")
    DataSet.Tables ("miTestearDt"). DefaultView.Sort = "NrodeSocio ASC"

    ConecZion.Close ()
    End Sub

    Cette erreur et STRIP ME

    Impossible de trouver ISAM installable.

    porq peut être? : S..

    J'espère que d'embrasser la réponse

  23. Marco dit:

    Merci pour l'aide que le problème est résolu intervenants créant une instance de l'objet DataSet qui a été déclarée au début, par exemple ma variable est appelé un enregistrement alors il serait: dossier Dim = new DataSet () et le tour est joué!

Commenter