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.

2 réponses

1 2
Avatar
MINOT gilles
On 31 août, 21:53, Stéphane B.
wrote:
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'e nvoye
> > 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 ) comm ent
> > 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 o bjets 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 cha mp unique
> >>>> de reperage! par exemple un numero (A)  qui correspond a ton for mulaire 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 dan s le message
> >>>> denews: 85F7702F-F036-4000-9A00-5ED096BD9__BEGIN_MASK_n#9g02mG7!__ ...__END_MASK_i?a63jfAD$__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$z_

> >>>>> Bonjour,
> >>>>> J'aimerai connaitre la méthode en Visual Basic pour acceder a u ne 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 d ans
> >>> ton form- Masquer le texte des messages précédents -

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



1ere reflexion il n'ya pas de cle primaire dans ta table?
il faut en crée une un Nauto par exemple
donne moi l'ensemble etje t'envoie la solution
Avatar
Michel__D
Bonjour,

Une reflexion sur la finalitée et les attentes de ta base de donnée me semble nécessaire.

PS:Comme veut-tu extraire quelque chose lorsque rien ne permet de différencier tes informations.

Stéphane B. a écrit :
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