Creer une base de donnée access depuis VB.NET

sarapotter987 Messages postés 3 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 23 février 2009 - 31 oct. 2008 à 12:27
SPEFHICHAM Messages postés 3 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 26 janvier 2009 - 26 janv. 2009 à 16:07
Bonjour à tous, voila j'ai un probleme et ca m'obsede , bon je voudrai créer une base de donnée access avec un code VB.NET mais j'y arrive pas donc si il y'a quelqu'un qui pourrai m'aider .... merci d'avence !

3 réponses

SPEFHICHAM Messages postés 3 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 26 janvier 2009
26 janv. 2009 à 16:02
je souhaite que ce site me serais d'une grande utilité.


corialement hicham
0
SPEFHICHAM Messages postés 3 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 26 janvier 2009
26 janv. 2009 à 16:04
je souhaite vivement que l'un des membres de ce pertinent forum prete une attention à mon problème. Et merci.
0
SPEFHICHAM Messages postés 3 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 26 janvier 2009
26 janv. 2009 à 16:07
Bonjour sarapotter987
 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>





Ce tutoriels explique les syntaxes pour se connecter à une BD Access
ajouter , modifier et supprimer des données...
C'est une version simplifiée de ma source(faites grâce à un trés bon tuto)qui ,suite aux mises à jours ,est devenue moins compréhensible pour les débutants , à qui elle était adressée au départ...








1) il faut importer les biblio qui vont permettre d'utiliser ado.net : ( à mettre tout en haut )










      


Imports
System
      ImportsSystem.Data
      ImportsSystem.Data.OleDb
       Imports Microsoft.VisualBasic








2) il faut déclarer les variables :( au dessus de form_load)








      'Déclaration de la variable pour la connection

      Private
cnx
As
OleDbConnection


       'Déclaration de la variable pour la commande 

      
Private
cmd
As
OleDbCommand











 






      'Déclaration de la variable pour le dataadapter





      
Private
dta
As
OleDbDataAdapter








      'Déclaration de la variable pour le dataset
     
 Private
dts
As New
Dataset








      'Déclaration de la variable pour la requête
     
 


Private
sql AsString





      'Déclarationde la variable pour la datatable
       Private dtt AsDataTable





      'Déclarationde la variable pour le datarow
       Private dtr As DataRow





      'Déclaration de la variable pour le Nº de l'enregistrement 
      


Private
rownum As Integer   





      'Déclaration de la variable pour la connectionstring
      


Private
cnxstr AsString





      'Déclaration de la variable pour le commandbuilder
      


Private

cmdb
As OleDbCommandBuilder









Command (cmd) :





permet par le biais d'une requête de récupérer tout ou partie des données de la table.






Dataadapter (dta) :





reçoit les données de la commande (cmd) et les envoies au dataset (dts)






Datatable (dtt) :





le dataset renvoie les données dans la datatable , qui va permettre de récupérer le nº d'enregistrement sur lequel on est placé grace au Nº de ligne (rownum)






Commandbuilder (cmdb) :





il va récupérer les données modifiées et les renvoyer au dataadapter pour recréer le dataset avec les nouvelles données





3) dans form_load on va créer la connection , la commande , le dataadapter , le dataset et la datatable afin de pouvoir ajouter , modifier , supprimer des données dans la table.Afin de ne pas devoir déplacer la base de données on la place dans le répertoire bin du projet et on déclare la connection à <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid="la BD">la BD</st1:personname> de cette façon :










      'ouverture de la connection(à partir du répertoire de l'application)sur la même ligne
      


cnxstr "provider microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\base.mdb;"         
      


cnx = New OleDbConnection
      


cnx.ConnectionString = cnxstr
      


cnx.Open()








      'Création de la requête sql
      


sql = "select table.* from table"










      'Création de la commande et on l'instancie (sql) 
      


cmd = NewOleDbCommand(sql)










      'Création du dataadapter (dta) et on l'instancie (cmd)
       dta = New OleDbDataAdapter(cmd)










      'On instancie la commande (cmd) à la connection (cnx) 
       cmd.Connection() = cnx










      'On charge le dataset (dts) grace à la propriété fill du dataadapter (dta)
      
dta.Fill(dts, "table")










      'On charge la datatable (dtt) grace à la propriété tables du dataset (dts)
                 
       dtt = dts.Tables("table")





Remarque concernant la requête sql :





Select table.* from table
Table est le nom de la table et  " table.* " signifie sélectionner tous les champs de la table





