pb UPDATE (SQL) dans VB

Le
fabrizio-r
Bonjour,

j ai un problme au niveau de la mise jour de ma base
de donnes.
je cherche ajouter ou supprimer un certain nombre
d'lment 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 ruprer l'enregistrement
courant pour que je puisse ajouter un nombre de matriel
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 problme..

Merci d'avance,

Fabrice.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christophe QUEVAL
Le #14801181
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" 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.
fabrizio-r
Le #14801171
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"

é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.


.



Jean-Marc
Le #14801151
"fabrizio-r" 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
Publicité
Poster une réponse
Anonyme