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

pb UPDATE (SQL) dans VB

3 réponses
Avatar
fabrizio-r
Bonjour,=20

j ai un probl=E8me au niveau de la mise =E0 jour de ma base=20
de donn=E9es.
je cherche =E0 ajouter ou supprimer un certain nombre=20
d'=E9l=E9ment dans un stock=20

Mon code :

Private Sub alim_Click()
If nbpiece.Text =3D "" Then MsgBox "Entrez une valeur !",=20
vbExclamation: Exit Sub

If nbpiece.Text > 0 Then
'on met a jour le nb dans la db

Dim rs As DAO.Recordset
Dim ID As Integer
Set rs =3D db.OpenRecordset(" SELECT num FROM=20
materiel ")

ID =3D rs.Fields("num").Value

db.Execute "UPDATE materiel SET nombre=3Dnombre+"=20
& nbpiece.Text & " WHERE num=3D" & ID

Unload Me
End If
End Sub


Dans mon code j'essay de r=E9up=E9rer l'enregistrement=20
courant pour que je puisse ajouter un nombre de mat=E9riel=20
dans nbpiece.Text.
Le code fonctionne bien, cependant le nombre est tjr=20
ajout=E9 dans le premier enregistrement.... ( ID tjr =E9gal =E0=20
1 )
Si quelqu'un pouvait m'eclairer sur ce probl=E8me.....

Merci d'avance,

Fabrice.

3 réponses

Avatar
Christophe QUEVAL
Bonjour,

Vous n'avez pas précisé de clause "WHERE" dans votre premier SELECT.
Il est donc normal que VB vous retourne toujours le n°1 en premier ! :-)

Christophe

"fabrizio-r" a écrit dans le message
de news:89b701c4329b$88b99580$
Bonjour,

j ai un problème au niveau de la mise à jour de ma base
de données.
je cherche à ajouter ou supprimer un certain nombre
d'élément dans un stock

Mon code :

Private Sub alim_Click()
If nbpiece.Text = "" Then MsgBox "Entrez une valeur !",
vbExclamation: Exit Sub

If nbpiece.Text > 0 Then
'on met a jour le nb dans la db

Dim rs As DAO.Recordset
Dim ID As Integer
Set rs = db.OpenRecordset(" SELECT num FROM
materiel ")

ID = rs.Fields("num").Value

db.Execute "UPDATE materiel SET nombre=nombre+"
& nbpiece.Text & " WHERE num=" & ID

Unload Me
End If
End Sub


Dans mon code j'essay de réupérer l'enregistrement
courant pour que je puisse ajouter un nombre de matériel
dans nbpiece.Text.
Le code fonctionne bien, cependant le nombre est tjr
ajouté dans le premier enregistrement.... ( ID tjr égal à
1 )
Si quelqu'un pouvait m'eclairer sur ce problème.....

Merci d'avance,

Fabrice.
Avatar
fabrizio-r
Le probleme ees que je ne vois pas ce qu'il faut que je
mette dans ma clause WHERE.
Sur quoi dois je me basé pour récupérer l'enregistrement
courant???

Fabrice.

-----Message d'origine-----
Bonjour,

Vous n'avez pas précisé de clause "WHERE" dans votre


premier SELECT.
Il est donc normal que VB vous retourne toujours le n°1


en premier ! :-)

Christophe

"fabrizio-r" a


écrit dans le message
de news:89b701c4329b$88b99580$
Bonjour,

j ai un problème au niveau de la mise à jour de ma base
de données.
je cherche à ajouter ou supprimer un certain nombre
d'élément dans un stock

Mon code :

Private Sub alim_Click()
If nbpiece.Text = "" Then MsgBox "Entrez une valeur !",
vbExclamation: Exit Sub

If nbpiece.Text > 0 Then
'on met a jour le nb dans la db

Dim rs As DAO.Recordset
Dim ID As Integer
Set rs = db.OpenRecordset(" SELECT num FROM
materiel ")

ID = rs.Fields("num").Value

db.Execute "UPDATE materiel SET nombre=nombre+"
& nbpiece.Text & " WHERE num=" & ID

Unload Me
End If
End Sub


Dans mon code j'essay de réupérer l'enregistrement
courant pour que je puisse ajouter un nombre de matériel
dans nbpiece.Text.
Le code fonctionne bien, cependant le nombre est tjr
ajouté dans le premier enregistrement.... ( ID tjr égal à
1 )
Si quelqu'un pouvait m'eclairer sur ce problème.....

Merci d'avance,

Fabrice.


.



Avatar
Jean-Marc
"fabrizio-r" a écrit dans le message
de news:883301c432a3$d9d3a200$
Le probleme ees que je ne vois pas ce qu'il faut que je
mette dans ma clause WHERE.
Sur quoi dois je me basé pour récupérer l'enregistrement
courant???

Hello,
le problème est plus un problème de Design que de base de données: La notion
d' "enregistrement courant" n'à pas vraiment de sens.
L'idée, c'est que si tu veux modifier un enregistrement donné, tu dois
connaitre un moyen de l'identifier (par exemple, son numéro unique, dans un
champ de type clé primaire). C'est alors ce champ et cette valeur que tu
utiliseras dans ta clause Where au moment de faire la mise à jour.

Jean-Marc