OVH Cloud OVH Cloud

Comment faire...besoin d'aide...svp

4 réponses
Avatar
Jean-Luc
J'aimerais si vous pourriez me montrer comment ont fait
pour faire une recherche dans une base de donnee Access,
et de montrer a l'ecran (dans une list ou un datagrid) le
resultat de la recherche. Ensuite pouvoir cliquer sur un
resultat (dans le datagrid) pour executer un autre prog.
par exemple.

Merci

4 réponses

Avatar
Bismark Prods
Je trouve ca génial ! vraiment Zoury t'es une trop bonne pâte ... Quand j'ai
lu la question de l'ami Jean-Luc je me suis de suite demandé si il voulait
de la confiture avec sa tartine ... LOL

"Zoury" a écrit dans le message de
news:%23cQn%
Salut Jean-Luc! :O)

L'exemple suivant utilise la bd NWIND.MDB fournit avec Visual Studio. Elle


peut
être trouvé dans ..Microsoft Visual StudioVB98.

Voici un exemple qui rempli une liste avec les résultats d'une requête à


l'aide
d'ADO.
'***
Option Explicit

Private Sub Form_Load()
Call FillList(List1, _
GetRecordset("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:Program FilesMicrosoft Visual StudioVB98NWIND.MDB;Persist


Security
Infoúlse", _
"select [Suppliers].[CompanyName] from
[Suppliers]"), _
"CompanyName")
End Sub

' renvoi le recordset contenant les résultats de la requête effectué
Private Function GetRecordset _
( _
ByRef sConnectionString As String, _
ByRef sQuery As String _
) As ADODB.Recordset

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

' ouvre la connection
Set cn = New ADODB.Connection
cn.Open sConnectionString

' exécute la requête
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open sQuery, cn, adOpenForwardOnly, adLockReadOnly

' renvoi le recordset résultant
Set GetRecordset = rs

End Function

' rempli la liste spécifie à partir
' des champs spécifiés
' du recordset spécifié
Private Sub FillList _
( _
ByRef lb As ListBox, _
ByRef rs As ADODB.Recordset, _
ByRef sLabelField As String, _
Optional ByRef sDataField As String _
)

' vérifie si le recordset est initialisé
If Not rs Is Nothing Then

' se place au premier enregistrement
' à noter qu'après une requête
' le curseur se place automatiquement
' au premier enregistrement
'
rs.MoveFirst

' boucle les enregistrements du recordset
' jusqu'à la fin
Do Until rs.EOF

' ajoute l'item à la liste
lb.AddItem rs(sLabelField).Value

' ajoute la valeur de l'identifiant dans
' l'itemdata de l'item de liste
If LenB(sDataField) > 0 Then lb.ItemData(lb.NewIndex) > rs(sDataField).Value

' passe au prochain enregistrement
rs.MoveNext

Loop
End If

End Sub
'***

Si tu veux savoir c'est qu'est ADO et DAO regarde ici, dans la section


"Accès au
données":
http://www.microsoft.com/france/msdn/support/technopoches/default.asp#986

Si tu veux l'équivalent DAO du code ci-haut, dis le nous nous t'aiderons.

Tu voulais églament démarrer un programme lorsque l'utilisateur


sélectionne un
item dans la liste. Pour y parvenir tu auras besoin de la fonction Shell


ou
encore de l'API ShellExecute. Reviens nous voir lorsque tu sera rendu là.


;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"Jean-Luc" wrote in message
news:999101c3462e$5d4aa9c0$
: J'aimerais si vous pourriez me montrer comment ont fait
: pour faire une recherche dans une base de donnee Access,
: et de montrer a l'ecran (dans une list ou un datagrid) le
: resultat de la recherche. Ensuite pouvoir cliquer sur un
: resultat (dans le datagrid) pour executer un autre prog.
: par exemple.
:
: Merci



Avatar
Zoury
:O)

