Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ACCEDER A UNE VALEUR QUELCONQUE D'UNE TABLE EN Visual Basic

12 réponses
Avatar
Stéphane B.
Bonjour,
J'aimerai connaitre la méthode en Visual Basic pour acceder a une valeur
d'une table ouverte.
J'arrive à selectionner en VB un enregistrement.

Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
champs "SOMME" , je n'y arrive pas.
Comment proceder ?

Merci pour votre aide.
Stéphane B.

10 réponses

1 2
Avatar
Le meruvien
Salut stephane, il faut deja que ton enregistrement possede un champ unique
de reperage! par exemple un numero (A) qui correspond a ton formulaire de
demande!(B)
ensuite, il te suffit de mettre par exemmple:
x = somdom("somme";"nom de la table";"A=B")
roger

"Stéphane B." a écrit dans le message
de news:
Bonjour,
J'aimerai connaitre la méthode en Visual Basic pour acceder a une valeur
d'une table ouverte.
J'arrive à selectionner en VB un enregistrement.

Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
champs "SOMME" , je n'y arrive pas.
Comment proceder ?

Merci pour votre aide.
Stéphane B.


Avatar
MINOT gilles
On 30 août, 09:03, "Le meruvien" wrote:
Salut stephane, il faut deja que ton enregistrement possede un champ uniq ue
de reperage! par exemple un numero (A)  qui correspond a ton formulaire de
demande!(B)
ensuite, il te suffit de mettre par exemmple:
x = somdom("somme";"nom de la table";"A=B")
roger

"Stéphane B." a écrit dans le me ssage
denews: 85F7702F-F036-4000-9A00-5ED096BD9__BEGIN_MASK_n#9g02mG7!__...__EN D_MASK_i?a63jfAD$



> Bonjour,
> J'aimerai connaitre la méthode en Visual Basic pour acceder a une val eur
> d'une table ouverte.
> J'arrive à selectionner en VB un enregistrement.

> Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
> champs "SOMME" , je n'y arrive pas.
> Comment proceder ?

> Merci pour votre aide.
> Stéphane B.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



bjr,

moi j'irais charcher directement l'enregistrement du style:


Dim monsql As String, moncritère As String, monjeuenreg As String
Dim rst As DAO.Recordset
Dim bds As Database

Set bds = CurrentDb

monsql = "SELECT enregistrement, somme from matable where"
moncritère = "enregistrement= " & '5'
monjeuenreg = monsql & moncritère

Set rst = bds.OpenRecordset(monjeuenreg, dbOpenSnapshot,
dbSQLPassThrough)
variable= rst!somme

rst.Close
Set bds = Nothing

variable est soit une variable a declare dans ce code ou un objet dans
ton form
Avatar
Michel__D
Bonjour

