Suppression d'un enregistrement ACCESS à partir d'un feuile VB [Résolu]

Signaler
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Bonsoir,

je voulais prendre votre avis sur ce code qui marche pas pour la suppression d'un enregistrement d'une table dans une feuille VB6, voici le code:

Private Sub Suppression_Click()
' Chemin complet et nom de la base
strDB = "C:\pesageo.mdb"
' Nom de la table
strTable = "Véhicule"
 
' Ouverture connexion vers la base
Set oConn = New ADODB.Connection
oConn.Provider = "Microsoft.Jet.OLEDB.4.0"
oConn.Open strDB
 
' Optionnel : Vide la table
'oConn.Execute "DELETE FROM " & strTable
 
' Ouverture recordset sur la table
Set oRS = New ADODB.Recordset
oRS.CursorLocation = adUseClient
oRS.Open strTable, oConn, adOpenDynamic, adLockOptimistic, adCmdTable

oRS.Delete
Adodc1.Refresh
On Error Resume Next 'éviter l' erreur
oRS.MoveNext 'pour se palcer au suivant
If oRS.EOF Then oRS.MovePrevious
End Sub

mais celà engendre l'erreur suivante:

Erreur d'execution '-2147467259 (80004005)':
Impossible de supprimer dans les tables spécifiées.

Merci de m'aider

48 réponses

Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

bonsoir,

voici ce que j'ai mis:
Private Sub Command1_Click()
Dim enr1, enr2 As String
' Chemin complet et nom de la base
strDB = "C:\pesageo.mdb"
' Nom de la table
strTable = "Véhicule"
 
Set oConn = New ADODB.Connection
oConn.Provider = "Microsoft.Jet.OLEDB.4.0"
oConn.Open strDB

On Error GoTo Err_Update
     enr1 = Text1(0).Text ' Extraction de la ligne en cours
     enr2 = Text1(1).Text

Dim sQuery As StringsQuery "Update Véhicule Set N°véhicule '" & enr1 & "', Libellé='" & enr2 & "' Where N°véhicule = '" & Text1(0).Text & "'"

oConn.Execute sQuery

Adodc1.Refresh

Exit Sub
Err_Update:
MsgBox err.Description
End Sub

mais ce code me laisse mes deux champs tels qu'ils étaient "aucune modif"

pour te répondre, j'ai un numéro de véhicule et un libellé, je dois permettre à l'utilisateur la modification du numéro et le libellé.
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
réflechis un peu ...!
Au départ tu as enr1Text1(0).Text
Tu cherches un N°vehicule=Text1(0).Text
et tu lui demandes de remplacer N°vehicule par Text1(0).Text
parce que c' est ça ce que veut dire :
...Set N°vehicule = '" & enr1

je pense que c' est pareil pour le libellé.
ton véhicule a déjà le même  (enr2)
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

oui je sais j'ai meme compiler step by step et ça l'air de fonctionner mais en réalité je n'arrive pas à modifier mon enregistrement!!!
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
et pourtant c' est pas si compliqué !
Ajoutes un TextBox2, dans lequel tu tapes une nouveau N°
Tu cherches celui de Text1(0) et tu le remplaces par TextBox2.Text

     enr1 = Text1(0).Text ' Extraction de la ligne en cours
     enr2 = Text1(1).Text
sQuery "Update Véhicule Set N°véhicule '" & TextBox2.Text  & _
"', Libellé='" & enr2 & "' Where N°véhicule = '" & enr1 & "'"

    
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

mais celà va alourdir ma page et je vais compliquer la tache à l'agent de saisie  !!!
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
mais il faut bien que l' utilisateur saisi quelque chose pour
remplacer quelque chose par autre chose ...non ?
En tout cas , je crois qu' on est arrivé au bout...
On a fait l' essentiel et c' est à toi de voir la suite...


Bonne continuation et à la prochaine
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

Merci

je croyyais que le fait de modifier au niveau de text1(0).text pourra faire l'affaire mais bon.

je te remercie lblida

:)
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
c' est vrai si ton TextBox était lié...
mais ton cas, c' est pas le cas...
Mais tu peux toujours récupérer la valeur à partir de ton tableau
 et le remplacer par le texte du TextBox.


Allez  !  bon courage.