VBA erreur

Le
John
Bonsoir,

J'ai trouvé sur un autre forum le code suivant, car il m'intéresse,
néanmoins lorsque je veux le mettre en pratique il ne fonctionne pas.

Une ligne jaune s'arrête ici : Set rs = CurrentDb.OpenRecordset(sql)
et j'ai un message : Erreur d'éxécution '3075'
Erreur de syntaxe (opérateur absent) dans l'expression .*.

Merci pour votre aide.

Public Sub Renuméroter(NomTable As String, ChampAutoNum As String,
ChampRenuméroté As String) 'ex call Renuméroter("Tst","AutoNum","Renuméroté")
Dim i As Integer
Dim rs As Recordset
Dim sql As String
i = 1
sql = "SELECT " & Table1 & ".* FROM " & Table1 & " ORDER BY " & Table1 & "."
& ordre & ";"
'Debug.Print sql
Set rs = CurrentDb.OpenRecordset(sql)
Do Until rs.EOF
rs.Edit
rs(ordre) = i
rs.Update
i = i + 1
rs.MoveNext
Loop
End Sub

--
John.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel_D
Le #6808221
Bonsoir,

J'ai trouvé sur un autre forum le code suivant, car il m'intéresse,
néanmoins lorsque je veux le mettre en pratique il ne fonctionne pas.

Une ligne jaune s'arrête ici : Set rs = CurrentDb.OpenRecordset(sql)
et j'ai un message : Erreur d'éxécution '3075'
Erreur de syntaxe (opérateur absent) dans l'expression .*.

Merci pour votre aide.

Public Sub Renuméroter(NomTable As String, ChampAutoNum As String,
ChampRenuméroté As String) 'ex call Renuméroter("Tst","AutoNum","Renuméroté")
Dim i As Integer
Dim rs As Recordset
Dim sql As String
i = 1
sql = "SELECT " & Table1 & ".* FROM " & Table1 & " ORDER BY " & Table1 & "."
& ordre & ";"
'Debug.Print sql
Set rs = CurrentDb.OpenRecordset(sql)
Do Until rs.EOF
rs.Edit
rs(ordre) = i
rs.Update
i = i + 1
rs.MoveNext
Loop
End Sub


Le SQL ne doit pas être correct.

Debug.Print sql ' => devrait t'en dire plus

Fabien
Le #6810131
Bonsoir,

J'ai trouvé sur un autre forum le code suivant, car il m'intéresse,
néanmoins lorsque je veux le mettre en pratique il ne fonctionne pas.

Une ligne jaune s'arrête ici : Set rs = CurrentDb.OpenRecordset(sql)
et j'ai un message : Erreur d'éxécution '3075'
Erreur de syntaxe (opérateur absent) dans l'expression .*.

Merci pour votre aide.

Public Sub Renuméroter(NomTable As String, ChampAutoNum As String,
ChampRenuméroté As String) 'ex call Renuméroter("Tst","AutoNum","Renuméroté")
Dim i As Integer
Dim rs As Recordset
Dim sql As String
i = 1
sql = "SELECT " & Table1 & ".* FROM " & Table1 & " ORDER BY " & Table1 & "."
& ordre & ";"
'Debug.Print sql
Set rs = CurrentDb.OpenRecordset(sql)
Do Until rs.EOF
rs.Edit
rs(ordre) = i
rs.Update
i = i + 1
rs.MoveNext
Loop
End Sub

Salut

Dans le sql Table1 : d'où vient il ?
Ne serais ce pas NomTable plutôt ?
et Ordre ?
@+

Eric
Le #6810121
Bonjour,

Tu as adapté à tes besoins les arguments de la procédure. Il ne fallait
pas le faire dans le corps de la procédure mais lors de son appel.
Ce que je ferai:
- recopier la procédure originale et lors de l'appel spécifier les
arguments.
Dans ton cas, ça devrait donner quelque chose comme :
Call Renuméroter("Table1","AutoNum","Ordre") en adaptant le champ
AutoNum par son vrai nom lors de cet appel.

Bonsoir,

J'ai trouvé sur un autre forum le code suivant, car il m'intéresse,
néanmoins lorsque je veux le mettre en pratique il ne fonctionne pas.

Une ligne jaune s'arrête ici : Set rs = CurrentDb.OpenRecordset(sql)
et j'ai un message : Erreur d'éxécution '3075'
Erreur de syntaxe (opérateur absent) dans l'expression .*.

Merci pour votre aide.

Public Sub Renuméroter(NomTable As String, ChampAutoNum As String,
ChampRenuméroté As String) 'ex call Renuméroter("Tst","AutoNum","Renuméroté")
Dim i As Integer
Dim rs As Recordset
Dim sql As String
i = 1
sql = "SELECT " & Table1 & ".* FROM " & Table1 & " ORDER BY " & Table1 & "."
& ordre & ";"
'Debug.Print sql
Set rs = CurrentDb.OpenRecordset(sql)
Do Until rs.EOF
rs.Edit
rs(ordre) = i
rs.Update
i = i + 1
rs.MoveNext
Loop
End Sub



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

John
Le #6935881
Bonsoir Fabien,

Excuse moi pour le retard, tu as écris :
Salut
Dans le sql Table1 : d'où vient il ?
Ne serais ce pas NomTable plutôt ?
et Ordre ?
@+

Le sql Table1 vient du nom d'une table "Table1" ordre est un compteur de
cette table "NumAuto" je ne comprend pas ça ne fonctionne pas.

Tu peux me donner un exemple ?
Merci de ton aide.
--
John.



Bonsoir,

J'ai trouvé sur un autre forum le code suivant, car il m'intéresse,
néanmoins lorsque je veux le mettre en pratique il ne fonctionne pas.

Une ligne jaune s'arrête ici : Set rs = CurrentDb.OpenRecordset(sql)
et j'ai un message : Erreur d'éxécution '3075'
Erreur de syntaxe (opérateur absent) dans l'expression .*.

Merci pour votre aide.

Public Sub Renuméroter(NomTable As String, ChampAutoNum As String,
ChampRenuméroté As String) 'ex call Renuméroter("Tst","AutoNum","Renuméroté")
Dim i As Integer
Dim rs As Recordset
Dim sql As String
i = 1
sql = "SELECT " & Table1 & ".* FROM " & Table1 & " ORDER BY " & Table1 & "."
& ordre & ";"
'Debug.Print sql
Set rs = CurrentDb.OpenRecordset(sql)
Do Until rs.EOF
rs.Edit
rs(ordre) = i
rs.Update
i = i + 1
rs.MoveNext
Loop
End Sub

Salut

Dans le sql Table1 : d'où vient il ?
Ne serais ce pas NomTable plutôt ?
et Ordre ?
@+




Philippe
Le #6939401
Bonsoir John,

Ce code fonctionne trés bien, je pense que tu veux renuméroter le compteur
lui même, et bien non, tu ne peux pas, il n'est pas modifiable, par contre tu
peux modifier le côté plusieurs "champ numérique".

Fait des essais et tiens nous au courant.
Bonsoir @ +
Philippe.


Bonsoir Fabien,

Excuse moi pour le retard, tu as écris :
Salut
Dans le sql Table1 : d'où vient il ?
Ne serais ce pas NomTable plutôt ?
et Ordre ?
@+

Le sql Table1 vient du nom d'une table "Table1" ordre est un compteur de
cette table "NumAuto" je ne comprend pas ça ne fonctionne pas.

Tu peux me donner un exemple ?
Merci de ton aide.
--
John.



Bonsoir,

J'ai trouvé sur un autre forum le code suivant, car il m'intéresse,
néanmoins lorsque je veux le mettre en pratique il ne fonctionne pas.

Une ligne jaune s'arrête ici : Set rs = CurrentDb.OpenRecordset(sql)
et j'ai un message : Erreur d'éxécution '3075'
Erreur de syntaxe (opérateur absent) dans l'expression .*.

Merci pour votre aide.

Public Sub Renuméroter(NomTable As String, ChampAutoNum As String,
ChampRenuméroté As String) 'ex call Renuméroter("Tst","AutoNum","Renuméroté")
Dim i As Integer
Dim rs As Recordset
Dim sql As String
i = 1
sql = "SELECT " & Table1 & ".* FROM " & Table1 & " ORDER BY " & Table1 & "."
& ordre & ";"
'Debug.Print sql
Set rs = CurrentDb.OpenRecordset(sql)
Do Until rs.EOF
rs.Edit
rs(ordre) = i
rs.Update
i = i + 1
rs.MoveNext
Loop
End Sub

Salut

Dans le sql Table1 : d'où vient il ?
Ne serais ce pas NomTable plutôt ?
et Ordre ?
@+






Publicité
Poster une réponse
Anonyme