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

pb de syntaxe vba

3 réponses
Avatar
nadis
merci de votre aide!!

mon programme bloque sur l'instruction sql

Private Sub Commande5_Click()
Dim rstTr As Recordset

Set rstTr = CurrentDb.OpenRecordset("SELECT DISTINCT numacte From
matable;")
Do Until rstTr.EOF
doCmd.runSQL "DELETE * FROM maTable WHERE numAuto Not In
(SELECT TOP 3 numAuto FROM maTable WHERE numActe=" +
cstr(rstTr.Fields("numActe"))
rstTr.MoveNext
Loop
rstTr.Close: Set rstTr = Nothing
End Sub

3 réponses

Avatar
Fox
Bonjour regarde si c'est pas parce que t'as pas mis de quote a la fin parce
que tu repasses rstTr.Fields("numActe") en str.

donc regarde si la modif suivante fonctionne :

Private Sub Commande5_Click()
Dim rstTr As Recordset

Set rstTr = CurrentDb.OpenRecordset("SELECT DISTINCT numacte From
matable;")
Do Until rstTr.EOF
doCmd.runSQL "DELETE * FROM maTable WHERE numAuto Not In
(SELECT TOP 3 numAuto FROM maTable WHERE numActe='" +
cstr(rstTr.Fields("numActe") + "')"
rstTr.MoveNext
Loop
rstTr.Close: Set rstTr = Nothing
End Sub





"nadis" a écrit :

merci de votre aide!!

mon programme bloque sur l'instruction sql

Private Sub Commande5_Click()
Dim rstTr As Recordset

Set rstTr = CurrentDb.OpenRecordset("SELECT DISTINCT numacte From
matable;")
Do Until rstTr.EOF
doCmd.runSQL "DELETE * FROM maTable WHERE numAuto Not In
(SELECT TOP 3 numAuto FROM maTable WHERE numActe=" +
cstr(rstTr.Fields("numActe"))
rstTr.MoveNext
Loop
rstTr.Close: Set rstTr = Nothing
End Sub



Avatar
nadis
J'ai un message d'erreur d'incompatibilité de type et meme quant je replace
le cstr par le clng cela donne le meme message d'erreur

"Fox" a écrit :

Bonjour regarde si c'est pas parce que t'as pas mis de quote a la fin parce
que tu repasses rstTr.Fields("numActe") en str.

donc regarde si la modif suivante fonctionne :

Private Sub Commande5_Click()
> Dim rstTr As Recordset
>
> Set rstTr = CurrentDb.OpenRecordset("SELECT DISTINCT numacte From
> matable;")
> Do Until rstTr.EOF
> doCmd.runSQL "DELETE * FROM maTable WHERE numAuto Not In
> (SELECT TOP 3 numAuto FROM maTable WHERE numActe='" +
> cstr(rstTr.Fields("numActe") + "')"
> rstTr.MoveNext
> Loop
> rstTr.Close: Set rstTr = Nothing
> End Sub



"nadis" a écrit :

> merci de votre aide!!
>
> mon programme bloque sur l'instruction sql
>
> Private Sub Commande5_Click()
> Dim rstTr As Recordset
>
> Set rstTr = CurrentDb.OpenRecordset("SELECT DISTINCT numacte From
> matable;")
> Do Until rstTr.EOF
> doCmd.runSQL "DELETE * FROM maTable WHERE numAuto Not In
> (SELECT TOP 3 numAuto FROM maTable WHERE numActe=" +
> cstr(rstTr.Fields("numActe"))
> rstTr.MoveNext
> Loop
> rstTr.Close: Set rstTr = Nothing
> End Sub
>


Avatar
FL
Salut,

Il n'y a pas d'étoile sur un ordre delete : "DELETE FROM TABLE WHERE ..."


"nadis" a écrit dans le message de news:

J'ai un message d'erreur d'incompatibilité de type et meme quant je


replace
le cstr par le clng cela donne le meme message d'erreur

"Fox" a écrit :

> Bonjour regarde si c'est pas parce que t'as pas mis de quote a la fin


parce
> que tu repasses rstTr.Fields("numActe") en str.
>
> donc regarde si la modif suivante fonctionne :
>
> Private Sub Commande5_Click()
> > Dim rstTr As Recordset
> >
> > Set rstTr = CurrentDb.OpenRecordset("SELECT DISTINCT numacte From
> > matable;")
> > Do Until rstTr.EOF
> > doCmd.runSQL "DELETE * FROM maTable WHERE numAuto Not In
> > (SELECT TOP 3 numAuto FROM maTable WHERE numActe='" +
> > cstr(rstTr.Fields("numActe") + "')"
> > rstTr.MoveNext
> > Loop
> > rstTr.Close: Set rstTr = Nothing
> > End Sub
>
>
>
> "nadis" a écrit :
>
> > merci de votre aide!!
> >
> > mon programme bloque sur l'instruction sql
> >
> > Private Sub Commande5_Click()
> > Dim rstTr As Recordset
> >
> > Set rstTr = CurrentDb.OpenRecordset("SELECT DISTINCT numacte From
> > matable;")
> > Do Until rstTr.EOF
> > doCmd.runSQL "DELETE * FROM maTable WHERE numAuto Not In
> > (SELECT TOP 3 numAuto FROM maTable WHERE numActe=" +
> > cstr(rstTr.Fields("numActe"))
> > rstTr.MoveNext
> > Loop
> > rstTr.Close: Set rstTr = Nothing
> > End Sub
> >