T'a qu'a te rapeller la première fois que tu as voulu un truc du genre.. c'est
pas évident trouver *toutes* l'infos nécessaire quand on ne sait pas ce qu'on
cherche ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"Bismark Prods" wrote in message
news:OEe$
: Je trouve ca génial ! vraiment Zoury t'es une trop bonne pâte ... Quand j'ai
: lu la question de l'ami Jean-Luc je me suis de suite demandé si il voulait
: de la confiture avec sa tartine ... LOL
:
: "Zoury" a écrit dans le message de
: news:%23cQn%
: > Salut Jean-Luc! :O)
: >
: > L'exemple suivant utilise la bd NWIND.MDB fournit avec Visual Studio. Elle
: peut
: > être trouvé dans ..Microsoft Visual StudioVB98.
: >
: > Voici un exemple qui rempli une liste avec les résultats d'une requête à
: l'aide
: > d'ADO.
: > '***
: > Option Explicit
: >
: > Private Sub Form_Load()
: > Call FillList(List1, _
: > GetRecordset("Provider=Microsoft.Jet.OLEDB.4.0;Data
: > Source=C:Program FilesMicrosoft Visual StudioVB98NWIND.MDB;Persist
: Security
: > Infoúlse", _
: > "select [Suppliers].[CompanyName] from
: > [Suppliers]"), _
: > "CompanyName")
: > End Sub
: >
: > ' renvoi le recordset contenant les résultats de la requête effectué
: > Private Function GetRecordset _
: > ( _
: > ByRef sConnectionString As String, _
: > ByRef sQuery As String _
: > ) As ADODB.Recordset
: >
: > Dim cn As ADODB.Connection
: > Dim rs As ADODB.Recordset
: >
: > ' ouvre la connection
: > Set cn = New ADODB.Connection
: > cn.Open sConnectionString
: >
: > ' exécute la requête
: > Set rs = New ADODB.Recordset
: > rs.CursorLocation = adUseClient
: > rs.Open sQuery, cn, adOpenForwardOnly, adLockReadOnly
: >
: > ' renvoi le recordset résultant
: > Set GetRecordset = rs
: >
: > End Function
: >
: > ' rempli la liste spécifie à partir
: > ' des champs spécifiés
: > ' du recordset spécifié
: > Private Sub FillList _
: > ( _
: > ByRef lb As ListBox, _
: > ByRef rs As ADODB.Recordset, _
: > ByRef sLabelField As String, _
: > Optional ByRef sDataField As String _
: > )
: >
: > ' vérifie si le recordset est initialisé
: > If Not rs Is Nothing Then
: >
: > ' se place au premier enregistrement
: > ' à noter qu'après une requête
: > ' le curseur se place automatiquement
: > ' au premier enregistrement
: > '
: > rs.MoveFirst
: >
: > ' boucle les enregistrements du recordset
: > ' jusqu'à la fin
: > Do Until rs.EOF
: >
: > ' ajoute l'item à la liste
: > lb.AddItem rs(sLabelField).Value
: >
: > ' ajoute la valeur de l'identifiant dans
: > ' l'itemdata de l'item de liste
: > If LenB(sDataField) > 0 Then lb.ItemData(lb.NewIndex) : > rs(sDataField).Value
: >
: > ' passe au prochain enregistrement
: > rs.MoveNext
: >
: > Loop
: > End If
: >
: > End Sub
: > '***
: >
: > Si tu veux savoir c'est qu'est ADO et DAO regarde ici, dans la section
: "Accès au
: > données":
: > http://www.microsoft.com/france/msdn/support/technopoches/default.asp#986
: >
: > Si tu veux l'équivalent DAO du code ci-haut, dis le nous nous t'aiderons.
: >
: > Tu voulais églament démarrer un programme lorsque l'utilisateur
: sélectionne un
: > item dans la liste. Pour y parvenir tu auras besoin de la fonction Shell
: ou
: > encore de l'API ShellExecute. Reviens nous voir lorsque tu sera rendu là.
: ;O)
: >
: > --
: > Cordialement
: > Yanick Lefebvre - MVP pour Visual Basic
: > http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
: > http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
: > "Jean-Luc" wrote in message
: > news:999101c3462e$5d4aa9c0$
: > : J'aimerais si vous pourriez me montrer comment ont fait
: > : pour faire une recherche dans une base de donnee Access,
: > : et de montrer a l'ecran (dans une list ou un datagrid) le
: > : resultat de la recherche. Ensuite pouvoir cliquer sur un
: > : resultat (dans le datagrid) pour executer un autre prog.
: > : par exemple.
: > :
: > : Merci
: >
:
:
Avatar
Bismark Prods
Je voudrais pas jouer les machos mais je crois (de mémoire) que je n'ai
jamais fait ce genre de demande, tout simplement parce que j'ai toujours eu
en horreur qu'on me mache mon travail ! Tu vois, si je sais que ce que j'ai
créer n'est pas le fruit de ma détermination et de ma pugnacité, cela me
dérange au plus haut point et m'empeche de dormir la nuit ...

