Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1, CIE_1,
CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1, CIE_1,
CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1, CIE_1,
CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1, CIE_1,
CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1, CIE_1,
CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1, CIE_1,
CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonjour,
Beaucoup de choses à dire
1- Pourquoi St rs = Nothing en début de procédure ?
2 - Dans la 1ère chaine SQL tu as 3 fois le même champ à savoir BLOC_1,
est-ce voulu ?
3 - s'il faut renseigner les champs de la table pepclip à partir de ceux
de la table var_pe_clip_rex, il faut les passer en variables. Une autre
solution serait de faire un SELECT INTO pepcli SELECT ... FROM
var_pe_clip_rex
4 - j'ignore le type des champs
5 - Je suppose que tu veux copier les valeurs des enregistrements de la
table var_pe_clip_rex dans la table pepcli
Donc au jugé je te propose les 2 solutions :
Avec INSERT INTO SELECT ... FROM , le plus simple
Sub Ajout_Copy()
Dim strSQL as String
strSQL="INSERT INTO [peclip] SELECT BLOC_1, NO_PE, BLOC_1, CIE_1,
BLOC_1, NO_SYSWIBS, REALISEE FROM var_pe_clip_rex"
CurrentdB.Execute strSQL
End Sub
Avec INSERT INTO ... VALUES
Sub Ajout_Copy()
Dim db as database, strSQL as String
Dim rs as DAO.Recordset
Set db = Currentdb
strSQL="SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
While not rs.eof
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & "," & rs(1) _
& "," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
rs.movenext
Wend
set rs=nothing: set db =nothing
End Sub
ICI : tous les champs sont considérés comme numériques
rs(0) correspond au 1er champ de rs
Si rs(1) est alphanumérique, par exemple :
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & ",'" & rs(1) _
& "'," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
Macgiver a écrit :Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais
lorsque j'exécute cette fonction j'obtiens l'erreur suivante : Erreur
d'exécution '3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonjour,
Beaucoup de choses à dire
1- Pourquoi St rs = Nothing en début de procédure ?
2 - Dans la 1ère chaine SQL tu as 3 fois le même champ à savoir BLOC_1,
est-ce voulu ?
3 - s'il faut renseigner les champs de la table pepclip à partir de ceux
de la table var_pe_clip_rex, il faut les passer en variables. Une autre
solution serait de faire un SELECT INTO pepcli SELECT ... FROM
var_pe_clip_rex
4 - j'ignore le type des champs
5 - Je suppose que tu veux copier les valeurs des enregistrements de la
table var_pe_clip_rex dans la table pepcli
Donc au jugé je te propose les 2 solutions :
Avec INSERT INTO SELECT ... FROM , le plus simple
Sub Ajout_Copy()
Dim strSQL as String
strSQL="INSERT INTO [peclip] SELECT BLOC_1, NO_PE, BLOC_1, CIE_1,
BLOC_1, NO_SYSWIBS, REALISEE FROM var_pe_clip_rex"
CurrentdB.Execute strSQL
End Sub
Avec INSERT INTO ... VALUES
Sub Ajout_Copy()
Dim db as database, strSQL as String
Dim rs as DAO.Recordset
Set db = Currentdb
strSQL="SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
While not rs.eof
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & "," & rs(1) _
& "," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
rs.movenext
Wend
set rs=nothing: set db =nothing
End Sub
ICI : tous les champs sont considérés comme numériques
rs(0) correspond au 1er champ de rs
Si rs(1) est alphanumérique, par exemple :
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & ",'" & rs(1) _
& "'," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
Macgiver a écrit :
Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais
lorsque j'exécute cette fonction j'obtiens l'erreur suivante : Erreur
d'exécution '3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonjour,
Beaucoup de choses à dire
1- Pourquoi St rs = Nothing en début de procédure ?
2 - Dans la 1ère chaine SQL tu as 3 fois le même champ à savoir BLOC_1,
est-ce voulu ?
3 - s'il faut renseigner les champs de la table pepclip à partir de ceux
de la table var_pe_clip_rex, il faut les passer en variables. Une autre
solution serait de faire un SELECT INTO pepcli SELECT ... FROM
var_pe_clip_rex
4 - j'ignore le type des champs
5 - Je suppose que tu veux copier les valeurs des enregistrements de la
table var_pe_clip_rex dans la table pepcli
Donc au jugé je te propose les 2 solutions :
Avec INSERT INTO SELECT ... FROM , le plus simple
Sub Ajout_Copy()
Dim strSQL as String
strSQL="INSERT INTO [peclip] SELECT BLOC_1, NO_PE, BLOC_1, CIE_1,
BLOC_1, NO_SYSWIBS, REALISEE FROM var_pe_clip_rex"
CurrentdB.Execute strSQL
End Sub
Avec INSERT INTO ... VALUES
Sub Ajout_Copy()
Dim db as database, strSQL as String
Dim rs as DAO.Recordset
Set db = Currentdb
strSQL="SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
While not rs.eof
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & "," & rs(1) _
& "," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
rs.movenext
Wend
set rs=nothing: set db =nothing
End Sub
ICI : tous les champs sont considérés comme numériques
rs(0) correspond au 1er champ de rs
Si rs(1) est alphanumérique, par exemple :
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & ",'" & rs(1) _
& "'," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
Macgiver a écrit :Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais
lorsque j'exécute cette fonction j'obtiens l'erreur suivante : Erreur
d'exécution '3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Merci Fabien, mais je ne sais pas si tu as fait une petite erreur au niveau
du code mais j'ai encore une erreur, la voici :
Erreur d'exécution '3265' : Élément non trouvé dans cette collection.
revoici le code adaptée à mes champs:
Function ajout_copy2()
Dim Rst As DAO.Recordset
Dim Sql As String
Sql = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rst = CurrentDb.OpenRecordset(Sql)
While Not Rst.EOF
CurrentDb.Execute "INSERT INTO [peclip] (NO_COMPILA, NO_PE, BLOC_1, CIE_1,
CODE_ACI, NO_SYSWIBS, REALISEE) Values (" & Rst("NO_COMPILA") & "," &
Rst("NO_PE") & "," & Rst("BLOC_1") & "," & Rst("CODE_ACI") & "," &
Rst("NO_SYSWIBS") & "," & Rst("REALISEE") & ");"
Rst.MoveNext
Wend
Rst.Close
Set Rst = Nothing
End Function
merci beaucoup
"Fabien" a écrit dans le message de news:Macgiver a écrit :Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Salut
Avec :
Function ajout_copy()
Dim Rst as dao.recordset
Dim Sql as String
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"Set Rs = CurrentdB.OpenRecordset(SQL)
While not Rst.eof
Currentdb.Execute "INSERT INTO [peclip]
(Champ1,Champ2,Champ3,Champ4,Champ5,Champ6,Champ7) Values (" &
Rst("NO_COMPILA" & "," & rst("NO_PE") & "," & rst("BLOC_1") & "," &
rst("CODE_ACI") & "," & rst("NO_SYSWIBS") & "," & rst("REALISEE" & ");"
Rs.MoveNext
Wend
Rst.close
Set Rst =NothingEnd Function
ça devrait mieux fonctionner ;-)
@+
Merci Fabien, mais je ne sais pas si tu as fait une petite erreur au niveau
du code mais j'ai encore une erreur, la voici :
Erreur d'exécution '3265' : Élément non trouvé dans cette collection.
revoici le code adaptée à mes champs:
Function ajout_copy2()
Dim Rst As DAO.Recordset
Dim Sql As String
Sql = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rst = CurrentDb.OpenRecordset(Sql)
While Not Rst.EOF
CurrentDb.Execute "INSERT INTO [peclip] (NO_COMPILA, NO_PE, BLOC_1, CIE_1,
CODE_ACI, NO_SYSWIBS, REALISEE) Values (" & Rst("NO_COMPILA") & "," &
Rst("NO_PE") & "," & Rst("BLOC_1") & "," & Rst("CODE_ACI") & "," &
Rst("NO_SYSWIBS") & "," & Rst("REALISEE") & ");"
Rst.MoveNext
Wend
Rst.Close
Set Rst = Nothing
End Function
merci beaucoup
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> a écrit dans le message de news:
uxay8zWqJHA.1252@TK2MSFTNGP03.phx.gbl...
Macgiver a écrit :
Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Salut
Avec :
Function ajout_copy()
Dim Rst as dao.recordset
Dim Sql as String
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = CurrentdB.OpenRecordset(SQL)
While not Rst.eof
Currentdb.Execute "INSERT INTO [peclip]
(Champ1,Champ2,Champ3,Champ4,Champ5,Champ6,Champ7) Values (" &
Rst("NO_COMPILA" & "," & rst("NO_PE") & "," & rst("BLOC_1") & "," &
rst("CODE_ACI") & "," & rst("NO_SYSWIBS") & "," & rst("REALISEE" & ");"
Rs.MoveNext
Wend
Rst.close
Set Rst =Nothing
End Function
ça devrait mieux fonctionner ;-)
@+
Merci Fabien, mais je ne sais pas si tu as fait une petite erreur au niveau
du code mais j'ai encore une erreur, la voici :
Erreur d'exécution '3265' : Élément non trouvé dans cette collection.
revoici le code adaptée à mes champs:
Function ajout_copy2()
Dim Rst As DAO.Recordset
Dim Sql As String
Sql = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rst = CurrentDb.OpenRecordset(Sql)
While Not Rst.EOF
CurrentDb.Execute "INSERT INTO [peclip] (NO_COMPILA, NO_PE, BLOC_1, CIE_1,
CODE_ACI, NO_SYSWIBS, REALISEE) Values (" & Rst("NO_COMPILA") & "," &
Rst("NO_PE") & "," & Rst("BLOC_1") & "," & Rst("CODE_ACI") & "," &
Rst("NO_SYSWIBS") & "," & Rst("REALISEE") & ");"
Rst.MoveNext
Wend
Rst.Close
Set Rst = Nothing
End Function
merci beaucoup
"Fabien" a écrit dans le message de news:Macgiver a écrit :Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Salut
Avec :
Function ajout_copy()
Dim Rst as dao.recordset
Dim Sql as String
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"Set Rs = CurrentdB.OpenRecordset(SQL)
While not Rst.eof
Currentdb.Execute "INSERT INTO [peclip]
(Champ1,Champ2,Champ3,Champ4,Champ5,Champ6,Champ7) Values (" &
Rst("NO_COMPILA" & "," & rst("NO_PE") & "," & rst("BLOC_1") & "," &
rst("CODE_ACI") & "," & rst("NO_SYSWIBS") & "," & rst("REALISEE" & ");"
Rs.MoveNext
Wend
Rst.close
Set Rst =NothingEnd Function
ça devrait mieux fonctionner ;-)
@+
Bonjour,
Beaucoup de choses à dire
1- Pourquoi St rs = Nothing en début de procédure ?
2 - Dans la 1ère chaine SQL tu as 3 fois le même champ à savoir BLOC_1,
est-ce voulu ?
3 - s'il faut renseigner les champs de la table pepclip à partir de ceux
de la table var_pe_clip_rex, il faut les passer en variables. Une autre
solution serait de faire un SELECT INTO pepcli SELECT ... FROM
var_pe_clip_rex
4 - j'ignore le type des champs
5 - Je suppose que tu veux copier les valeurs des enregistrements de la
table var_pe_clip_rex dans la table pepcli
Donc au jugé je te propose les 2 solutions :
Avec INSERT INTO SELECT ... FROM , le plus simple
Sub Ajout_Copy()
Dim strSQL as String
strSQL="INSERT INTO [peclip] SELECT BLOC_1, NO_PE, BLOC_1, CIE_1,
BLOC_1, NO_SYSWIBS, REALISEE FROM var_pe_clip_rex"
CurrentdB.Execute strSQL
End Sub
Avec INSERT INTO ... VALUES
Sub Ajout_Copy()
Dim db as database, strSQL as String
Dim rs as DAO.Recordset
Set db = Currentdb
strSQL="SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
While not rs.eof
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & "," & rs(1) _
& "," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
rs.movenext
Wend
set rs=nothing: set db =nothing
End Sub
ICI : tous les champs sont considérés comme numériques
rs(0) correspond au 1er champ de rs
Si rs(1) est alphanumérique, par exemple :
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & ",'" & rs(1) _
& "'," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
Macgiver a écrit :Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais
lorsque j'exécute cette fonction j'obtiens l'erreur suivante : Erreur
d'exécution '3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonjour,
Beaucoup de choses à dire
1- Pourquoi St rs = Nothing en début de procédure ?
2 - Dans la 1ère chaine SQL tu as 3 fois le même champ à savoir BLOC_1,
est-ce voulu ?
3 - s'il faut renseigner les champs de la table pepclip à partir de ceux
de la table var_pe_clip_rex, il faut les passer en variables. Une autre
solution serait de faire un SELECT INTO pepcli SELECT ... FROM
var_pe_clip_rex
4 - j'ignore le type des champs
5 - Je suppose que tu veux copier les valeurs des enregistrements de la
table var_pe_clip_rex dans la table pepcli
Donc au jugé je te propose les 2 solutions :
Avec INSERT INTO SELECT ... FROM , le plus simple
Sub Ajout_Copy()
Dim strSQL as String
strSQL="INSERT INTO [peclip] SELECT BLOC_1, NO_PE, BLOC_1, CIE_1,
BLOC_1, NO_SYSWIBS, REALISEE FROM var_pe_clip_rex"
CurrentdB.Execute strSQL
End Sub
Avec INSERT INTO ... VALUES
Sub Ajout_Copy()
Dim db as database, strSQL as String
Dim rs as DAO.Recordset
Set db = Currentdb
strSQL="SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
While not rs.eof
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & "," & rs(1) _
& "," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
rs.movenext
Wend
set rs=nothing: set db =nothing
End Sub
ICI : tous les champs sont considérés comme numériques
rs(0) correspond au 1er champ de rs
Si rs(1) est alphanumérique, par exemple :
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & ",'" & rs(1) _
& "'," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
Macgiver a écrit :
Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais
lorsque j'exécute cette fonction j'obtiens l'erreur suivante : Erreur
d'exécution '3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Bonjour,
Beaucoup de choses à dire
1- Pourquoi St rs = Nothing en début de procédure ?
2 - Dans la 1ère chaine SQL tu as 3 fois le même champ à savoir BLOC_1,
est-ce voulu ?
3 - s'il faut renseigner les champs de la table pepclip à partir de ceux
de la table var_pe_clip_rex, il faut les passer en variables. Une autre
solution serait de faire un SELECT INTO pepcli SELECT ... FROM
var_pe_clip_rex
4 - j'ignore le type des champs
5 - Je suppose que tu veux copier les valeurs des enregistrements de la
table var_pe_clip_rex dans la table pepcli
Donc au jugé je te propose les 2 solutions :
Avec INSERT INTO SELECT ... FROM , le plus simple
Sub Ajout_Copy()
Dim strSQL as String
strSQL="INSERT INTO [peclip] SELECT BLOC_1, NO_PE, BLOC_1, CIE_1,
BLOC_1, NO_SYSWIBS, REALISEE FROM var_pe_clip_rex"
CurrentdB.Execute strSQL
End Sub
Avec INSERT INTO ... VALUES
Sub Ajout_Copy()
Dim db as database, strSQL as String
Dim rs as DAO.Recordset
Set db = Currentdb
strSQL="SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
While not rs.eof
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & "," & rs(1) _
& "," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
rs.movenext
Wend
set rs=nothing: set db =nothing
End Sub
ICI : tous les champs sont considérés comme numériques
rs(0) correspond au 1er champ de rs
Si rs(1) est alphanumérique, par exemple :
dB.Execute "INSERT INTO [peclip] Values (" & rs(0) & ",'" & rs(1) _
& "'," & rs(2) & "," & rs(3) & "," & rs(4) & "," & rs(5) & "," _
& rs(6) & ")"
Macgiver a écrit :Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais
lorsque j'exécute cette fonction j'obtiens l'erreur suivante : Erreur
d'exécution '3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS,
REALISEE FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
A compléter avec l'excellente réponse d'Eric ;-)
@+
A compléter avec l'excellente réponse d'Eric ;-)
@+
A compléter avec l'excellente réponse d'Eric ;-)
@+
Bonjour,
Ben, non car j'ai dû m'y reprendre à 2 fois :-(
Fabien a écrit :A compléter avec l'excellente réponse d'Eric ;-)
@+
Bonjour,
Ben, non car j'ai dû m'y reprendre à 2 fois :-(
Fabien a écrit :
A compléter avec l'excellente réponse d'Eric ;-)
@+
Bonjour,
Ben, non car j'ai dû m'y reprendre à 2 fois :-(
Fabien a écrit :A compléter avec l'excellente réponse d'Eric ;-)
@+
Macgiver a écrit :Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Salut
Avec :
Function ajout_copy()
Dim Rst as dao.recordset
Dim Sql as String
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
> Set Rs = CurrentdB.OpenRecordset(SQL)
> While not Rst.eof
Currentdb.Execute "INSERT INTO [peclip]
(Champ1,Champ2,Champ3,Champ4,Champ5,Champ6,Champ7) Values (" &
Rst("NO_COMPILA" & "," & rst("NO_PE") & "," & rst("BLOC_1") & "," &
rst("CODE_ACI") & "," & rst("NO_SYSWIBS") & "," & rst("REALISEE" & ");"
Rs.MoveNext
Wend
Rst.close
Set Rst =Nothing
> End Function
ça devrait mieux fonctionner ;-)
@+
Macgiver a écrit :
Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Salut
Avec :
Function ajout_copy()
Dim Rst as dao.recordset
Dim Sql as String
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
> Set Rs = CurrentdB.OpenRecordset(SQL)
> While not Rst.eof
Currentdb.Execute "INSERT INTO [peclip]
(Champ1,Champ2,Champ3,Champ4,Champ5,Champ6,Champ7) Values (" &
Rst("NO_COMPILA" & "," & rst("NO_PE") & "," & rst("BLOC_1") & "," &
rst("CODE_ACI") & "," & rst("NO_SYSWIBS") & "," & rst("REALISEE" & ");"
Rs.MoveNext
Wend
Rst.close
Set Rst =Nothing
> End Function
ça devrait mieux fonctionner ;-)
@+
Macgiver a écrit :Bonour a tous voici mon problème. J'ai ce code-ci (voir plus bas) pour
insérer toutes les données d'une table dans une autre table mais lorsque
j'exécute cette fonction j'obtiens l'erreur suivante : Erreur d'exécution
'3061': Trop peu de paramètres. 7 attendu.
pourquoi???? et comment corriger ce bug
voici le code utilisé:
Function ajout_copy()
Set dB = CurrentDb
Set Rs = Nothing
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
Set Rs = dB.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Do Until Rs.EOF
Rs.MoveNext
dB.Execute "INSERT INTO [peclip] Values (NO_COMPILA, NO_PE, BLOC_1,
CIE_1, CODE_ACI, NO_SYSWIBS, REALISEE)"
Loop
End If
End Function
Salut
Avec :
Function ajout_copy()
Dim Rst as dao.recordset
Dim Sql as String
SQL = "SELECT BLOC_1, NO_PE, BLOC_1, CIE_1, BLOC_1, NO_SYSWIBS, REALISEE
FROM var_pe_clip_rex"
> Set Rs = CurrentdB.OpenRecordset(SQL)
> While not Rst.eof
Currentdb.Execute "INSERT INTO [peclip]
(Champ1,Champ2,Champ3,Champ4,Champ5,Champ6,Champ7) Values (" &
Rst("NO_COMPILA" & "," & rst("NO_PE") & "," & rst("BLOC_1") & "," &
rst("CODE_ACI") & "," & rst("NO_SYSWIBS") & "," & rst("REALISEE" & ");"
Rs.MoveNext
Wend
Rst.close
Set Rst =Nothing
> End Function
ça devrait mieux fonctionner ;-)
@+
Eric a écrit :Bonjour,
Ben, non car j'ai dû m'y reprendre à 2 fois :-(
Fabien a écrit :A compléter avec l'excellente réponse d'Eric ;-)
@+
Ben ouai des fois on se penche trop vite et on manque de tomber ;-))
Bon Week
Eric a écrit :
Bonjour,
Ben, non car j'ai dû m'y reprendre à 2 fois :-(
Fabien a écrit :
A compléter avec l'excellente réponse d'Eric ;-)
@+
Ben ouai des fois on se penche trop vite et on manque de tomber ;-))
Bon Week
Eric a écrit :Bonjour,
Ben, non car j'ai dû m'y reprendre à 2 fois :-(
Fabien a écrit :A compléter avec l'excellente réponse d'Eric ;-)
@+
Ben ouai des fois on se penche trop vite et on manque de tomber ;-))
Bon Week