4) Pour pouvoir séléctionner et afficher des données on va se servir
de la variable rownum qui va contenir le Nº de ligne (ou d'enregistrement) sur lequel nous serrons placés
dans la datatable (dtt)et que ces lignes vont de 0 (premier enregistrement) à rows.count-1 (dernier enregistrement).










Pour afficher un enregistrement , dans des textbox , on utilisera la syntaxe suivante :








      
Me
.txt1.text = dtt.Rows (rownum).Item("champ1")
      


Me

.txt2.text = dtt.Rows (rownum).Item("champ2")







Pour ce déplacer dans les enregistrements , on utilisera les syntaxes suivantes suivies de la syntaxe d'affichage données :










      Premier : rownum = 0
      


Précédent
: rownum -= 1
      


Suivant
: rownum += 1
      


Dernier
: dtt.Rows.Count - 1





Pour vérifier si la table contient des enregistrements on utilisera cette syntaxe :


    



      'si la table est vide alors
      If rownum > dtt.Rows.Count - 1 Then



Remarque : Dans chaque boutons de navigation il faudra utilisé une condition pour afficher les données, car si l'on clique sur le
bouton suivant et que l'on est sur le dernier enregistrement etc.cela génèrera une erreur.










Exemple pour le bouton précédent :










      'si début du fichier ou table vide message et sortie de procédure
      


If
rownum = 0 Orrownum > dtt.Rows.Count - 1 Then








            
MessageBox.Show etc....
            


Exit Sub








       Else










            
'aller à la ligne précédente
            
rownum -= 1










            'affichage des données dans les textbox
            


Me

.txt1.text = dtt.Rows (rownum).Item("champ1")
           
 
Me
.txt2.text = dtt.Rows (rownum).Item("champ2")







      End if








5) On va donc afficher le premier enregistrement , si la table n'est pas vide , en plaçant ce code dans le form_load :








       


'si la table est vide alors
      
If
rownum > dtt.Rows.Count - 1 Then








            'Sortie de procédure
            


Exit sub










      'Sinon affichage des données dans les textbox
      

Else









            
Me
.txt1.text = dtt.Rows (rownum).Item("champ1")
           


Me

.txt2.text = dtt.Rows (rownum).Item("champ2")









      
End If








  6) Pour ajouter un enregistrement on utilisera cette syntaxe :










       


'crátion d'une nouvelle ligne avec les données des textbox


      dtr = dts.Tables("table").NewRow
      dtr("champ1") = Me.txt1.Text
      dtr("champ2") = Me.txt2.Text








      'ajout de la ligne dans le DataSet
       dts.Tables("table").Rows.Add(dtr)










      'création et exécution du commandbuilder pour mettre à jour le DataAdapter
       cmdb = NewOleDbCommandBuilder(dta)










      'mise à jour des données du dataadapter(dta)à partir du commandbuilder (cmdb)
       dta.Update(dts, "table")





      'on vide le dataset pour le recréer avec les nouvelles données 
       dts.Clear()
      


dta.Fill(dts, "table")
      


dtt = dts.Tables("table")










7) Pour modifier un enregistrement on utilisera cette syntaxe :










      'récupération de la ligne sur laquel on est placés dans le datarow
      


dtr = dts.Tables("table").Rows(rownum)










      'modification des données

      dtr("champ1") = Me.txt1.Text
      dtr("champ2") = Me.txt2.Text





      'création et exécution du commandbuilder pour mettre à jour le DataAdapter
       cmdb = NewOleDbCommandBuilder(dta)





      'mise à jour des données du DataAdapter à partir du commandbuilder
       dta.Update(dts, "table")





      'on vide le dataset pour le recréer avec les nouvelles données 
      dts.Clear()
      dta.Fill(dts, "table")
      dtt = dts.Tables("table")










8)Pour supprimer un enregistrement on utilisera la syntaxe suivante:










      'suppression de la ligne en cours
      


dts.Tables("table").Rows(rownum).Delete()










      'création et exécution du commandbuilder pour mettre à jour le DataAdapter
       cmdb = New OleDbCommandBuilder(dta)










      'mise à jour des données du DataAdapter à partir du commandbuilder
       dta.Update(dts, "table")










9)Pour fermer les objets et les connections on utilisera ces syntaxes :





      cnx = Nothing
       dts = Nothing





10) Il ne vous reste plus qu'a gérer l'activation et la désactivation des boutons dans chaque procédure et autres finitions(null , msgbox ,etc...)












 
0
Rejoignez-nous