"Zoury" a écrit dans le message de
news:
:O)

T'a qu'a te rapeller la première fois que tu as voulu un truc du genre..


c'est
pas évident trouver *toutes* l'infos nécessaire quand on ne sait pas ce


qu'on
cherche ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"Bismark Prods" wrote in message
news:OEe$
: Je trouve ca génial ! vraiment Zoury t'es une trop bonne pâte ... Quand


j'ai
: lu la question de l'ami Jean-Luc je me suis de suite demandé si il


voulait
: de la confiture avec sa tartine ... LOL
:
: "Zoury" a écrit dans le message de
: news:%23cQn%
: > Salut Jean-Luc! :O)
: >
: > L'exemple suivant utilise la bd NWIND.MDB fournit avec Visual Studio.


Elle
: peut
: > être trouvé dans ..Microsoft Visual StudioVB98.
: >
: > Voici un exemple qui rempli une liste avec les résultats d'une requête


à
: l'aide
: > d'ADO.
: > '***
: > Option Explicit
: >
: > Private Sub Form_Load()
: > Call FillList(List1, _
: > GetRecordset("Provider=Microsoft.Jet.OLEDB.4.0;Data
: > Source=C:Program FilesMicrosoft Visual StudioVB98NWIND.MDB;Persist
: Security
: > Infoúlse", _
: > "select [Suppliers].[CompanyName] from
: > [Suppliers]"), _
: > "CompanyName")
: > End Sub
: >
: > ' renvoi le recordset contenant les résultats de la requête effectué
: > Private Function GetRecordset _
: > ( _
: > ByRef sConnectionString As String, _
: > ByRef sQuery As String _
: > ) As ADODB.Recordset
: >
: > Dim cn As ADODB.Connection
: > Dim rs As ADODB.Recordset
: >
: > ' ouvre la connection
: > Set cn = New ADODB.Connection
: > cn.Open sConnectionString
: >
: > ' exécute la requête
: > Set rs = New ADODB.Recordset
: > rs.CursorLocation = adUseClient
: > rs.Open sQuery, cn, adOpenForwardOnly, adLockReadOnly
: >
: > ' renvoi le recordset résultant
: > Set GetRecordset = rs
: >
: > End Function
: >
: > ' rempli la liste spécifie à partir
: > ' des champs spécifiés
: > ' du recordset spécifié
: > Private Sub FillList _
: > ( _
: > ByRef lb As ListBox, _
: > ByRef rs As ADODB.Recordset, _
: > ByRef sLabelField As String, _
: > Optional ByRef sDataField As String _
: > )
: >
: > ' vérifie si le recordset est initialisé
: > If Not rs Is Nothing Then
: >
: > ' se place au premier enregistrement
: > ' à noter qu'après une requête
: > ' le curseur se place automatiquement
: > ' au premier enregistrement
: > '
: > rs.MoveFirst
: >
: > ' boucle les enregistrements du recordset
: > ' jusqu'à la fin
: > Do Until rs.EOF
: >
: > ' ajoute l'item à la liste
: > lb.AddItem rs(sLabelField).Value
: >
: > ' ajoute la valeur de l'identifiant dans
: > ' l'itemdata de l'item de liste
: > If LenB(sDataField) > 0 Then lb.ItemData(lb.NewIndex) > : > rs(sDataField).Value
: >
: > ' passe au prochain enregistrement
: > rs.MoveNext
: >
: > Loop
: > End If
: >
: > End Sub
: > '***
: >
: > Si tu veux savoir c'est qu'est ADO et DAO regarde ici, dans la section
: "Accès au
: > données":
: >


http://www.microsoft.com/france/msdn/support/technopoches/default.asp#986
: >
: > Si tu veux l'équivalent DAO du code ci-haut, dis le nous nous


t'aiderons.
: >
: > Tu voulais églament démarrer un programme lorsque l'utilisateur
: sélectionne un
: > item dans la liste. Pour y parvenir tu auras besoin de la fonction


Shell
: ou
: > encore de l'API ShellExecute. Reviens nous voir lorsque tu sera rendu


là.
: ;O)
: >
: > --
: > Cordialement
: > Yanick Lefebvre - MVP pour Visual Basic
: > http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
: > http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
: > "Jean-Luc" wrote in message
: > news:999101c3462e$5d4aa9c0$
: > : J'aimerais si vous pourriez me montrer comment ont fait
: > : pour faire une recherche dans une base de donnee Access,
: > : et de montrer a l'ecran (dans une list ou un datagrid) le
: > : resultat de la recherche. Ensuite pouvoir cliquer sur un
: > : resultat (dans le datagrid) pour executer un autre prog.
: > : par exemple.
: > :
: > : Merci
: >
:
:



