Connexion ado a une base de données access

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 493 fois - Téléchargée 49 fois

Contenu du snippet

Ce petite code fait une connexion ado a une basse de données, de cette façons avec la commande rsado vous pouvez faire des filtre , des tri, des condition dans votre basse de donnée , avec ou sans des requête SQL intégrée a rsado.

Source / Exemple :


' Dans le module 

Public cnnADO As New ADODB.Connection
Public cmdADO As New ADODB.Command
Public rsADO As New ADODB.Recordset

Public Function OuvreDB(Champsdb As String, Tabledb As String)
   
   ' Ouverture de la Base de données des Membres
   
   
   ' Etablissement de la connexion
     cnnADO.Provider = "Microsoft.JET.OLEDB.4.0"
     cnnADO.ConnectionString = App.Path + "\DB\Main.mdb"
     cnnADO.Open
     
   ' Fin de l'établissement de la connexion
   
   ' Configuration de la commande
     cmdADO.ActiveConnection = cnnADO                                ' Etablis la connection
     cmdADO.CommandText = "SELECT " + Champsdb + " From " + Tabledb          ' Identifications des champs de la DB
   
   ' Fin de la configuration de la commande
   
   ' Configuration et ouverture du RecordSet
     rsADO.CursorLocation = adUseClient         ' Utilisation d'un mode client
     rsADO.CursorType = adOpenDynamic               ' Ouvre en mode dynamique
     rsADO.LockType = adLockOptimistic             ' Verrouille la base de donnée en mode exclusive
     rsADO.Open cmdADO                              ' Ouvre le RecordSet
   ' Fin de la Configuration et de l'ouverture du RecordSet
   
 ' Fin de l'ouverture de la Base de données des Membres
End Function

Public Function GetValue(fld As Field) As String       ' fld pour Field (Champs)
 
 ' La reprrésentation du contenu des champs dans les zones de texte est réalisée par
 ' la fonction GetValue.  Les champs des bases de données Access qui sont encore vides
 ' sont identifiés par la Valeur Null, qui ne peut pas être affichée dans une zone de
 ' texte.  Si ce type de valeur est présent (Fonction IsNull), GetValue renvoie une
 ' chaîne de caractères vide, sinon cette fonction renvoie le contenu du champ par une
 ' donnée de type String
  
 If IsNull(fld) Then          ' Si le champs est vide donc Null
    GetValue = ""             ' GetValue retourne une chaîne vide
 Else                         ' Dans le cas contraire
    GetValue = fld            ' GetValue retourne la chaîne de caractères du champs
 End If                       ' Fin de la condition

End Function

Public Function SetValue(str As String) As Variant     ' str pour string (Chaîne)
 
 ' La fonction SetValue est le pendant de la fonction GetValue.  Si une zone
 ' de texte ne contient rien d'autre ques des espaces (fonction Trim$), la
 ' valeut Null est renvoyée, sinon la fonction renvoie la chaîne de caractères
 ' après l'élimination des espaces non significatifs.
 
 If Trim$(str) = "" Then      ' Si après la suppresion des espaces non significatifs est égale a une chaîne vide
    SetValue = Null           ' SetValue retourne la valeur Null pour la DB
 Else                         ' Dans le cas contraire
    SetValue = Trim$(str)     ' SetValue retourne la chaine de caractère en suppriment tout de même les espaces non significatifs
 End If                       ' Fin de la condition
 
End Function

Conclusion :


Champsdb est un string de type "Nom, Prenom, ..." renvoyant les champs se trouvant dans la base de donnée tandis que tabledb est le nom de la table.

La procédure GetValue reprends les données pour les affichers dans un textbox, flexgrid ou autre

Setvalue est le pendant de GetValue, cette procédure inscrit les données dans la db.

la méthode rsado.update m'est a jours les enregistement

Essayer analyser le code, je reste a votre entière disposition pour vous aider a toute les commande de ce module.

Code source venant de http://www.visual-product.be

A voir également

Ajouter un commentaire

Commentaires

J'espère que les commentaires sont assez détailler :o)
Excellent ton code, on peut pas faire mieux !
cs_BEB
Messages postés
2
Date d'inscription
lundi 25 février 2002
Statut
Membre
Dernière intervention
30 mai 2002
-
De même, on peut pas faire mieux, c'est parfait ?
Mumuri
Messages postés
320
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2008
-
bon ben je vais le prendre alors ;)
merci
cs_cumu
Messages postés
27
Date d'inscription
dimanche 4 juin 2000
Statut
Membre
Dernière intervention
13 juillet 2007
-
parfait ? Ca ne dit pas comment creer une bdd. pas de zip...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.