GESTION DE BASE DE DONNÉE ACCESS COMPLÈTE AVEC ORIENTÉ OBJET

wiwi44521 Messages postés 2 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 8 février 2008 - 8 févr. 2008 à 22:24
thierryppp Messages postés 7 Date d'inscription jeudi 17 septembre 2009 Statut Membre Dernière intervention 25 janvier 2012 - 3 sept. 2009 à 11:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45675-gestion-de-base-de-donnee-access-complete-avec-oriente-objet

thierryppp Messages postés 7 Date d'inscription jeudi 17 septembre 2009 Statut Membre Dernière intervention 25 janvier 2012
3 sept. 2009 à 11:49
Bonjour,
Je n'ai que office 2003 avec VB express 2008.
Et donc j'ai le problème :
"Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas inscrit sur l'ordinateur local."

Pourrais tu fournir une base access 2003 avec ton code.
Merci,
Thierry.
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
26 juil. 2009 à 08:35
Mon application est en VB.NET pas en VB6 :)
hayyoun Messages postés 4 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 24 octobre 2009
26 juil. 2009 à 00:41
je voudre un exemple de projet de gestion de materiel informatique d'un entreprise qui fait par vb6 et de base donne acces 2003,par la méthode ado . puis comment fait un conniction de requêter avec datacombo qui sélection un nom de utilisateur de materiel qui utiliser
cs_Gwendal3 Messages postés 24 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 7 mai 2009
20 mai 2009 à 19:23
Bonjour,

A mon avis, c'est normal! ;-) Ce n'est pas ton application qui est en cause mais plutôt ta façon de faire.... Je m'explique:
Tu développes dans l'environnement VB, si tu exécutes le code en débogage (F5) celui travaille avec une base "temporaire".
Pour que ton application fonctionne réellement, il faut faire une compilation complète (publication je crois)

Gwendal
chepac Messages postés 1 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 20 mai 2009
20 mai 2009 à 14:18
Oui toujour , je vais la prendre en esperant quelle puisse m'aidé .


je suis en stage actuellement , je doit faire une applications en Vb.net pour me familiariser avec l'environement crosoftien .

Mais j'ai du mal a m'adapter , j'ai une BDD en local (.sdf) . J'arrive via mon application à ajouter des élèments dans la base mais c'est informations ne sont plus la , lorsque je visionne les élements via Visual Basic 2008 . Alors que quand j'ajoute manuellement a la base , dans mon applications elles aparaissent .

Je ne comprend pas trop le principe de la connection aux bases via VB .

Merci pour ton travaille :)
cs_Gwendal3 Messages postés 24 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 7 mai 2009
15 mai 2009 à 18:57
Bonjour,

ET pourquoi tu ne re-télécharges pas l'archive? Je viens de la télécharger et le dossier est plein...
C'est la première chose à faire...

Je vois que cette source passionne toujours. ;-))

Gwendal
cs_etienne_s Messages postés 2 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 15 mai 2009
15 mai 2009 à 17:07
Pourtant, je ne trouve dans le. zip que "Gestion de base de donnée By ThoT.sln" , mais aucun formulaire, aucune base de donnée ????
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
15 mai 2009 à 10:02
Bonjour, Nonnon le dossier n'est pas vide ;)
cs_etienne_s Messages postés 2 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 15 mai 2009
14 mai 2009 à 22:49
Bonjour
votre source m'intéresserait beaucoup, mais le dossier téléchargé est vide.
fetsa054 Messages postés 12 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 19 mars 2009
3 mars 2009 à 08:50
Effectivement, j'utilise Office 2003...
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
3 mars 2009 à 08:27
Ton pc est bien à jour? as tu office 2007 ?
Et si tu utilise Microsoft.Jet.OLEDB.4.0 il sert à utiliser des bases de données office 2003 donc est tu sur que la cible est du < 2007 ?
fetsa054 Messages postés 12 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 19 mars 2009
2 mars 2009 à 15:57
bonjour,

J'ai télécharger le projet, mais j'ai un problème en essayant de l'executer ca me marque sur la ligne
cnx.Open() 'on ouvre la connexion
de classbdd.vb
Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas inscrit sur l'ordinateur local.

