Bonjour,
Pour copier les données de certains champs d'une table contenues dans un
sous formulaire, j'ai écrit ce module, mais je n'ai qu'un seul
enregistrement
même si dans le sous formulaire, il y en 10, comment dois-je modifier le
module:
Dim Db As DAO.Database
Dim TableSource As Recordset
Dim TableDestination As Recordset
Dim NbChamps As Integer
Dim i As Integer
Function SetFonction()
Set Db = CurrentDb
Set TableSource = Db.OpenRecordset ("SELECT ID, [Champ1_TableSource],
[Champ2_TableSource] FROM TableSource WHERE ID =" &
Forms![FormulairePrincipal].[ID])
Set TableDestination = Db.OpenRecordset("SELECT ID,
[Champ1_TableDestination], [Champ2_TableDestination] FROM
[TableDestination]
ORDER BY ID;")
If Not TableSource.NoMatch Then
NbChamps = TableSource.Fields.Count - 1
TableSource.Edit
TableDestination.AddNew
For i = 0 To NbChamps
TableDestination.Fields(i) = TableSource.Fields(i)
Next i
TableDestination.Update
End If
TableSource.Close
TableDestination.Close
End Function
Merci pour votre Aide.
Marie-Claire
--
Marie-Claire
Bonjour,
Pour copier les données de certains champs d'une table contenues dans un
sous formulaire, j'ai écrit ce module, mais je n'ai qu'un seul
enregistrement
même si dans le sous formulaire, il y en 10, comment dois-je modifier le
module:
Dim Db As DAO.Database
Dim TableSource As Recordset
Dim TableDestination As Recordset
Dim NbChamps As Integer
Dim i As Integer
Function SetFonction()
Set Db = CurrentDb
Set TableSource = Db.OpenRecordset ("SELECT ID, [Champ1_TableSource],
[Champ2_TableSource] FROM TableSource WHERE ID =" &
Forms![FormulairePrincipal].[ID])
Set TableDestination = Db.OpenRecordset("SELECT ID,
[Champ1_TableDestination], [Champ2_TableDestination] FROM
[TableDestination]
ORDER BY ID;")
If Not TableSource.NoMatch Then
NbChamps = TableSource.Fields.Count - 1
TableSource.Edit
TableDestination.AddNew
For i = 0 To NbChamps
TableDestination.Fields(i) = TableSource.Fields(i)
Next i
TableDestination.Update
End If
TableSource.Close
TableDestination.Close
End Function
Merci pour votre Aide.
Marie-Claire
--
Marie-Claire
Bonjour,
Pour copier les données de certains champs d'une table contenues dans un
sous formulaire, j'ai écrit ce module, mais je n'ai qu'un seul
enregistrement
même si dans le sous formulaire, il y en 10, comment dois-je modifier le
module:
Dim Db As DAO.Database
Dim TableSource As Recordset
Dim TableDestination As Recordset
Dim NbChamps As Integer
Dim i As Integer
Function SetFonction()
Set Db = CurrentDb
Set TableSource = Db.OpenRecordset ("SELECT ID, [Champ1_TableSource],
[Champ2_TableSource] FROM TableSource WHERE ID =" &
Forms![FormulairePrincipal].[ID])
Set TableDestination = Db.OpenRecordset("SELECT ID,
[Champ1_TableDestination], [Champ2_TableDestination] FROM
[TableDestination]
ORDER BY ID;")
If Not TableSource.NoMatch Then
NbChamps = TableSource.Fields.Count - 1
TableSource.Edit
TableDestination.AddNew
For i = 0 To NbChamps
TableDestination.Fields(i) = TableSource.Fields(i)
Next i
TableDestination.Update
End If
TableSource.Close
TableDestination.Close
End Function
Merci pour votre Aide.
Marie-Claire
--
Marie-Claire
Bonjour.
ta fonction comporte des erreurs, mais, pourquoi ton sous-formulaire n'est
pas basé directement sur la tabledestination au lieu de passer par une table
intermédiaire ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Deux jours pour faire le point sur la sécurité et préparer demain:
http://www.microsoft.com/france/securite/jms/?src=commu
"Marie-Claire" a écrit dans le
message de news:Bonjour,
Pour copier les données de certains champs d'une table contenues dans un
sous formulaire, j'ai écrit ce module, mais je n'ai qu'un seul
enregistrement
même si dans le sous formulaire, il y en 10, comment dois-je modifier le
module:
Dim Db As DAO.Database
Dim TableSource As Recordset
Dim TableDestination As Recordset
Dim NbChamps As Integer
Dim i As Integer
Function SetFonction()
Set Db = CurrentDb
Set TableSource = Db.OpenRecordset ("SELECT ID, [Champ1_TableSource],
[Champ2_TableSource] FROM TableSource WHERE ID =" &
Forms![FormulairePrincipal].[ID])
Set TableDestination = Db.OpenRecordset("SELECT ID,
[Champ1_TableDestination], [Champ2_TableDestination] FROM
[TableDestination]
ORDER BY ID;")
If Not TableSource.NoMatch Then
NbChamps = TableSource.Fields.Count - 1
TableSource.Edit
TableDestination.AddNew
For i = 0 To NbChamps
TableDestination.Fields(i) = TableSource.Fields(i)
Next i
TableDestination.Update
End If
TableSource.Close
TableDestination.Close
End Function
Merci pour votre Aide.
Marie-Claire
--
Marie-Claire
Bonjour.
ta fonction comporte des erreurs, mais, pourquoi ton sous-formulaire n'est
pas basé directement sur la tabledestination au lieu de passer par une table
intermédiaire ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Deux jours pour faire le point sur la sécurité et préparer demain:
http://www.microsoft.com/france/securite/jms/?src=commu
"Marie-Claire" <MarieClaire@discussions.microsoft.com> a écrit dans le
message de news: B525B03B-F65A-4233-9D33-7DFC83D6BC82@microsoft.com...
Bonjour,
Pour copier les données de certains champs d'une table contenues dans un
sous formulaire, j'ai écrit ce module, mais je n'ai qu'un seul
enregistrement
même si dans le sous formulaire, il y en 10, comment dois-je modifier le
module:
Dim Db As DAO.Database
Dim TableSource As Recordset
Dim TableDestination As Recordset
Dim NbChamps As Integer
Dim i As Integer
Function SetFonction()
Set Db = CurrentDb
Set TableSource = Db.OpenRecordset ("SELECT ID, [Champ1_TableSource],
[Champ2_TableSource] FROM TableSource WHERE ID =" &
Forms![FormulairePrincipal].[ID])
Set TableDestination = Db.OpenRecordset("SELECT ID,
[Champ1_TableDestination], [Champ2_TableDestination] FROM
[TableDestination]
ORDER BY ID;")
If Not TableSource.NoMatch Then
NbChamps = TableSource.Fields.Count - 1
TableSource.Edit
TableDestination.AddNew
For i = 0 To NbChamps
TableDestination.Fields(i) = TableSource.Fields(i)
Next i
TableDestination.Update
End If
TableSource.Close
TableDestination.Close
End Function
Merci pour votre Aide.
Marie-Claire
--
Marie-Claire
Bonjour.
ta fonction comporte des erreurs, mais, pourquoi ton sous-formulaire n'est
pas basé directement sur la tabledestination au lieu de passer par une table
intermédiaire ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Deux jours pour faire le point sur la sécurité et préparer demain:
http://www.microsoft.com/france/securite/jms/?src=commu
"Marie-Claire" a écrit dans le
message de news:Bonjour,
Pour copier les données de certains champs d'une table contenues dans un
sous formulaire, j'ai écrit ce module, mais je n'ai qu'un seul
enregistrement
même si dans le sous formulaire, il y en 10, comment dois-je modifier le
module:
Dim Db As DAO.Database
Dim TableSource As Recordset
Dim TableDestination As Recordset
Dim NbChamps As Integer
Dim i As Integer
Function SetFonction()
Set Db = CurrentDb
Set TableSource = Db.OpenRecordset ("SELECT ID, [Champ1_TableSource],
[Champ2_TableSource] FROM TableSource WHERE ID =" &
Forms![FormulairePrincipal].[ID])
Set TableDestination = Db.OpenRecordset("SELECT ID,
[Champ1_TableDestination], [Champ2_TableDestination] FROM
[TableDestination]
ORDER BY ID;")
If Not TableSource.NoMatch Then
NbChamps = TableSource.Fields.Count - 1
TableSource.Edit
TableDestination.AddNew
For i = 0 To NbChamps
TableDestination.Fields(i) = TableSource.Fields(i)
Next i
TableDestination.Update
End If
TableSource.Close
TableDestination.Close
End Function
Merci pour votre Aide.
Marie-Claire
--
Marie-Claire
Bonjour,
La table destination est utilisée uniquement pour faire des sélections et
la
table intermédiaire a plein de choses qui ne servent à rien pour ça.
Tu peux me dire comment corriger mes fautes, s'il-te-plaît?
Merci tout plein.
Marie-Claire
Bonjour,
La table destination est utilisée uniquement pour faire des sélections et
la
table intermédiaire a plein de choses qui ne servent à rien pour ça.
Tu peux me dire comment corriger mes fautes, s'il-te-plaît?
Merci tout plein.
Marie-Claire
Bonjour,
La table destination est utilisée uniquement pour faire des sélections et
la
table intermédiaire a plein de choses qui ne servent à rien pour ça.
Tu peux me dire comment corriger mes fautes, s'il-te-plaît?
Merci tout plein.
Marie-Claire
En espérant avoir bien compris ton désir,
vérifier la ligne TableDestination.FindFirst "ID = " & "'" & TableSource!ID
& "'", car je ne pense pas que les deux ID soient identiques.
fonction non testée.
Dim Db As DAO.Database
Dim TableSource As DAO.Recordset
Dim TableDestination As DAO.Recordset
Dim i As Integer
Function SetFonction()
Set Db = CurrentDb
Set TableDestination = Db.OpenRecordset("SELECT * FROM [TableDestination];")
Set TableSource = Db.OpenRecordset("SELECT ID,
[Champ1_TableSource],[Champ2_TableSource] FROM TableSource WHERE ID =" &
Forms![FormulairePrincipal].[ID])
If Not TableSource.EOF Then
Do Until TableSource.EOF
TableDestination.FindFirst "ID = " & "'" & TableSource!ID & "'"
If TableDestination.NoMatch Then
TableDestination.AddNew
Else
TableDestination.Edit
End If
For i = 0 To TableSource.Fields.Count - 1
TableDestination.Fields(i) = TableSource.Fields(i)
Next i
TableDestination.Update
Loop
End If
TableSource.Close
TableDestination.Close
Set TableDestination = Nothing
Set TableSource = Nothing
Set Db = Nothing
End Function
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Deux jours pour faire le point sur la sécurité et préparer demain:
http://www.microsoft.com/france/securite/jms/?src=commu
"Marie-Claire" a écrit dans le
message de news:Bonjour,
La table destination est utilisée uniquement pour faire des sélections et
la
table intermédiaire a plein de choses qui ne servent à rien pour ça.
Tu peux me dire comment corriger mes fautes, s'il-te-plaît?
Merci tout plein.
Marie-Claire
En espérant avoir bien compris ton désir,
vérifier la ligne TableDestination.FindFirst "ID = " & "'" & TableSource!ID
& "'", car je ne pense pas que les deux ID soient identiques.
fonction non testée.
Dim Db As DAO.Database
Dim TableSource As DAO.Recordset
Dim TableDestination As DAO.Recordset
Dim i As Integer
Function SetFonction()
Set Db = CurrentDb
Set TableDestination = Db.OpenRecordset("SELECT * FROM [TableDestination];")
Set TableSource = Db.OpenRecordset("SELECT ID,
[Champ1_TableSource],[Champ2_TableSource] FROM TableSource WHERE ID =" &
Forms![FormulairePrincipal].[ID])
If Not TableSource.EOF Then
Do Until TableSource.EOF
TableDestination.FindFirst "ID = " & "'" & TableSource!ID & "'"
If TableDestination.NoMatch Then
TableDestination.AddNew
Else
TableDestination.Edit
End If
For i = 0 To TableSource.Fields.Count - 1
TableDestination.Fields(i) = TableSource.Fields(i)
Next i
TableDestination.Update
Loop
End If
TableSource.Close
TableDestination.Close
Set TableDestination = Nothing
Set TableSource = Nothing
Set Db = Nothing
End Function
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Deux jours pour faire le point sur la sécurité et préparer demain:
http://www.microsoft.com/france/securite/jms/?src=commu
"Marie-Claire" <MarieClaire@discussions.microsoft.com> a écrit dans le
message de news: 668C632C-5CDE-440A-B0F9-35E11BD46FF8@microsoft.com...
Bonjour,
La table destination est utilisée uniquement pour faire des sélections et
la
table intermédiaire a plein de choses qui ne servent à rien pour ça.
Tu peux me dire comment corriger mes fautes, s'il-te-plaît?
Merci tout plein.
Marie-Claire
En espérant avoir bien compris ton désir,
vérifier la ligne TableDestination.FindFirst "ID = " & "'" & TableSource!ID
& "'", car je ne pense pas que les deux ID soient identiques.
fonction non testée.
Dim Db As DAO.Database
Dim TableSource As DAO.Recordset
Dim TableDestination As DAO.Recordset
Dim i As Integer
Function SetFonction()
Set Db = CurrentDb
Set TableDestination = Db.OpenRecordset("SELECT * FROM [TableDestination];")
Set TableSource = Db.OpenRecordset("SELECT ID,
[Champ1_TableSource],[Champ2_TableSource] FROM TableSource WHERE ID =" &
Forms![FormulairePrincipal].[ID])
If Not TableSource.EOF Then
Do Until TableSource.EOF
TableDestination.FindFirst "ID = " & "'" & TableSource!ID & "'"
If TableDestination.NoMatch Then
TableDestination.AddNew
Else
TableDestination.Edit
End If
For i = 0 To TableSource.Fields.Count - 1
TableDestination.Fields(i) = TableSource.Fields(i)
Next i
TableDestination.Update
Loop
End If
TableSource.Close
TableDestination.Close
Set TableDestination = Nothing
Set TableSource = Nothing
Set Db = Nothing
End Function
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Deux jours pour faire le point sur la sécurité et préparer demain:
http://www.microsoft.com/france/securite/jms/?src=commu
"Marie-Claire" a écrit dans le
message de news:Bonjour,
La table destination est utilisée uniquement pour faire des sélections et
la
table intermédiaire a plein de choses qui ne servent à rien pour ça.
Tu peux me dire comment corriger mes fautes, s'il-te-plaît?
Merci tout plein.
Marie-Claire
Bonjour,
J'ai une erreur: 3464
Type de données incompatible dans l'expression du critère
avec cette ligne en surbrillance:
TableDestination.FindFirst "ID = " & "'" & TableSource!ID & "'"
Qu'est-ce que j'ai pu faire de faux?
Marie-Claire
Bonjour,
J'ai une erreur: 3464
Type de données incompatible dans l'expression du critère
avec cette ligne en surbrillance:
TableDestination.FindFirst "ID = " & "'" & TableSource!ID & "'"
Qu'est-ce que j'ai pu faire de faux?
Marie-Claire
Bonjour,
J'ai une erreur: 3464
Type de données incompatible dans l'expression du critère
avec cette ligne en surbrillance:
TableDestination.FindFirst "ID = " & "'" & TableSource!ID & "'"
Qu'est-ce que j'ai pu faire de faux?
Marie-Claire
Bonjour,
Essaies avec :
TableDestination.FindFirst "ID =" & TableSource!ID
si ID est numériqueBonjour,
J'ai une erreur: 3464
Type de données incompatible dans l'expression du critère
avec cette ligne en surbrillance:
TableDestination.FindFirst "ID = " & "'" & TableSource!ID & "'"
Qu'est-ce que j'ai pu faire de faux?
Marie-Claire
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Essaies avec :
TableDestination.FindFirst "ID =" & TableSource!ID
si ID est numérique
Bonjour,
J'ai une erreur: 3464
Type de données incompatible dans l'expression du critère
avec cette ligne en surbrillance:
TableDestination.FindFirst "ID = " & "'" & TableSource!ID & "'"
Qu'est-ce que j'ai pu faire de faux?
Marie-Claire
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Essaies avec :
TableDestination.FindFirst "ID =" & TableSource!ID
si ID est numériqueBonjour,
J'ai une erreur: 3464
Type de données incompatible dans l'expression du critère
avec cette ligne en surbrillance:
TableDestination.FindFirst "ID = " & "'" & TableSource!ID & "'"
Qu'est-ce que j'ai pu faire de faux?
Marie-Claire
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Maintenant jai une autre erreur:
Le moteur de la base Microsoft Jet ne reconnaît pas "ID" en tant que nom
de
champ ou expression correcte
Il faut pressiser que ID n'est pas le numéro Auto avec Clé primaire de ces
2
tables.
Ces deux tables ont des Clé Primaires sur des numéros autos IDTable1 et
IDTable2.
Les ID sont numériques mais ils doivent se copier d'une table à l'autre
Marie-Claire
Bonjour,
Maintenant jai une autre erreur:
Le moteur de la base Microsoft Jet ne reconnaît pas "ID" en tant que nom
de
champ ou expression correcte
Il faut pressiser que ID n'est pas le numéro Auto avec Clé primaire de ces
2
tables.
Ces deux tables ont des Clé Primaires sur des numéros autos IDTable1 et
IDTable2.
Les ID sont numériques mais ils doivent se copier d'une table à l'autre
Marie-Claire
Bonjour,
Maintenant jai une autre erreur:
Le moteur de la base Microsoft Jet ne reconnaît pas "ID" en tant que nom
de
champ ou expression correcte
Il faut pressiser que ID n'est pas le numéro Auto avec Clé primaire de ces
2
tables.
Ces deux tables ont des Clé Primaires sur des numéros autos IDTable1 et
IDTable2.
Les ID sont numériques mais ils doivent se copier d'une table à l'autre
Marie-Claire
Si les ID sont des Numauto, ils ne peuvent pas être identiques. il faut donc
que le critère porte sur un autre champ. à voir.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Deux jours pour faire le point sur la sécurité et préparer demain:
http://www.microsoft.com/france/securite/jms/?src=commu
"Marie-Claire" a écrit dans le
message de news:Bonjour,
Maintenant jai une autre erreur:
Le moteur de la base Microsoft Jet ne reconnaît pas "ID" en tant que nom
de
champ ou expression correcte
Il faut pressiser que ID n'est pas le numéro Auto avec Clé primaire de ces
2
tables.
Ces deux tables ont des Clé Primaires sur des numéros autos IDTable1 et
IDTable2.
Les ID sont numériques mais ils doivent se copier d'une table à l'autre
Marie-Claire
Si les ID sont des Numauto, ils ne peuvent pas être identiques. il faut donc
que le critère porte sur un autre champ. à voir.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Deux jours pour faire le point sur la sécurité et préparer demain:
http://www.microsoft.com/france/securite/jms/?src=commu
"Marie-Claire" <MarieClaire@discussions.microsoft.com> a écrit dans le
message de news: 13BE408B-0617-4A29-BEBD-17225CFF6963@microsoft.com...
Bonjour,
Maintenant jai une autre erreur:
Le moteur de la base Microsoft Jet ne reconnaît pas "ID" en tant que nom
de
champ ou expression correcte
Il faut pressiser que ID n'est pas le numéro Auto avec Clé primaire de ces
2
tables.
Ces deux tables ont des Clé Primaires sur des numéros autos IDTable1 et
IDTable2.
Les ID sont numériques mais ils doivent se copier d'une table à l'autre
Marie-Claire
Si les ID sont des Numauto, ils ne peuvent pas être identiques. il faut donc
que le critère porte sur un autre champ. à voir.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Deux jours pour faire le point sur la sécurité et préparer demain:
http://www.microsoft.com/france/securite/jms/?src=commu
"Marie-Claire" a écrit dans le
message de news:Bonjour,
Maintenant jai une autre erreur:
Le moteur de la base Microsoft Jet ne reconnaît pas "ID" en tant que nom
de
champ ou expression correcte
Il faut pressiser que ID n'est pas le numéro Auto avec Clé primaire de ces
2
tables.
Ces deux tables ont des Clé Primaires sur des numéros autos IDTable1 et
IDTable2.
Les ID sont numériques mais ils doivent se copier d'une table à l'autre
Marie-Claire