Probleme avec le delete et le recordset

sabou94 Messages postés 158 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 17 avril 2007 - 1 déc. 2004 à 15:39
saidmansour Messages postés 51 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 13 octobre 2012 - 8 oct. 2012 à 20:35
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
1 déc. 2004 à 15:54
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
0
sabou94 Messages postés 158 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 17 avril 2007
2 déc. 2004 à 10:10
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
0
Cramfr Messages postés 160 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 8 juillet 2008
2 déc. 2004 à 17:00
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)
0
saidmansour Messages postés 51 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 13 octobre 2012
8 oct. 2012 à 20:35
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

                
0
Rejoignez-nous