Une autre alternative (nécessite l'ajout de la référence aux objets ADO)

Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String

sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"

Set oCn1 = CurrentProject.Connection

oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If

oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub

PS:A adapter bien sur.

MINOT gilles a écrit :
On 30 août, 09:03, "Le meruvien" wrote:
Salut stephane, il faut deja que ton enregistrement possede un champ unique
de reperage! par exemple un numero (A) qui correspond a ton formulaire de
demande!(B)
ensuite, il te suffit de mettre par exemmple:
x = somdom("somme";"nom de la table";"A=B")
roger

"Stéphane B." a écrit dans le message
denews: 85F7702F-F036-4000-9A00-5ED096BD9__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$



Bonjour,
J'aimerai connaitre la méthode en Visual Basic pour acceder a une valeur
d'une table ouverte.
J'arrive à selectionner en VB un enregistrement.
Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
champs "SOMME" , je n'y arrive pas.
Comment proceder ?
Merci pour votre aide.
Stéphane B.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



bjr,

moi j'irais charcher directement l'enregistrement du style:


Dim monsql As String, moncritère As String, monjeuenreg As String
Dim rst As DAO.Recordset
Dim bds As Database

Set bds = CurrentDb

monsql = "SELECT enregistrement, somme from matable where"
moncritère = "enregistrement= " & '5'
monjeuenreg = monsql & moncritère

Set rst = bds.OpenRecordset(monjeuenreg, dbOpenSnapshot,
dbSQLPassThrough)
variable= rst!somme

rst.Close
Set bds = Nothing

variable est soit une variable a declare dans ce code ou un objet dans
ton form


Avatar
Stéphane B.
Bonsoir Gilles,
Je suis un amateur en ACCESS et en VISUAL BASIC et le code que tu m'envoye
est trop compliqué pour moi.

Voici mon problème.
J'ai créé une requete qui est ouverte avec 18 enregistrements.
Chaque enregistrement a trois Champs différents.
"MOIS CONCERNES", "STATUS", "SOMME".
Pour avoir par exemple la SOMME de l'enregistrement ( Variable ) comment
puis-je faire ?

Merci
Stéphane B.

"MINOT gilles" a écrit :

On 30 août, 09:03, "Le meruvien" wrote:
> Salut stephane, il faut deja que ton enregistrement possede un champ unique
> de reperage! par exemple un numero (A) qui correspond a ton formulaire de
> demande!(B)
> ensuite, il te suffit de mettre par exemmple:
> x = somdom("somme";"nom de la table";"A=B")
> roger
>
> "Stéphane B." a écrit dans le message
> denews: 85F7702F-F036-4000-9A00-5ED096BD9__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
>
>
>
> > Bonjour,
> > J'aimerai connaitre la méthode en Visual Basic pour acceder a une valeur
> > d'une table ouverte.
> > J'arrive à selectionner en VB un enregistrement.
>
> > Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
> > champs "SOMME" , je n'y arrive pas.
> > Comment proceder ?
>
> > Merci pour votre aide.
> > Stéphane B.- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -

bjr,

moi j'irais charcher directement l'enregistrement du style:


Dim monsql As String, moncritère As String, monjeuenreg As String
Dim rst As DAO.Recordset
Dim bds As Database

Set bds = CurrentDb

monsql = "SELECT enregistrement, somme from matable where"
moncritère = "enregistrement= " & '5'
monjeuenreg = monsql & moncritère

Set rst = bds.OpenRecordset(monjeuenreg, dbOpenSnapshot,
dbSQLPassThrough)
variable= rst!somme

rst.Close
Set bds = Nothing

variable est soit une variable a declare dans ce code ou un objet dans
ton form



Avatar
Stéphane B.
Bonsoir Michel,
Je suis un amateur en ACCESS et en VISUAL BASIC et le code que tu m'envoye
est trop compliqué pour moi.

Voici mon problème.
J'ai créé une requete qui est ouverte avec 18 enregistrements.
Chaque enregistrement a trois Champs différents.
"MOIS CONCERNES", "STATUS", "SOMME".
Pour avoir par exemple la SOMME de l'enregistrement ( Variable ) comment
puis-je faire ?

Merci
Stéphane B.


"Michel__D" a écrit :

Bonjour

Une autre alternative (nécessite l'ajout de la référence aux objets ADO)

Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String

sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"

Set oCn1 = CurrentProject.Connection

oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If

oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub

PS:A adapter bien sur.

MINOT gilles a écrit :
> On 30 août, 09:03, "Le meruvien" wrote:
>> Salut stephane, il faut deja que ton enregistrement possede un champ unique
>> de reperage! par exemple un numero (A) qui correspond a ton formulaire de
>> demande!(B)
>> ensuite, il te suffit de mettre par exemmple:
>> x = somdom("somme";"nom de la table";"A=B")
>> roger
>>
>> "Stéphane B." a écrit dans le message
>> denews: 85F7702F-F036-4000-9A00-5ED096BD9__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
>>
>>
>>
>>> Bonjour,
>>> J'aimerai connaitre la méthode en Visual Basic pour acceder a une valeur
>>> d'une table ouverte.
>>> J'arrive à selectionner en VB un enregistrement.
>>> Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
>>> champs "SOMME" , je n'y arrive pas.
>>> Comment proceder ?
>>> Merci pour votre aide.
>>> Stéphane B.- Masquer le texte des messages précédents -
>> - Afficher le texte des messages précédents -
>
> bjr,
>
> moi j'irais charcher directement l'enregistrement du style:
>
>
> Dim monsql As String, moncritère As String, monjeuenreg As String
> Dim rst As DAO.Recordset
> Dim bds As Database
>
> Set bds = CurrentDb
>
> monsql = "SELECT enregistrement, somme from matable where"
> moncritère = "enregistrement= " & '5'
> monjeuenreg = monsql & moncritère
>
> Set rst = bds.OpenRecordset(monjeuenreg, dbOpenSnapshot,
> dbSQLPassThrough)
> variable= rst!somme
>
> rst.Close
> Set bds = Nothing
>
> variable est soit une variable a declare dans ce code ou un objet dans
> ton form



Avatar
Stéphane B.
Bonsoir le meruvien,
Je suis un amateur en ACCESS et en VISUAL BASIC et le code que tu m'envoye
est trop compliqué pour moi.

Voici mon problème.
J'ai créé une requete qui est ouverte avec 18 enregistrements.
Chaque enregistrement a trois Champs différents.
"MOIS CONCERNES", "STATUS", "SOMME".
Pour avoir par exemple la SOMME de l'enregistrement ( Variable ) comment
puis-je faire ?

Merci
Stéphane B.


"Le meruvien" a écrit :

Salut stephane, il faut deja que ton enregistrement possede un champ unique
de reperage! par exemple un numero (A) qui correspond a ton formulaire de
demande!(B)
ensuite, il te suffit de mettre par exemmple:
x = somdom("somme";"nom de la table";"A=B")
roger

"Stéphane B." a écrit dans le message
de news:
> Bonjour,
> J'aimerai connaitre la méthode en Visual Basic pour acceder a une valeur
> d'une table ouverte.
> J'arrive à selectionner en VB un enregistrement.
>
> Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
> champs "SOMME" , je n'y arrive pas.
> Comment proceder ?
>
> Merci pour votre aide.
> Stéphane B.





Avatar
MINOT gilles
On 30 août, 21:59, Stéphane B.
wrote:
Bonsoir le meruvien,
Je suis un amateur en ACCESS et en VISUAL BASIC et le code que tu m'envoy e
est trop compliqué pour moi.

Voici mon problème.
J'ai créé une requete qui est ouverte avec 18 enregistrements.
Chaque enregistrement a trois Champs différents.
"MOIS CONCERNES", "STATUS", "SOMME".
Pour avoir par exemple la SOMME de l'enregistrement ( Variable ) comment
puis-je faire ?

Merci
Stéphane B.

"Le meruvien" a écrit :



> Salut stephane, il faut deja que ton enregistrement possede un champ un ique
> de reperage! par exemple un numero (A)  qui correspond a ton formulai re de
> demande!(B)
> ensuite, il te suffit de mettre par exemmple:
> x = somdom("somme";"nom de la table";"A=B")
> roger

> "Stéphane B." a écrit dans le message
> denews: 85F7702F-F036-4000-9A00-5ED096BD9__BEGIN_MASK_n#9g02mG7!__...__ END_MASK_i?a63jfAD$
> > Bonjour,
> > J'aimerai connaitre la méthode en Visual Basic pour acceder a une v aleur
> > d'une table ouverte.
> > J'arrive à selectionner en VB un enregistrement.

> > Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
> > champs "SOMME" , je n'y arrive pas.
> > Comment proceder ?

> > Merci pour votre aide.
> > Stéphane B.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



je comprend pas somme est un champ ou c'est la somme des 18
enregistrements que tu veut
Avatar
Stéphane B.
Pour le méruvien

SOMME est le titre d'une colonne qui contient 18 sommes car il y a 18
enregistrements dans cette table. MOIS CORNERNES est aussi le titre d'une
colonne ainsi que STATUT.
Ce que je veux c'est avoir par exemple la somme contenue dans le 5 ième
enregistrement ou dans le ( variable enregistrement ) en VISUAL BASIC;

Merçi pour ton aide.
Stéphane B.

"MINOT gilles" a écrit :

On 30 août, 21:59, Stéphane B.
wrote:
> Bonsoir le meruvien,
> Je suis un amateur en ACCESS et en VISUAL BASIC et le code que tu m'envoye
> est trop compliqué pour moi.
>
> Voici mon problème.
> J'ai créé une requete qui est ouverte avec 18 enregistrements.
> Chaque enregistrement a trois Champs différents.
> "MOIS CONCERNES", "STATUS", "SOMME".
> Pour avoir par exemple la SOMME de l'enregistrement ( Variable ) comment
> puis-je faire ?
>
> Merci
> Stéphane B.
>
> "Le meruvien" a écrit :
>
>
>
> > Salut stephane, il faut deja que ton enregistrement possede un champ unique
> > de reperage! par exemple un numero (A) qui correspond a ton formulaire de
> > demande!(B)
> > ensuite, il te suffit de mettre par exemmple:
> > x = somdom("somme";"nom de la table";"A=B")
> > roger
>
> > "Stéphane B." a écrit dans le message
> > denews: 85F7702F-F036-4000-9A00-5ED096BD9__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
> > > Bonjour,
> > > J'aimerai connaitre la méthode en Visual Basic pour acceder a une valeur
> > > d'une table ouverte.
> > > J'arrive à selectionner en VB un enregistrement.
>
> > > Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
> > > champs "SOMME" , je n'y arrive pas.
> > > Comment proceder ?
>
> > > Merci pour votre aide.
> > > Stéphane B.- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -

je comprend pas somme est un champ ou c'est la somme des 18
enregistrements que tu veut



Avatar
Michel__D
Bonjour,

Donne un exemple, 18 enregistrements cela devrait aller.


Stéphane B. a écrit :
Bonsoir Michel,
Je suis un amateur en ACCESS et en VISUAL BASIC et le code que tu m'envoye
est trop compliqué pour moi.

Voici mon problème.
J'ai créé une requete qui est ouverte avec 18 enregistrements.
Chaque enregistrement a trois Champs différents.
"MOIS CONCERNES", "STATUS", "SOMME".
Pour avoir par exemple la SOMME de l'enregistrement ( Variable ) comment
puis-je faire ?

Merci
Stéphane B.


"Michel__D" a écrit :

Bonjour

Une autre alternative (nécessite l'ajout de la référence aux objets ADO)

Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String

sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"

Set oCn1 = CurrentProject.Connection

oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If

oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub

PS:A adapter bien sur.

MINOT gilles a écrit :
On 30 août, 09:03, "Le meruvien" wrote:
Salut stephane, il faut deja que ton enregistrement possede un champ unique
de reperage! par exemple un numero (A) qui correspond a ton formulaire de
demande!(B)
ensuite, il te suffit de mettre par exemmple:
x = somdom("somme";"nom de la table";"A=B")
roger

"Stéphane B." a écrit dans le message
denews: 85F7702F-F036-4000-9A00-5ED096BD9__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$



Bonjour,
J'aimerai connaitre la méthode en Visual Basic pour acceder a une valeur
d'une table ouverte.
J'arrive à selectionner en VB un enregistrement.
Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
champs "SOMME" , je n'y arrive pas.
Comment proceder ?
Merci pour votre aide.
Stéphane B.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


bjr,

moi j'irais charcher directement l'enregistrement du style:


Dim monsql As String, moncritère As String, monjeuenreg As String
Dim rst As DAO.Recordset
Dim bds As Database

Set bds = CurrentDb

monsql = "SELECT enregistrement, somme from matable where"
moncritère = "enregistrement= " & '5'
monjeuenreg = monsql & moncritère

Set rst = bds.OpenRecordset(monjeuenreg, dbOpenSnapshot,
dbSQLPassThrough)
variable= rst!somme

rst.Close
Set bds = Nothing

variable est soit une variable a declare dans ce code ou un objet dans
ton form






Avatar
Stéphane B.
Michel, voiçi un exemple de ma base avec 8 enregistrements

MOIS CONCERNE STATUT SOMME
AOUT A PAYER 300
AOUT A PAYER 310
AOUT A PAYER 320
AOUT A PAYER 330
AOUT A PAYER 340
AOUT A PAYER 350
AOUT A PAYER 360
AOUT A PAYER 370

Comment obtenir la valeur de la SOMME du 5 ième enregistrement
soit " 340 " le tout en Visual Basic

Merçi pour ton aide Michel
Stéphane B.
"Michel__D" a écrit :

Bonjour,

Donne un exemple, 18 enregistrements cela devrait aller.


Stéphane B. a écrit :
> Bonsoir Michel,
> Je suis un amateur en ACCESS et en VISUAL BASIC et le code que tu m'envoye
> est trop compliqué pour moi.
>
> Voici mon problème.
> J'ai créé une requete qui est ouverte avec 18 enregistrements.
> Chaque enregistrement a trois Champs différents.
> "MOIS CONCERNES", "STATUS", "SOMME".
> Pour avoir par exemple la SOMME de l'enregistrement ( Variable ) comment
> puis-je faire ?
>
> Merci
> Stéphane B.
>
>
> "Michel__D" a écrit :
>
>> Bonjour
>>
>> Une autre alternative (nécessite l'ajout de la référence aux objets ADO)
>>
>> Sub RequeteADO()
>> Dim oCn1 As ADODB.Connection
>> Dim oRst As New ADODB.Recordset
>> Dim sSQL As String
>>
>> sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
>>
>> Set oCn1 = CurrentProject.Connection
>>
>> oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
>> If Not oRst.EOF Then
>> nValeur = oRst!SOMME
>> End If
>>
>> oRst.Close
>> oCn1.Close
>> Set oRst = Nothing
>> Set oCn1 = Nothing
>> End Sub
>>
>> PS:A adapter bien sur.
>>
>> MINOT gilles a écrit :
>>> On 30 août, 09:03, "Le meruvien" wrote:
>>>> Salut stephane, il faut deja que ton enregistrement possede un champ unique
>>>> de reperage! par exemple un numero (A) qui correspond a ton formulaire de
>>>> demande!(B)
>>>> ensuite, il te suffit de mettre par exemmple:
>>>> x = somdom("somme";"nom de la table";"A=B")
>>>> roger
>>>>
>>>> "Stéphane B." a écrit dans le message
>>>> denews: 85F7702F-F036-4000-9A00-5ED096BD9__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
>>>>
>>>>
>>>>
>>>>> Bonjour,
>>>>> J'aimerai connaitre la méthode en Visual Basic pour acceder a une valeur
>>>>> d'une table ouverte.
>>>>> J'arrive à selectionner en VB un enregistrement.
>>>>> Mais si je veux avoir par exemple la valeur de l'enregistrement 5 et du
>>>>> champs "SOMME" , je n'y arrive pas.
>>>>> Comment proceder ?
>>>>> Merci pour votre aide.
>>>>> Stéphane B.- Masquer le texte des messages précédents -
>>>> - Afficher le texte des messages précédents -
>>> bjr,
>>>
>>> moi j'irais charcher directement l'enregistrement du style:
>>>
>>>
>>> Dim monsql As String, moncritère As String, monjeuenreg As String
>>> Dim rst As DAO.Recordset
>>> Dim bds As Database
>>>
>>> Set bds = CurrentDb
>>>
>>> monsql = "SELECT enregistrement, somme from matable where"
>>> moncritère = "enregistrement= " & '5'
>>> monjeuenreg = monsql & moncritère
>>>
>>> Set rst = bds.OpenRecordset(monjeuenreg, dbOpenSnapshot,
>>> dbSQLPassThrough)
>>> variable= rst!somme
>>>
>>> rst.Close
>>> Set bds = Nothing
>>>
>>> variable est soit une variable a declare dans ce code ou un objet dans
>>> ton form



1 2