Probleme avec le delete et le recordset

Signaler
Messages postés
158
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
17 avril 2007
-
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012
-
Bonjour, je travaille sur un projet pour les cours sur vb6 et je rencontre une erreur : "les arguments sont de type incorrects, en dehors des limites autorisées ou en conflit les uns avec les autres".

voici le code d'un de mes boutons: la suppression d'un employés d'une base de données access, auquels on a accedé auparavant.

Private Sub cmdSupprimer_Click()
Dim reqSupp As String
Dim messSupp As String

messSupp = MsgBox("Etes vous sur de vouloir supprimer cet employé?", vbYesNo, "Attention")
reqSupp = "select * from employés where numemploy= '" & frmStatut.txtNum & "' "
reqSupp = reqSupp + " and CONTRAT.NUMCONTRAT=EMPLOYES.NUMCONTRAT "
reqSupp = reqSupp + " and FONCTION.NUMFONCTION=EMPLOYES.NUMFONCTION "

'Le probleme est ici : '

rsSupp.Open con, reqSupp, adOpenDynamic, adLockOptimistic
If (messSupp = vbYes) Then
rsSupp.Delete

End If

End Sub

Si quelqu'un pouvait m'aider... :dissapprove) Merci d'avance!!
sabrina

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
116
Bien que je ne pense pas que ca vienne de là, voici ce que je te conseille de faire (je ne suis pas sûr que ta méthode fonctionne) :

Private Sub cmdSupprimer_Click()
Dim reqSupp As String

If MsgBox("Etes vous sur de vouloir supprimer cet employé?", vbYesNo, "Attention") = vbYes then

rsSupp.Open con, "select * from employés where numemploy= '" & frmStatut.txtNum & "' "
reqSupp = reqSupp + " and CONTRAT.NUMCONTRAT=EMPLOYES.NUMCONTRAT "
reqSupp = reqSupp + " and FONCTION.NUMFONCTION=EMPLOYES.NUMFONCTION ", adOpenDynamic, adLockOptimistic
rsSupp.Delete

End If

End Sub
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
Messages postés
158
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
17 avril 2007

Désolée ,mais ca ne marche pas non plus, je crois ke le probleme vient du fait que dans ma table employés j'ai deux cles etrangeres (numfonction et numcontrat)
si quelqu'un pouvait me proposer autre chose....
les deux solutions proposées ne marchent pas
merci quand meme!
sabrina
Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008

Et si tu déclare un RecordSet :
'Sachant qu'il faut une référence DAO 3.6 (si possible)
dim rst as RecordSet
dim oDB as Database
set oDb = open("MycheminEtMybase")
et que tu fais :
oDB.execute "DELETE * FROM employés WHERE " & MyCondition
A+
Cramsoturf le VBien en quête de nouveau programme :big)
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

j'ai une application vb6 base de données MSacces, j'ai fait exporter une requête en un fichier txt. et exactement l'export des matricule des personne avec d'autre informations relatif.
je veux une astuce que lorsque je lance la commande export n'exporte pas les matricule déjà exporter.





Dim Reponse8 As String

Reponse8=MsgBox("Vous voulez vraiment valider l'export en cours!",vbQuestion+vbYesNo,"Export des Carrières")

If (Reponse8 = vbYes) Then


Set MaConn = New ADODB.Connection
MaConn.Provider = "Microsoft.Jet.OLEDB.4.0;"

MaConn.Open "C:\personnel\GCP.mdb"

Set rsttable = New ADODB.Recordset

rsttable.Open "SELECT * FROM cariére" & _
" ORDER BY matricule,DateDebut;", MaConn, , , adCmdText


Dim xMatricule As String, xNom As String, Schaine As String
Dim xPrenom As String, xdatenaissance As String, xsexe As String, xDateDebut As String, xDateFin As String, xidq As String, xidpos As String, xidg As String, xidf As String, xidts As String





Open "C:\personnel\EXPORT.txt" For Output As #1
With rsttable
.MoveFirst

While Not.EOF
xMatricule=!Matricule
Schaine=Right("0000000000"+Trim(!Matricule),10)&Left(!Nom+Space(40),40)&Left(!Prenom+Space(40),40)&Format$(!datenaissance,"ddMMyyyy")&!sexe


Do While Not.EOF And xMatricule=!Matricule
Schaine=Schaine&Format$(!DateDebut,"ddMMyyyy")&Format$(!DateFin,"ddMMyyyy")&Right("00"+Trim(!idq),2)&Right("00"+Trim(!idpos),2)&Right("0000"+Trim(!idg),4)&Right("0000"+Trim(!idf),4)&Right("00"+Trim(!idts),2)
.MoveNext


If .EOF Then Exit Do
Loop

Print #1, "0000000008" & Schaine


Wend
End With
Close #1
rsttable.Close

End If

End Select