J'ai donc remplacé dans tout les fichiers 'Microsoft.ACE.OLEDB.12.0 par 'Microsoft.Jet.OLEDB.4.0
mais ca ne marche toujours pas,
Que dois-je faire?
merci
cs_Cygne Messages postés 2 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 8 février 2009
8 févr. 2009 à 18:21
Pour passer de VB2008Express à VB2005Express ou l'inverse, je dispose de deux windows sur l'un est installé VB2005Express, sur l'autre VB2008Express.
Pour importer le projet existant je le copie d'abord sur une clé, je crée un projet dans le VB concerné et j'importe une à une toute les Form.VB de l'ancien projet par le menu "Projet" "Ajouter un élement existant".
Bon amusement.
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
10 déc. 2008 à 20:40
Je suis sous visual studio 2008, je ne sais pas comment le convertir en 2005 ...
cs_taychi Messages postés 2 Date d'inscription samedi 24 avril 2004 Statut Membre Dernière intervention 10 décembre 2008
10 déc. 2008 à 18:58
BON SOIR EST CE QUE VOUS POUVEZ LE CONVERTIR EN VERSION 2005 ET NOUS L ENVOYER
cs_taychi Messages postés 2 Date d'inscription samedi 24 avril 2004 Statut Membre Dernière intervention 10 décembre 2008
10 déc. 2008 à 18:56
JE NE PEUX PAS OUVRIR VOTRE APPLICATION SOUS VISUAL STUDIO 2005
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
27 sept. 2008 à 23:12
Je pense que tu peux l'ouvrir avec vb 2008 express mais il faut ouvrir le fichier projet (.vbproj) et non la solution que l'on ne peut ouvrir que avec le vrai visual studio (.sln)
inforedaster Messages postés 9 Date d'inscription mercredi 21 décembre 2005 Statut Membre Dernière intervention 28 septembre 2008
27 sept. 2008 à 01:22
bonjour

j'ai télécharger le projet mais j'arrive pas l'ouvrir avec vb 2005 ni 2008 express

mais ça me dit que c'est crée avec une version plus recente donc comment je peux louvrir
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
7 août 2008 à 15:25
Je comptais vous le montrer en mettant à jour ma source mais je peux te le dire maintenant...

Donc pour le chemin de la connexion c'est :
"Provider Microsoft.ACE.OLEDB.12.0; Data Source C:\db.accdb"
salut2lemonde Messages postés 17 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 18 mai 2009
7 août 2008 à 12:29
salut;
monpb est resolu!j'aai fait une connexion est j'ai remplie une table access 2003!
mais commant faire pour la connexion avec access 2007? merci pour les conseil
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
7 août 2008 à 12:14
Merci gwendal :) Cela me motive encore plus pour refaire ma source de zero, cela fait longtemps et je pense qu'il y a beaucoup de choses à revoir même si actuellement il y a beaucoup de choses qui permet d'apprendre à gérer une base de donnée access.
cs_Gwendal3 Messages postés 24 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 7 mai 2009
7 août 2008 à 11:51
Salut,

Ici ce n'est pas un forum....
1- Tu déclares plusieurs variables identiques pour une même connexion
Private Conn As New OleDbConnection()
Private Connect As New OleDbConnection()
Dim conn As New System.Data.OleDb.OleDbConnection

2- En .Net, ceci ne sert à rien
'Private WithEvents RS As New ADODB.Recordset

3- Tu ne contrôles pas que la connexion est établie, mais simplement que le chemin d'accès vers ta base est correcte.
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Environment.CurrentDirectory & "\sal.mdb;"
MessageBox.Show("connexion etablie")

4- Je n'ai pas vu de requête
'On lie la connection en fonction de la requete
OleDbdataAdapt = New OleDbDataAdapter(OleDbCmd)
OleDbCmd.Connection() = conn

Je pense qu'il faut revoir l'ensemble à partir d'un exemple correcte... Télécharge cette source, regarde comment wiwi44521 a fait. C'est une très bonne source pour apprendre, et comme je l'ai déjà dit elle est aussi très bien documentés.

Pour obtenir plus d'aide, vas poster un message dans le forum approprié.

Gdal
salut2lemonde Messages postés 17 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 18 mai 2009
7 août 2008 à 10:34
salut j' utiliser une fonction pour enregistrer dans une table; en effet je veut remplir une table par un code; mais il m'affiche tj un msg d'erreur.mais la connexion est bien etabli
Inherits System.Windows.Forms.Form
Dim OleDbCmd As OleDbCommand
Dim MyDataSet As New DataSet()
Dim OleDbdataAdapt As OleDbDataAdapter
Dim MyDataTable As New DataTable
Dim RowIndex As Integer
Private Conn As New OleDbConnection()
Private Connect As New OleDbConnection()
Private MyDataRow As DataRow
Private CmdBuild As New OleDbCommandBuilder()
Private _nom As String
Private _prenom As String

'Private WithEvents RS As New ADODB.Recordset
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn As New System.Data.OleDb.OleDbConnection
Try
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Environment.CurrentDirectory & "\sal.mdb;"


MessageBox.Show("connexion etablie")

Catch ex As Exception
MessageBox.Show("connexion echouée")
End Try
'On éfface toutes les données précédement enregistré dans le dataset

Me.MyDataSet.Clear()
Try
'On lie la connection en fonction de la requete

OleDbdataAdapt = New OleDbDataAdapter(OleDbCmd)
OleDbCmd.Connection() = conn
Catch ex As Exception
MessageBox.Show("Erreur", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
'On envoie les données de la table dans le dataset
OleDbdataAdapt.Fill(MyDataSet, "Table1")
'Le dataset est retransmi dans le datatable
MyDataTable = MyDataSet.Tables("Table1")
'on ferme la connection
conn.Close()
'On créé une nouvelle ligne
Me.MyDataRow=Me.MyDataTable.NewRow
'On incrémente la clé de la table
Me.MyDataRow("nom") = Me.MyDataSet.Tables.Item(0).Rows.Count + 1
'On entre les informations contenues dans les variables dans le datarow
Me.MyDataRow("prenom") = "salma"
'On revoie la ligne dans le datatable
Me.MyDataTable.Rows.Add(Me.MyDataRow)
'On reouvre la connection
Me.Conn.Open()
'on défini le constructeur de commande et on l'adapte
Me.CmdBuild = New OleDbCommandBuilder(OleDbdataAdapt)
'On met à jour la commande
OleDbdataAdapt.UpdateCommand = Me.CmdBuild.GetUpdateCommand()
'On envoi les données dans la base et on met à jour le datagridview
OleDbdataAdapt.Update(MyDataSet, "Table1")
'On ferme la connection
Me.Conn.Close()
ma table comporte deux champs nom,prenom elle est vide pou le moment dans la form j'ai pas de dataset ou dataadapt sauf dans le.j'ai vraiment besoin d'aide.merci
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
18 juin 2008 à 20:24
Bonjour, oui je n'avais pas pensé à mettre cela ;) Je le ferais par la suite et je mettrais à jour ce code ;)

Merci
TokRa14 Messages postés 4 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 18 juin 2008
18 juin 2008 à 01:57
Bonjour,
Merci pour ce code super !
Je débute tout juste sur vb.net (visual studio 2008), et je dois dire que j'ai enormement de mal à travailler avec une base de donnée ! Bref ça c'est ma vie, mais ce code m'aide beaucoup.
Cependant, juste une petite remarque de débutant, lorsque tu fais une vérification pour l'ajout sur la datagridview, il vaudrait mieux vérifier en mettant la saisie et le résultat en minuscule non ? car si je met des majuscule sur différentes lettre, ça passe.
Pour mon projet, perso, j'ai mis un if LCase(arg_a_verif) = LCase(arg_dans_base).
Voila, c'était tout !
Tchao !
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
21 avril 2008 à 16:41
Cela fait plaisir à entendre merci à toi :)

Mon site --> http://www.thot-corporation.com/ <<-- bonne visite :)
loiclb Messages postés 21 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 26 décembre 2008
18 mars 2008 à 13:13
Salut,

Merci beaucoup pour ta source, cela fait quelques jours que je me suis remis à la programmation, j'apprend vb.net (je connaissais que vb6) et je peux te dire que ta source est parfaite pour apprendre la gestion de base de donnée.

Merci encore.

Bonne continuation.
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
10 févr. 2008 à 19:23
Voila Gwendal3 J'ai fait les modifications que tu as signalés :) Merci à toi
cs_Gwendal3 Messages postés 24 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 7 mai 2009
9 févr. 2008 à 11:21
Salut,

Source bien (très bien) documentée. Beaucoup d'exemples à reprendre.
Dans l'ajout avec Datagridview, tu aurais pu vérifier que les valeurs saisies existent déjà dans la base (un exemple de plus :-) )

@+
wiwi44521 Messages postés 2 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 8 février 2008
8 févr. 2008 à 22:24
Merci Thot pour ce meeeeerveilleux modèle de bdd. Tu ne nous déçoit jamais ^^ !