Accés à base de donnée sans controls (ado, adoc...)

Soyez le premier à donner votre avis sur cette source.

Vue 16 955 fois - Téléchargée 1 401 fois

Description

Comme son titre l'indique grace a ce code vous pourrez accéder à une base de donnée sans utiliser un controle de vb relatif a l'accés et a la gestion de base de données.
J'ai beaucoup insisté sur l'expliquation pour les débutants

Source / Exemple :


Private Sub Command1_Click()
Dim requete As String        ' Variable caractère pour la requette SQL
Dim strConnection As String  ' Variable pour l'ouverture de la base
Dim resultat As Recordset    ' Résultat prendra la valeur de la requette "Recordset" "Set resultat = base.OpenRecordset(requete)"
Dim base As Database         ' variable qui récupère la base de donnée a son ouverture par strConnection "Set base = OpenDatabase(strConnection)"

' Ouverture de la base
strConnection = "chemin de la base de donnée" ' Ex: "C:\...."
' Requette SQL générée dans ACCESS
If Len(NumCli) > 0 Then ' Si la longueur du numéro du client entrée dans le champs texte "NumCli" est > 0 alors on exécute la requette
 requete = "SELECT TabClient.NomCli, TabClient.PrenomCli, TabClient.AdresseCli, "
 requete = requete & " TabCompte.NumCompt, TabCompte.NumChec"
 requete = requete & " FROM TabClient INNER JOIN TabCompte ON TabClient.NomCli = TabCompte.NomCli"
 requete = requete & " WHERE TabClient.NumeroCli= '" & Trim(NumCli.Text) & "'"
' La requette est découpée dans son fonctionnement mais attention a mettre un éspace à partir de la deuxième concaténation
' Ex : equete & " TabCompte.NumCompt, TabCompte.NumChec"
'              !---!

Set base = OpenDatabase(strConnection) ' La variable base récupère la base de donnée ouverte par strConnection

' Résultat prend la valeur de la requette
Set resultat = base.OpenRecordset(requete) ' recordset est le résultat de recordSource

If resultat.EOF = False Then ' Si le resultat de la requette sur la table  n'est pas égal à la fin du fichier alors
    resultat.MoveLast    ' Le pointeur se place a la fin de la table
    NomCli.Text = resultat.Fields(0).Value  ' 0 pour le premier champs de "requete" a savoir "TabClient.NomCli"
    PrenCli.Text = resultat.Fields(1).Value
    AdrCli.Text = resultat.Fields(2).Value
    NumCompt.Text = resultat.Fields(3).Value
    NumChek.Text = resultat.Fields(4).Value
    NomCompt.Text = resultat.Fields(0).Value
Else
    mnuNewCli_Click ' Si le numéro n'est pas bon on éfface les champs
    MsgBox "Ce compte n'éxiste pas.", vbOKOnly + vbExclamation
End If
    
End If

End Sub

Conclusion :


Tout est dit

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_zappy
Messages postés
161
Date d'inscription
mardi 19 juin 2001
Statut
Membre
Dernière intervention
10 avril 2007
-
Dim resultat As Recordset

Ce n'est pas parce que tu ne vois pas le controle sur ta form qu'il n'est pas initialisé. Tu utilises bien l'ado en faisant cela, regardes les références à ton projet ;)
cs_TetSuo
Messages postés
14
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
30 juillet 2002
-
je n'utilise pas le controle a proprement parlé mais j'utilise le "vocabulaire" de géstion de base de donnée qui est obligatoire
cs_processus
Messages postés
360
Date d'inscription
vendredi 24 août 2001
Statut
Membre
Dernière intervention
9 juillet 2008
3 -
gosney à presque raison (sauf qu'ici c'est DAO qu'est utilisé et non pas ADO !), tu utilise quand même les références DAO, c'est à dire que tu instanci les composants DAO, ca revient au même...
luzt
Messages postés
1
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
30 décembre 2002
-
Bon code pour débutant, et bien expliqué
cs_Zacland
Messages postés
36
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
15 mai 2007
-
Ca serait bien de fermer les objet en sortant... ça évitera de perdre de la mémoire :o)

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.