GÉRER SA BASE DE DONNÉES ACCESS EN TOUTE SIMPLICITÉ QUELQUE SOIT LE NOMBRE DE CH
fdiedler2000
Messages postés383Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention 1 décembre 2008
-
31 mai 2007 à 22:00
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 2013
-
10 juin 2009 à 09:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 10 juin 2009 à 09:28
Ps version du fichier au cas ou :
2.81.1132.0 (xpsp.080413-0852)
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 10 juin 2009 à 09:26
Ok je l'ai trouvé, dsl pour la réponse tardive mais j'ai un pti soucis de santé.
Donc je fait tout comme tu le dis, et tadam :
"Une référence à 'C:\Program Files\Fichiers Communs\System\ado\msADOX.dll
' n'a pas pu être ajoutée, assurer vous que le fichier est accessible et qu'il s'agit d'un assembly ou d'un composant Com valide!"
Grrr là cela commence à saouler méchament ! si tu vois autres choses à faire, merci pour ta patience.
PWM63
Messages postés127Date d'inscriptionlundi 11 octobre 2004StatutMembreDernière intervention18 mai 2016 29 mai 2009 à 10:41
Projet
Ajouter une référence...
Onglet Parcourir
C:\Program Files\Fichiers Communs\System\ado\msADOX.dll
OK
Si tu ne l'as pas dans ce répertoire, cherche la DLL sur ton disque dur, ou à défaut, essaie de la trouver sur internet.
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 28 mai 2009 à 08:44
S'était pour rire PCPT ^^
Bon revenons au sujet.
J'ai ai trouvé DEUX qui se ressemble :
ActiveX Data Object 2.8 library et ActiveX Data Object recordset 2.8 library
aucune trace de activex data object (ou ADO) 2.8 for DLL and security.
Ton avis PWM63 ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 27 mai 2009 à 23:37
pourrissage de topic =off, MERCI
cs_Gatinho
Messages postés5Date d'inscriptiondimanche 15 mars 2009StatutMembreDernière intervention27 mai 2009 27 mai 2009 à 23:22
Merci beaucoups
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 27 mai 2009 à 19:20
lol alors c'est quoi PWM ?
(pourissage de topic =on)
PWM63
Messages postés127Date d'inscriptionlundi 11 octobre 2004StatutMembreDernière intervention18 mai 2016 27 mai 2009 à 18:46
De rien Acide désoxyribonucléique56, mais je n'ai rien à voir avec la modulation à largeur d'impulsion.
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 27 mai 2009 à 16:38
Ok j'essaye toutal, merci pour ta rapidité modulation à largueur d'impulsion63 ^^ ;)
je note aprés hein, car j'aurais d'autres questions surrement
Encore merci Gatinho pour les comms du code et les noms explicites des vars !
ça fait plaisir à lire.
++
PWM63
Messages postés127Date d'inscriptionlundi 11 octobre 2004StatutMembreDernière intervention18 mai 2016 27 mai 2009 à 15:39
Projet
Ajouter une référence...
Onglet COM
Microsoft ADO 2.8 for DDL and Security
OK
PS : la question en anglais est superflue
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 26 mai 2009 à 09:47
salut, je commence à m'intéresser au bdd, et je test ta source. elle me parait idéale pour se lancer avec les bdd.
Mais voila, probléme (surrement débile), mais vb me lance cette erreur dés l'insertion de ta classe :
Dim FicMdb As New ADOX.Catalog "type ADOX.Catalog non défini"
what the fuck ? (ps c'est vb2008)
merci pour le débug ^^
cs_Gatinho
Messages postés5Date d'inscriptiondimanche 15 mars 2009StatutMembreDernière intervention27 mai 2009 17 avril 2009 à 11:46
Bonjour PWM63,
Merci beaucoups, j'y vais
PWM63
Messages postés127Date d'inscriptionlundi 11 octobre 2004StatutMembreDernière intervention18 mai 2016 16 avril 2009 à 22:07
Bonjour Gatinho,
La classe C_BDD_New te montre comment créer une table via 1 requête Create Table.
Mais apparemment, il n'y a rien ici qui puisse permettre de connaître la structure d'une table existante.
La 1ère source te permet de trouver tes tables et tes champs existants.
Et la 2e, de pouvoir créer des tables en trouvant les bons types de données pour tes champs.
Bon courage pour la suite.
cs_Gatinho
Messages postés5Date d'inscriptiondimanche 15 mars 2009StatutMembreDernière intervention27 mai 2009 16 avril 2009 à 16:14
Bonjour les spécialistes, y aurait-il quelqu’un qui pourrait me (supper débutant) donner le code pour créer une table qui contiendrait la structure d’une autre table ? (access 2003)
Un grand merci d’avance.
fdiedler2000
Messages postés383Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention 1 décembre 2008 20 juin 2008 à 18:58
Oui une ligne de code par modification ;)
TokRa14
Messages postés4Date d'inscriptionlundi 22 mai 2006StatutMembreDernière intervention18 juin 2008 20 juin 2008 à 18:21
Ha oui !!
J'avais peut etre oublié ce détail !
Oups !!
Bon bah en tout cas, j'ai mis des msgbox, et ça marche aussi bien :D
Autre question, est-il possible de mettre à jour plusieurs champs en même temps avec ton code ? Ou dois-je faire appel à ModifierElement() à chaque champs que je veux modifier ?
Merci pour vos réponse !
fdiedler2000
Messages postés383Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention 1 décembre 2008 20 juin 2008 à 14:08
Salut,
Effectivement il n'y a pas d'erreur mais si ton nombre de champs n'est pas correct alors tu auras des problèmes !
En revanche, tu aurais du recevoir une erreur... As tu bien ajouté l'évent "Erreur" dans ton formulaire ?
TokRa14
Messages postés4Date d'inscriptionlundi 22 mai 2006StatutMembreDernière intervention18 juin 2008 20 juin 2008 à 14:04
Coucou !
Merci pour ta réponse, en fait j'ai trouvé le probleme !
C'était mon nombre de champs qui n'était pas correct ! Ce que je comprend pas c'est que la gestion d'erreur ne marche pas et du coup j'avais aucuns message.
J'ai tout remplacer par des msgbox et maintenant ça roule !
En tout cas, super code, facile à comprendre, à manipuler, j'adore !!
PS: Je débute tout juste en VB (.NET) alors la gestion des données, huhu !
PWM63
Messages postés127Date d'inscriptionlundi 11 octobre 2004StatutMembreDernière intervention18 mai 2016 20 juin 2008 à 12:10
Apparement, ton tab_champs(i) est Null.
Essaye d'encapsuler la condition par celle-ci à peu près comme ca (j'ai pas vérifier la syntaxe) :
if not isnull(tab_champs(i)) then
If i = UBound(tab_champs) Then 'si c'est le dernier element
resultat += tab_champs(i).ToString 'syntaxe pour le dernier champs
Else
resultat += tab_champs(i).ToString & ", " 'syntaxe pour les champs
End If
end if
TokRa14
Messages postés4Date d'inscriptionlundi 22 mai 2006StatutMembreDernière intervention18 juin 2008 19 juin 2008 à 15:41
Bonjour !
Merci pour ce code qui m'aide beaucoup !
Cependant, j'ai une erreur avec vb.net 2008 lors de la fonction Faire_Champs:
Private Function Faire_Champs(ByVal tab_champs() As String) As String
Dim resultat As String = ""
For i As Integer = 0 To UBound(tab_champs) 'liste tous les elements
If i = UBound(tab_champs) Then 'si c'est le dernier element
resultat += tab_champs(i).ToString 'syntaxe pour le dernier champs
Else
resultat += tab_champs(i).ToString & ", " 'syntaxe pour les champs
End If
Next
Return " (" & resultat & ")"
End Function
Apparement ça plante au Else et ça me renvois une erreur qui dit:
L'exception System.NullReferenceException n'a pas été gérée
Message="La référence d'objet n'est pas définie à une instance d'un objet."
avez vous une idée du probleme ?
farradjs
Messages postés73Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention16 mars 2009 31 août 2007 à 19:34
est ce qu votre première classe permet de creer des tables dans une base deja creé parce que je constate une contradition entre :
test As New C_BDD("Principale", 3, Application.StartupPath & "\Birthday.mdb")
et
Dim t(2) As String
t(0) = "Prenom"
t(1) = "Age"
t(2) = "Birthday"
test.CreerChamps(t) 'pour créer les champs Prenom, Age, Birthday
en faite la fonction test.ModifierElement(z, "Age", "15") pour la première classe (C_BDD) me sort une erreur que je connait pas la solution si qlq a pu résoudre ce problème qu'il me soufle la réponse.
en tout les cas c'est deux classes sont superbe.
fdiedler2000
Messages postés383Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention 1 décembre 2008 25 juin 2007 à 10:24
JUL_76 ==> Sincerement je ne sais pas mais vous pouvez tester !
PWM63 ==> Merci ca fait plaisir à entendre ^^
PWM63
Messages postés127Date d'inscriptionlundi 11 octobre 2004StatutMembreDernière intervention18 mai 2016 15 juin 2007 à 12:40
FDIEDLER2000, j'ai utilisé ta classe c_bdd pour ajouter des enregistrements dans une base existante.
Utilisation facile + fonctionne parfaitement = 10/10 + surtout merci !
Jul_76
Messages postés1Date d'inscriptionlundi 13 février 2006StatutMembreDernière intervention12 juin 2007 12 juin 2007 à 14:32
Bonjour je suis un utilisateur débutant de VB.Net.
Je voudrais savoir si on peut ajouter ce code dans une form dans laquelle je possède déjà une liaison Oledb avec une table access.
Cette form me permet de faire défiler mes entrées access par l'intermédiaire de "BindingManagerBase = 0 , +1 , etc..."
merci d'avance
++
fdiedler2000
Messages postés383Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention 1 décembre 2008 6 juin 2007 à 18:57
Pourtant c'est simple, si ta base est deja crée alors tu utilises la classe C_BDD sinon tu utilises la classe C_DD_New et regarde l'exemple !!
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 6 juin 2007 à 12:28
merci de ne pas écrire en majuscules
c'est impoli et illisible
bobeche
Messages postés2Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 6 juin 2007 6 juin 2007 à 12:18
je dois adapter un code vb6 EN .NET
JE CHERCHE DES CODES SOURCES QUI PUISSENT M AIDER A ME CONNECTER ET A GERER MES BASES ACCESS
JE TROUVE TA SOURCE BIEN FAITES
MAIS J AI DU MAL A L UTILISER
COMMENT ME CONNECTER A MA BASE
AVANT DE LIRE LA BASE AVEC TES FONCTIONS
MERCI POUR LA REPONSE
BOBECHE
fdiedler2000
Messages postés383Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention 1 décembre 2008 4 juin 2007 à 19:07
AU moins ma source à l'air de plaire :)
fdiedler2000
Messages postés383Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention 1 décembre 2008 1 juin 2007 à 18:52
Pas de commentaires ? :(
fdiedler2000
Messages postés383Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention 1 décembre 2008 31 mai 2007 à 22:00
C'est bizarre j'avais mis a jour mon code et ca n'a pas été mis a jour...
10 juin 2009 à 09:28
2.81.1132.0 (xpsp.080413-0852)
10 juin 2009 à 09:26
Donc je fait tout comme tu le dis, et tadam :
"Une référence à 'C:\Program Files\Fichiers Communs\System\ado\msADOX.dll
' n'a pas pu être ajoutée, assurer vous que le fichier est accessible et qu'il s'agit d'un assembly ou d'un composant Com valide!"
Grrr là cela commence à saouler méchament ! si tu vois autres choses à faire, merci pour ta patience.
29 mai 2009 à 10:41
Ajouter une référence...
Onglet Parcourir
C:\Program Files\Fichiers Communs\System\ado\msADOX.dll
OK
Si tu ne l'as pas dans ce répertoire, cherche la DLL sur ton disque dur, ou à défaut, essaie de la trouver sur internet.
28 mai 2009 à 08:44
Bon revenons au sujet.
J'ai ai trouvé DEUX qui se ressemble :
ActiveX Data Object 2.8 library et ActiveX Data Object recordset 2.8 library
aucune trace de activex data object (ou ADO) 2.8 for DLL and security.
Ton avis PWM63 ?
27 mai 2009 à 23:37
27 mai 2009 à 23:22
27 mai 2009 à 19:20
(pourissage de topic =on)
27 mai 2009 à 18:46
27 mai 2009 à 16:38
je note aprés hein, car j'aurais d'autres questions surrement
Encore merci Gatinho pour les comms du code et les noms explicites des vars !
ça fait plaisir à lire.
++
27 mai 2009 à 15:39
Ajouter une référence...
Onglet COM
Microsoft ADO 2.8 for DDL and Security
OK
PS : la question en anglais est superflue
26 mai 2009 à 09:47
Mais voila, probléme (surrement débile), mais vb me lance cette erreur dés l'insertion de ta classe :
Dim FicMdb As New ADOX.Catalog "type ADOX.Catalog non défini"
what the fuck ? (ps c'est vb2008)
merci pour le débug ^^
17 avril 2009 à 11:46
Merci beaucoups, j'y vais
16 avril 2009 à 22:07
La classe C_BDD_New te montre comment créer une table via 1 requête Create Table.
Mais apparemment, il n'y a rien ici qui puisse permettre de connaître la structure d'une table existante.
Je peux donc te proposer de regarder ces 2 sources :
http://www.vbfrance.com/codes/CONNAITRE-CERTAINES-ENUMERATIONS-OLEDBSCHEMAGUID-NET_43174.aspx
http://www.vbfrance.com/codes/CONNAITRE-DATATYPE-ADODB-COMPATIBLES-AVEC-TYPES-DONNEES-ACCESS_43088.aspx
La 1ère source te permet de trouver tes tables et tes champs existants.
Et la 2e, de pouvoir créer des tables en trouvant les bons types de données pour tes champs.
Bon courage pour la suite.
16 avril 2009 à 16:14
Un grand merci d’avance.
20 juin 2008 à 18:58
20 juin 2008 à 18:21
J'avais peut etre oublié ce détail !
Oups !!
Bon bah en tout cas, j'ai mis des msgbox, et ça marche aussi bien :D
Autre question, est-il possible de mettre à jour plusieurs champs en même temps avec ton code ? Ou dois-je faire appel à ModifierElement() à chaque champs que je veux modifier ?
Merci pour vos réponse !
20 juin 2008 à 14:08
Effectivement il n'y a pas d'erreur mais si ton nombre de champs n'est pas correct alors tu auras des problèmes !
En revanche, tu aurais du recevoir une erreur... As tu bien ajouté l'évent "Erreur" dans ton formulaire ?
20 juin 2008 à 14:04
Merci pour ta réponse, en fait j'ai trouvé le probleme !
C'était mon nombre de champs qui n'était pas correct ! Ce que je comprend pas c'est que la gestion d'erreur ne marche pas et du coup j'avais aucuns message.
J'ai tout remplacer par des msgbox et maintenant ça roule !
En tout cas, super code, facile à comprendre, à manipuler, j'adore !!
PS: Je débute tout juste en VB (.NET) alors la gestion des données, huhu !
20 juin 2008 à 12:10
Essaye d'encapsuler la condition par celle-ci à peu près comme ca (j'ai pas vérifier la syntaxe) :
if not isnull(tab_champs(i)) then
If i = UBound(tab_champs) Then 'si c'est le dernier element
resultat += tab_champs(i).ToString 'syntaxe pour le dernier champs
Else
resultat += tab_champs(i).ToString & ", " 'syntaxe pour les champs
End If
end if
19 juin 2008 à 15:41
Merci pour ce code qui m'aide beaucoup !
Cependant, j'ai une erreur avec vb.net 2008 lors de la fonction Faire_Champs:
Private Function Faire_Champs(ByVal tab_champs() As String) As String
Dim resultat As String = ""
For i As Integer = 0 To UBound(tab_champs) 'liste tous les elements
If i = UBound(tab_champs) Then 'si c'est le dernier element
resultat += tab_champs(i).ToString 'syntaxe pour le dernier champs
Else
resultat += tab_champs(i).ToString & ", " 'syntaxe pour les champs
End If
Next
Return " (" & resultat & ")"
End Function
Apparement ça plante au Else et ça me renvois une erreur qui dit:
L'exception System.NullReferenceException n'a pas été gérée
Message="La référence d'objet n'est pas définie à une instance d'un objet."
avez vous une idée du probleme ?
31 août 2007 à 19:34
test As New C_BDD("Principale", 3, Application.StartupPath & "\Birthday.mdb")
et
Dim t(2) As String
t(0) = "Prenom"
t(1) = "Age"
t(2) = "Birthday"
test.CreerChamps(t) 'pour créer les champs Prenom, Age, Birthday
en faite la fonction test.ModifierElement(z, "Age", "15") pour la première classe (C_BDD) me sort une erreur que je connait pas la solution si qlq a pu résoudre ce problème qu'il me soufle la réponse.
en tout les cas c'est deux classes sont superbe.
25 juin 2007 à 10:24
PWM63 ==> Merci ca fait plaisir à entendre ^^
15 juin 2007 à 12:40
Utilisation facile + fonctionne parfaitement = 10/10 + surtout merci !
12 juin 2007 à 14:32
Je voudrais savoir si on peut ajouter ce code dans une form dans laquelle je possède déjà une liaison Oledb avec une table access.
Cette form me permet de faire défiler mes entrées access par l'intermédiaire de "BindingManagerBase = 0 , +1 , etc..."
merci d'avance
++
6 juin 2007 à 18:57
6 juin 2007 à 12:28
c'est impoli et illisible
6 juin 2007 à 12:18
JE CHERCHE DES CODES SOURCES QUI PUISSENT M AIDER A ME CONNECTER ET A GERER MES BASES ACCESS
JE TROUVE TA SOURCE BIEN FAITES
MAIS J AI DU MAL A L UTILISER
COMMENT ME CONNECTER A MA BASE
AVANT DE LIRE LA BASE AVEC TES FONCTIONS
MERCI POUR LA REPONSE
BOBECHE
4 juin 2007 à 19:07
1 juin 2007 à 18:52
31 mai 2007 à 22:00