Avatar
Zoury
J'ai oublié de mentionné qu'il faut ajouter une référence à Microsoft ActiveX
Data Objects 2.X Library

pour y parvenir tu vas dans le menu sous Projets/Références...

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"Zoury" wrote in message
news:%23cQn%
: Salut Jean-Luc! :O)
:
: L'exemple suivant utilise la bd NWIND.MDB fournit avec Visual Studio. Elle
peut
: être trouvé dans ..Microsoft Visual StudioVB98.
:
: Voici un exemple qui rempli une liste avec les résultats d'une requête à
l'aide
: d'ADO.
: '***
: Option Explicit
:
: Private Sub Form_Load()
: Call FillList(List1, _
: GetRecordset("Provider=Microsoft.Jet.OLEDB.4.0;Data
: Source=C:Program FilesMicrosoft Visual StudioVB98NWIND.MDB;Persist
Security
: Infoúlse", _
: "select [Suppliers].[CompanyName] from
: [Suppliers]"), _
: "CompanyName")
: End Sub
:
: ' renvoi le recordset contenant les résultats de la requête effectué
: Private Function GetRecordset _
: ( _
: ByRef sConnectionString As String, _
: ByRef sQuery As String _
: ) As ADODB.Recordset
:
: Dim cn As ADODB.Connection
: Dim rs As ADODB.Recordset
:
: ' ouvre la connection
: Set cn = New ADODB.Connection
: cn.Open sConnectionString
:
: ' exécute la requête
: Set rs = New ADODB.Recordset
: rs.CursorLocation = adUseClient
: rs.Open sQuery, cn, adOpenForwardOnly, adLockReadOnly
:
: ' renvoi le recordset résultant
: Set GetRecordset = rs
:
: End Function
:
: ' rempli la liste spécifie à partir
: ' des champs spécifiés
: ' du recordset spécifié
: Private Sub FillList _
: ( _
: ByRef lb As ListBox, _
: ByRef rs As ADODB.Recordset, _
: ByRef sLabelField As String, _
: Optional ByRef sDataField As String _
: )
:
: ' vérifie si le recordset est initialisé
: If Not rs Is Nothing Then
:
: ' se place au premier enregistrement
: ' à noter qu'après une requête
: ' le curseur se place automatiquement
: ' au premier enregistrement
: '
: rs.MoveFirst
:
: ' boucle les enregistrements du recordset
: ' jusqu'à la fin
: Do Until rs.EOF
:
: ' ajoute l'item à la liste
: lb.AddItem rs(sLabelField).Value
:
: ' ajoute la valeur de l'identifiant dans
: ' l'itemdata de l'item de liste
: If LenB(sDataField) > 0 Then lb.ItemData(lb.NewIndex) : rs(sDataField).Value
:
: ' passe au prochain enregistrement
: rs.MoveNext
:
: Loop
: End If
:
: End Sub
: '***
:
: Si tu veux savoir c'est qu'est ADO et DAO regarde ici, dans la section "Accès
au
: données":
: http://www.microsoft.com/france/msdn/support/technopoches/default.asp#986
:
: Si tu veux l'équivalent DAO du code ci-haut, dis le nous nous t'aiderons.
:
: Tu voulais églament démarrer un programme lorsque l'utilisateur sélectionne un
: item dans la liste. Pour y parvenir tu auras besoin de la fonction Shell ou
: encore de l'API ShellExecute. Reviens nous voir lorsque tu sera rendu là. ;O)
:
: --
: Cordialement
: Yanick Lefebvre - MVP pour Visual Basic
: http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
: http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
: "Jean-Luc" wrote in message
: news:999101c3462e$5d4aa9c0$
: : J'aimerais si vous pourriez me montrer comment ont fait
: : pour faire une recherche dans une base de donnee Access,
: : et de montrer a l'ecran (dans une list ou un datagrid) le
: : resultat de la recherche. Ensuite pouvoir cliquer sur un
: : resultat (dans le datagrid) pour executer un autre prog.
: : par exemple.
: :
: : Merci
: