OVH Cloud OVH Cloud

erreur 331 erreur de syntaxe dans clause From

4 réponses
Avatar
Guy
bonjour à tous

voici l'objet du delit

mes tables sont toutes du type [Tb xxxxx] et [TB xxxxx1] de longueur variables

Function CopyTableData()
Dim TablsSRC, TableDST As DAO.Recordset
Dim TableSRCNom, TableDSTNom As String
Dim i, j As Byte

For i = 0 To CurrentDb.TableDefs.Count - 1
If Right(CurrentDb.TableDefs(i).Name, 1) = "1" Then
TableSRCNom = CurrentDb.TableDefs(i).Name


TableDSTNom = Left(TableSRCNom, Len(TableSRCNom) - 1)

'Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " & (TableDSTNom))
'Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " & (TableSRCNom))

Set TableSRC = CurrentDb.OpenRecordset("SELECT * FROM " & TableSRCNom &
"')")
Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " & TableDSTNom &
"')")

While Not TableSRC.EOF
TableDST.AddNew
For j = 0 To TableSRC.Fields.Count - 1
TableDST.Fields(j).Value = TableSRC.Fields(j).Value
Next
TableDST.Update
TableSRC.MoveNext
Wend
TableSRC.Close
TableDST.Close
End If
Next i

End Function

Si je renome mes tables en [yyyy] et [yyyy1] cela fonctionne trés bien

me donner la solution est bien mais une ou deux lignes d'explication sont
les bienvenues


--
Amicalement et merci

4 réponses

Avatar
Raymond [mvp]
Bonjour.
il te manque un ' mais il vaux mieux indiquer des [ ]
Set TableSRC = CurrentDb.OpenRecordset("SELECT * FROM [" & TableSRCNom &
"])")
Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM [" & TableDSTNom &
"])")
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Guy" <André> a écrit dans le message de news:

| bonjour à tous
|
| voici l'objet du delit
|
| mes tables sont toutes du type [Tb xxxxx] et [TB xxxxx1] de longueur
variables
|
| Function CopyTableData()
| Dim TablsSRC, TableDST As DAO.Recordset
| Dim TableSRCNom, TableDSTNom As String
| Dim i, j As Byte
|
| For i = 0 To CurrentDb.TableDefs.Count - 1
| If Right(CurrentDb.TableDefs(i).Name, 1) = "1" Then
| TableSRCNom = CurrentDb.TableDefs(i).Name
|
|
| TableDSTNom = Left(TableSRCNom, Len(TableSRCNom) - 1)
|
| 'Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " &
(TableDSTNom))
| 'Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " &
(TableSRCNom))
|
| Set TableSRC = CurrentDb.OpenRecordset("SELECT * FROM " & TableSRCNom &
| "')")
| Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " & TableDSTNom &
| "')")
|
| While Not TableSRC.EOF
| TableDST.AddNew
| For j = 0 To TableSRC.Fields.Count - 1
| TableDST.Fields(j).Value = TableSRC.Fields(j).Value
| Next
| TableDST.Update
| TableSRC.MoveNext
| Wend
| TableSRC.Close
| TableDST.Close
| End If
| Next i
|
| End Function
|
| Si je renome mes tables en [yyyy] et [yyyy1] cela fonctionne trés bien
|
| me donner la solution est bien mais une ou deux lignes d'explication sont
| les bienvenues
|
|
| --
| Amicalement et merci
Avatar
Guy
bonjour raymond et encore merci

Mais le probleme persite et meme avec une Table [aaaa] ou [Tb articles]

erreur 3131
--
Amicalement et merci



Bonjour.
il te manque un ' mais il vaux mieux indiquer des [ ]
Set TableSRC = CurrentDb.OpenRecordset("SELECT * FROM [" & TableSRCNom &
"])")
Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM [" & TableDSTNom &
"])")
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Guy" <André> a écrit dans le message de news:

| bonjour à tous
|
| voici l'objet du delit
|
| mes tables sont toutes du type [Tb xxxxx] et [TB xxxxx1] de longueur
variables
|
| Function CopyTableData()
| Dim TablsSRC, TableDST As DAO.Recordset
| Dim TableSRCNom, TableDSTNom As String
| Dim i, j As Byte
|
| For i = 0 To CurrentDb.TableDefs.Count - 1
| If Right(CurrentDb.TableDefs(i).Name, 1) = "1" Then
| TableSRCNom = CurrentDb.TableDefs(i).Name
|
|
| TableDSTNom = Left(TableSRCNom, Len(TableSRCNom) - 1)
|
| 'Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " &
(TableDSTNom))
| 'Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " &
(TableSRCNom))
|
| Set TableSRC = CurrentDb.OpenRecordset("SELECT * FROM " & TableSRCNom &
| "')")
| Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " & TableDSTNom &
| "')")
|
| While Not TableSRC.EOF
| TableDST.AddNew
| For j = 0 To TableSRC.Fields.Count - 1
| TableDST.Fields(j).Value = TableSRC.Fields(j).Value
| Next
| TableDST.Update
| TableSRC.MoveNext
| Wend
| TableSRC.Close
| TableDST.Close
| End If
| Next i
|
| End Function
|
| Si je renome mes tables en [yyyy] et [yyyy1] cela fonctionne trés bien
|
| me donner la solution est bien mais une ou deux lignes d'explication sont
| les bienvenues
|
|
| --
| Amicalement et merci





Avatar
Raymond [mvp]
il y a une ( en trop.

Set TableSRC = CurrentDb.OpenRecordset("SELECT * FROM [" & TableSRCNom &
"]")

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Guy" <André> a écrit dans le message de news:

| bonjour raymond et encore merci
|
| Mais le probleme persite et meme avec une Table [aaaa] ou [Tb articles]
|
| erreur 3131
| --
| Amicalement et merci
|
Avatar
LR
Juste au passage, tu verras que les variables TablsSRC, TableSRCNom et i sont
toutes du type Variant.

Tu devrais les déclarer comme suit :

Dim TablsSRC As DAO.Recordset, TableDST As DAO.Recordset
Dim TableSRCNom As String, TableDSTNom As String
Dim i As Byte, j As Byte




bonjour à tous

voici l'objet du delit

mes tables sont toutes du type [Tb xxxxx] et [TB xxxxx1] de longueur variables

Function CopyTableData()
Dim TablsSRC, TableDST As DAO.Recordset
Dim TableSRCNom, TableDSTNom As String
Dim i, j As Byte

For i = 0 To CurrentDb.TableDefs.Count - 1
If Right(CurrentDb.TableDefs(i).Name, 1) = "1" Then
TableSRCNom = CurrentDb.TableDefs(i).Name


TableDSTNom = Left(TableSRCNom, Len(TableSRCNom) - 1)

'Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " & (TableDSTNom))
'Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " & (TableSRCNom))

Set TableSRC = CurrentDb.OpenRecordset("SELECT * FROM " & TableSRCNom &
"')")
Set TableDST = CurrentDb.OpenRecordset("SELECT * FROM " & TableDSTNom &
"')")

While Not TableSRC.EOF
TableDST.AddNew
For j = 0 To TableSRC.Fields.Count - 1
TableDST.Fields(j).Value = TableSRC.Fields(j).Value
Next
TableDST.Update
TableSRC.MoveNext
Wend
TableSRC.Close
TableDST.Close
End If
Next i

End Function

Si je renome mes tables en [yyyy] et [yyyy1] cela fonctionne trés bien

me donner la solution est bien mais une ou deux lignes d'explication sont
les bienvenues


--
Amicalement et merci