Bonjour,
Dans une table j'ai des champs correspondants =E0 des=20
contacts, group=E9s dans un formulaire comme suit:
Contact1:
DEPARTEMENT1
POLITESSE1
RESPONSABLE1
FONCTION1
TELDIRECT1
MOBILE1
FAX1
e-mail1
Contact2
DEPARTEMENT2
POLITESSE2
etc et ainsi de suite pour tous les groupes de contacts
J'ai cr=E9=E9 une autre table pour regrouper tous les=20
contacts, mais j'ai deux probl=E8mes.
1: le regroupement se fait pour chaque contact sur 8 lignes
2: lorsque je delete un champ le renseignement reste dans=20
la deuxi=E8me table.
L'=E9criture d'une table sur l'autre je la fait comme =E7a:
Private Sub RESPONSABLE_LostFocus()
Dim Crit=E8re As String, MaBD As Database, MaTable As=20
Recordset
SendKeys "+{ENTER}"
NUMCLIENT =3D [NClient]
CAT1 =3D RESPONSABLE
Set MaBD =3D DBEngine.Workspaces(0).Databases(0)
Set MaTable =3D MaBD.OpenRecordset("CONTACTS_CLIENTS",=20
DB_OPEN_DYNASET) ' Cr=E9e la feuille de r=E9ponses dynamique.
MaTable.MoveFirst ' Recherche la premi=E8re occurence.
Do Until MaTable.EOF ' Boucle jusqu'=E0 ce qu'il n'y ait=20
plus d'enregistrement correspondant.
=20
TESTER =3D MaTable!NClient
If TESTER =3D NUMCLIENT Then
CONTACT =3D MaTable!CONTACT
If CONTACT =3D CAT1 Then
trouve =3D 1
Exit Do
Else
trouve =3D 0
End If
MaTable.MoveNext
Else
MaTable.MoveNext
End If
Loop =20
If trouve =3D 0 Then
MaTable.AddNew
MaTable!NClient =3D NClient
MaTable!CONTACT =3D RESPONSABLE
MaTable.Update
MaTable.Close
Else
'matable.Close
End If
End Sub
Private Sub POLITESSE_LostFocus()
Dim Crit=E8re As String, MaBD As Database, MaTable As=20
Recordset
SendKeys "+{ENTER}"
NUMCLIENT =3D [NClient]
CAT2 =3D POLITESSE
Set MaBD =3D DBEngine.Workspaces(0).Databases(0)
Set MaTable =3D MaBD.OpenRecordset("CONTACTS_CLIENTS",=20
DB_OPEN_DYNASET) ' Cr=E9e la feuille de r=E9ponses dynamique.
MaTable.MoveFirst ' Recherche la premi=E8re occurence.
Do Until MaTable.EOF ' Boucle jusqu'=E0 ce qu'il n'y ait=20
plus d'enregistrement correspondant.
=20
TESTER =3D MaTable!NClient
If TESTER =3D NUMCLIENT Then
Mme_Mlle_M =3D MaTable!Mme_Mlle_M
If Mme_Mlle_M =3D CAT2 Then
trouve =3D 1
Exit Do
Else
trouve =3D 0
End If
MaTable.MoveNext
Else
MaTable.MoveNext
End If
Loop ' Fin de la boucle.
If trouve =3D 0 Then
MaTable.AddNew
MaTable!NClient =3D NClient
MaTable!Mme_Mlle_M =3D POLITESSE
MaTable.Update
MaTable.Close
Else
'matable.Close
End If
End Sub
et comme =E7a avec chaque champ
N=B0Contact
NCLIENT / NOM /POLITESSE
/FONCTION /DEPARTEMENT
/TELDIRECT
/ Mail/MOBILE1/FAX
13 / 3298 / Pierre Gros =09
=09
15 / 3298 / Monsieur =09
=09
28 / 3298 / Comptable =09
=09
29 / 3298 / Direction Financi=E8re =09
=09
37 / 3298 /0408197719 =09
=09
39 / 3298 /jg@namr.com =09
=09
44 / 3298 / 0696755432=09
=09
49 / 3298 / 0225678889=09
=09
D=E9sol=E9 pour la mise en page, mais il est dificile d'=E9crire=20
une table, j'esp=E8re que je me fais tout de m=EAme comprendre.
Que dois-je modifier pour que tous les renseignements=20
concernant un contact s'=E9crivent sur la m=EAme liqne et que=20
lorsque je delete l'information sur le formulaire l'info=20
s'efface dans la table?
Le probleme est que tu fais un MaTable.AddNew partout. Le AddNew cree un nouvel enregistrement (ici un nouveau contact) alors que tu n'affectes qu'un seul champ a la fois.
si tu as tu deja une table existante tu peux ecrire directement d'une table à l'autre en une seule fois. Quelque chose comme :
Dim Db as Database Dim TABLE1,TABLE2 as recordset
Function SETContact () set db=currentdb set TABLE1Û.openrecorset(nomanciennetable) set TABLE2Û.openrecordset(nomnouvelletable) TABLE1.MoveFirst While NOT TABLE1.EOF TABLE2.findfirst("NClient=" & TABLE1.Nclient) If TABLE2.nomatch then For i=1 to 3 TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate Next i endif TABLE1.MoveNext Wend TABLE2.Close TABLE1.Close End Func
il est preferable que TABLE2 soit vide avant d'operer.
Bonjour, Dans une table j'ai des champs correspondants à des contacts, groupés dans un formulaire comme suit: Contact1: DEPARTEMENT1 POLITESSE1 RESPONSABLE1 FONCTION1 TELDIRECT1 MOBILE1 FAX1 e-mail1 Contact2 DEPARTEMENT2 POLITESSE2
etc et ainsi de suite pour tous les groupes de contacts J'ai créé une autre table pour regrouper tous les contacts, mais j'ai deux problèmes. 1: le regroupement se fait pour chaque contact sur 8 lignes 2: lorsque je delete un champ le renseignement reste dans la deuxième table. L'écriture d'une table sur l'autre je la fait comme ça:
Private Sub RESPONSABLE_LostFocus()
Dim Critère As String, MaBD As Database, MaTable As Recordset SendKeys "+{ENTER}"
NUMCLIENT = [NClient] CAT1 = RESPONSABLE Set MaBD = DBEngine.Workspaces(0).Databases(0) Set MaTable = MaBD.OpenRecordset("CONTACTS_CLIENTS", DB_OPEN_DYNASET) ' Crée la feuille de réponses dynamique. MaTable.MoveFirst ' Recherche la première occurence. Do Until MaTable.EOF ' Boucle jusqu'à ce qu'il n'y ait plus d'enregistrement correspondant.
TESTER = MaTable!NClient If TESTER = NUMCLIENT Then CONTACT = MaTable!CONTACT If CONTACT = CAT1 Then trouve = 1 Exit Do Else trouve = 0 End If MaTable.MoveNext Else MaTable.MoveNext End If
Loop
If trouve = 0 Then MaTable.AddNew MaTable!NClient = NClient MaTable!CONTACT = RESPONSABLE MaTable.Update MaTable.Close Else 'matable.Close End If
End Sub
Private Sub POLITESSE_LostFocus() Dim Critère As String, MaBD As Database, MaTable As Recordset SendKeys "+{ENTER}"
NUMCLIENT = [NClient] CAT2 = POLITESSE
Set MaBD = DBEngine.Workspaces(0).Databases(0) Set MaTable = MaBD.OpenRecordset("CONTACTS_CLIENTS", DB_OPEN_DYNASET) ' Crée la feuille de réponses dynamique. MaTable.MoveFirst ' Recherche la première occurence. Do Until MaTable.EOF ' Boucle jusqu'à ce qu'il n'y ait plus d'enregistrement correspondant.
TESTER = MaTable!NClient If TESTER = NUMCLIENT Then Mme_Mlle_M = MaTable!Mme_Mlle_M If Mme_Mlle_M = CAT2 Then trouve = 1 Exit Do Else trouve = 0 End If MaTable.MoveNext Else MaTable.MoveNext End If
Loop ' Fin de la boucle.
If trouve = 0 Then MaTable.AddNew MaTable!NClient = NClient MaTable!Mme_Mlle_M = POLITESSE MaTable.Update MaTable.Close Else 'matable.Close End If
End Sub
et comme ça avec chaque champ
N°Contact NCLIENT / NOM /POLITESSE /FONCTION /DEPARTEMENT /TELDIRECT / Mail/MOBILE1/FAX 13 / 3298 / Pierre Gros
15 / 3298 / Monsieur
28 / 3298 / Comptable
29 / 3298 / Direction Financière
37 / 3298 /0408197719
39 / 3298 /
44 / 3298 / 0696755432
49 / 3298 / 0225678889
Désolé pour la mise en page, mais il est dificile d'écrire une table, j'espère que je me fais tout de même comprendre.
Que dois-je modifier pour que tous les renseignements concernant un contact s'écrivent sur la même liqne et que lorsque je delete l'information sur le formulaire l'info s'efface dans la table?
J'epère avoir des infos, merci. Luis
Bonjour Luis,
Le probleme est que tu fais un MaTable.AddNew partout.
Le AddNew cree un nouvel enregistrement (ici un nouveau contact) alors que
tu n'affectes qu'un seul champ a la fois.
si tu as tu deja une table existante tu peux ecrire directement d'une table
à l'autre
en une seule fois.
Quelque chose comme :
Dim Db as Database
Dim TABLE1,TABLE2 as recordset
Function SETContact ()
set db=currentdb
set TABLE1Û.openrecorset(nomanciennetable)
set TABLE2Û.openrecordset(nomnouvelletable)
TABLE1.MoveFirst
While NOT TABLE1.EOF
TABLE2.findfirst("NClient=" & TABLE1.Nclient)
If TABLE2.nomatch then
For i=1 to 3
TABLE2.AddNew
TABLE2!NCLient=TABLE1!NCLient
TABLE2!CONTACT=TABLE1.Fields("Contact" & i)
TABLE2!POlitesse=TABLE1.Fields("Politesse" & i)
....
....
TABLE2!Email=TABLE1.Fields("Email" & i)
TABLE2.UpDate
Next i
endif
TABLE1.MoveNext
Wend
TABLE2.Close
TABLE1.Close
End Func
il est preferable que TABLE2 soit vide avant d'operer.
Bonjour,
Dans une table j'ai des champs correspondants à des
contacts, groupés dans un formulaire comme suit:
Contact1:
DEPARTEMENT1
POLITESSE1
RESPONSABLE1
FONCTION1
TELDIRECT1
MOBILE1
FAX1
e-mail1
Contact2
DEPARTEMENT2
POLITESSE2
etc et ainsi de suite pour tous les groupes de contacts
J'ai créé une autre table pour regrouper tous les
contacts, mais j'ai deux problèmes.
1: le regroupement se fait pour chaque contact sur 8 lignes
2: lorsque je delete un champ le renseignement reste dans
la deuxième table.
L'écriture d'une table sur l'autre je la fait comme ça:
Private Sub RESPONSABLE_LostFocus()
Dim Critère As String, MaBD As Database, MaTable As
Recordset
SendKeys "+{ENTER}"
NUMCLIENT = [NClient]
CAT1 = RESPONSABLE
Set MaBD = DBEngine.Workspaces(0).Databases(0)
Set MaTable = MaBD.OpenRecordset("CONTACTS_CLIENTS",
DB_OPEN_DYNASET) ' Crée la feuille de réponses dynamique.
MaTable.MoveFirst ' Recherche la première occurence.
Do Until MaTable.EOF ' Boucle jusqu'à ce qu'il n'y ait
plus d'enregistrement correspondant.
TESTER = MaTable!NClient
If TESTER = NUMCLIENT Then
CONTACT = MaTable!CONTACT
If CONTACT = CAT1 Then
trouve = 1
Exit Do
Else
trouve = 0
End If
MaTable.MoveNext
Else
MaTable.MoveNext
End If
Loop
If trouve = 0 Then
MaTable.AddNew
MaTable!NClient = NClient
MaTable!CONTACT = RESPONSABLE
MaTable.Update
MaTable.Close
Else
'matable.Close
End If
End Sub
Private Sub POLITESSE_LostFocus()
Dim Critère As String, MaBD As Database, MaTable As
Recordset
SendKeys "+{ENTER}"
NUMCLIENT = [NClient]
CAT2 = POLITESSE
Set MaBD = DBEngine.Workspaces(0).Databases(0)
Set MaTable = MaBD.OpenRecordset("CONTACTS_CLIENTS",
DB_OPEN_DYNASET) ' Crée la feuille de réponses dynamique.
MaTable.MoveFirst ' Recherche la première occurence.
Do Until MaTable.EOF ' Boucle jusqu'à ce qu'il n'y ait
plus d'enregistrement correspondant.
TESTER = MaTable!NClient
If TESTER = NUMCLIENT Then
Mme_Mlle_M = MaTable!Mme_Mlle_M
If Mme_Mlle_M = CAT2 Then
trouve = 1
Exit Do
Else
trouve = 0
End If
MaTable.MoveNext
Else
MaTable.MoveNext
End If
Loop ' Fin de la boucle.
If trouve = 0 Then
MaTable.AddNew
MaTable!NClient = NClient
MaTable!Mme_Mlle_M = POLITESSE
MaTable.Update
MaTable.Close
Else
'matable.Close
End If
End Sub
et comme ça avec chaque champ
N°Contact
NCLIENT / NOM /POLITESSE
/FONCTION /DEPARTEMENT
/TELDIRECT
/ Mail/MOBILE1/FAX
13 / 3298 / Pierre Gros
15 / 3298 / Monsieur
28 / 3298 / Comptable
29 / 3298 / Direction Financière
37 / 3298 /0408197719
39 / 3298 /jg@namr.com
44 / 3298 / 0696755432
49 / 3298 / 0225678889
Désolé pour la mise en page, mais il est dificile d'écrire
une table, j'espère que je me fais tout de même comprendre.
Que dois-je modifier pour que tous les renseignements
concernant un contact s'écrivent sur la même liqne et que
lorsque je delete l'information sur le formulaire l'info
s'efface dans la table?
Le probleme est que tu fais un MaTable.AddNew partout. Le AddNew cree un nouvel enregistrement (ici un nouveau contact) alors que tu n'affectes qu'un seul champ a la fois.
si tu as tu deja une table existante tu peux ecrire directement d'une table à l'autre en une seule fois. Quelque chose comme :
Dim Db as Database Dim TABLE1,TABLE2 as recordset
Function SETContact () set db=currentdb set TABLE1Û.openrecorset(nomanciennetable) set TABLE2Û.openrecordset(nomnouvelletable) TABLE1.MoveFirst While NOT TABLE1.EOF TABLE2.findfirst("NClient=" & TABLE1.Nclient) If TABLE2.nomatch then For i=1 to 3 TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate Next i endif TABLE1.MoveNext Wend TABLE2.Close TABLE1.Close End Func
il est preferable que TABLE2 soit vide avant d'operer.
Bonjour, Dans une table j'ai des champs correspondants à des contacts, groupés dans un formulaire comme suit: Contact1: DEPARTEMENT1 POLITESSE1 RESPONSABLE1 FONCTION1 TELDIRECT1 MOBILE1 FAX1 e-mail1 Contact2 DEPARTEMENT2 POLITESSE2
etc et ainsi de suite pour tous les groupes de contacts J'ai créé une autre table pour regrouper tous les contacts, mais j'ai deux problèmes. 1: le regroupement se fait pour chaque contact sur 8 lignes 2: lorsque je delete un champ le renseignement reste dans la deuxième table. L'écriture d'une table sur l'autre je la fait comme ça:
Private Sub RESPONSABLE_LostFocus()
Dim Critère As String, MaBD As Database, MaTable As Recordset SendKeys "+{ENTER}"
NUMCLIENT = [NClient] CAT1 = RESPONSABLE Set MaBD = DBEngine.Workspaces(0).Databases(0) Set MaTable = MaBD.OpenRecordset("CONTACTS_CLIENTS", DB_OPEN_DYNASET) ' Crée la feuille de réponses dynamique. MaTable.MoveFirst ' Recherche la première occurence. Do Until MaTable.EOF ' Boucle jusqu'à ce qu'il n'y ait plus d'enregistrement correspondant.
TESTER = MaTable!NClient If TESTER = NUMCLIENT Then CONTACT = MaTable!CONTACT If CONTACT = CAT1 Then trouve = 1 Exit Do Else trouve = 0 End If MaTable.MoveNext Else MaTable.MoveNext End If
Loop
If trouve = 0 Then MaTable.AddNew MaTable!NClient = NClient MaTable!CONTACT = RESPONSABLE MaTable.Update MaTable.Close Else 'matable.Close End If
End Sub
Private Sub POLITESSE_LostFocus() Dim Critère As String, MaBD As Database, MaTable As Recordset SendKeys "+{ENTER}"
NUMCLIENT = [NClient] CAT2 = POLITESSE
Set MaBD = DBEngine.Workspaces(0).Databases(0) Set MaTable = MaBD.OpenRecordset("CONTACTS_CLIENTS", DB_OPEN_DYNASET) ' Crée la feuille de réponses dynamique. MaTable.MoveFirst ' Recherche la première occurence. Do Until MaTable.EOF ' Boucle jusqu'à ce qu'il n'y ait plus d'enregistrement correspondant.
TESTER = MaTable!NClient If TESTER = NUMCLIENT Then Mme_Mlle_M = MaTable!Mme_Mlle_M If Mme_Mlle_M = CAT2 Then trouve = 1 Exit Do Else trouve = 0 End If MaTable.MoveNext Else MaTable.MoveNext End If
Loop ' Fin de la boucle.
If trouve = 0 Then MaTable.AddNew MaTable!NClient = NClient MaTable!Mme_Mlle_M = POLITESSE MaTable.Update MaTable.Close Else 'matable.Close End If
End Sub
et comme ça avec chaque champ
N°Contact NCLIENT / NOM /POLITESSE /FONCTION /DEPARTEMENT /TELDIRECT / Mail/MOBILE1/FAX 13 / 3298 / Pierre Gros
15 / 3298 / Monsieur
28 / 3298 / Comptable
29 / 3298 / Direction Financière
37 / 3298 /0408197719
39 / 3298 /
44 / 3298 / 0696755432
49 / 3298 / 0225678889
Désolé pour la mise en page, mais il est dificile d'écrire une table, j'espère que je me fais tout de même comprendre.
Que dois-je modifier pour que tous les renseignements concernant un contact s'écrivent sur la même liqne et que lorsque je delete l'information sur le formulaire l'info s'efface dans la table?
J'epère avoir des infos, merci. Luis
Ilan
Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1
Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="")
if i>3 then Exit Do
TABLE2.AddNew
TABLE2!NCLient=TABLE1!NCLient
TABLE2!CONTACT=TABLE1.Fields("Contact" & i)
TABLE2!POlitesse=TABLE1.Fields("Politesse" & i)
....
....
TABLE2!Email=TABLE1.Fields("Email" & i)
TABLE2.UpDate
i=i+1
Loop
Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
Luis
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
Bonjour Ilan,
Je te remercie pour ton tuyaux, dans:
Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR
TABLE1.Fields("CONTACT" & i)="")
J'ai une erreur de compilation
Luis
-----Message d'origine-----
Pardon, j'oubliais qu'il faut prevoir que les Clients
n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do
While ... Loop comme :
i=1
Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR
TABLE1.Fields
("CONTACT" & i)="")
if i>3 then Exit Do
TABLE2.AddNew
TABLE2!NCLient=TABLE1!NCLient
TABLE2!CONTACT=TABLE1.Fields("Contact" & i)
TABLE2!POlitesse=TABLE1.Fields("Politesse" & i)
....
....
TABLE2!Email=TABLE1.Fields("Email" & i)
TABLE2.UpDate
i=i+1
Loop
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
Ilan
Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan,
Je te remercie pour ton tuyaux, dans:
Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR
TABLE1.Fields("CONTACT" & i)="")
J'ai une erreur de compilation
Luis
-----Message d'origine-----
Pardon, j'oubliais qu'il faut prevoir que les Clients
n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do
While ... Loop comme :
i=1
Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR
TABLE1.Fields
("CONTACT" & i)="")
if i>3 then Exit Do
TABLE2.AddNew
TABLE2!NCLient=TABLE1!NCLient
TABLE2!CONTACT=TABLE1.Fields("Contact" & i)
TABLE2!POlitesse=TABLE1.Fields("Politesse" & i)
....
....
TABLE2!Email=TABLE1.Fields("Email" & i)
TABLE2.UpDate
i=i+1
Loop
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
Bonjour, Désolé je n'avais pas remarqué qu'il y avait un " de trop dans ("CONTACT" & i")) Merci, je vais essayer et je te dis. Luis
-----Message d'origine----- Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
Bonjour,
Désolé je n'avais pas remarqué qu'il y avait un " de trop
dans ("CONTACT" & i"))
Merci, je vais essayer et je te dis.
Luis
-----Message d'origine-----
Bonjour Ilan,
Je te remercie pour ton tuyaux, dans:
Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR
TABLE1.Fields("CONTACT" & i)="")
J'ai une erreur de compilation
Luis
-----Message d'origine-----
Pardon, j'oubliais qu'il faut prevoir que les Clients
n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do
While ... Loop comme :
i=1
Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR
TABLE1.Fields
("CONTACT" & i)="")
if i>3 then Exit Do
TABLE2.AddNew
TABLE2!NCLient=TABLE1!NCLient
TABLE2!CONTACT=TABLE1.Fields("Contact" & i)
TABLE2!POlitesse=TABLE1.Fields("Politesse" & i)
....
....
TABLE2!Email=TABLE1.Fields("Email" & i)
TABLE2.UpDate
i=i+1
Loop
Bonjour, Désolé je n'avais pas remarqué qu'il y avait un " de trop dans ("CONTACT" & i")) Merci, je vais essayer et je te dis. Luis
-----Message d'origine----- Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
lUIS
Bonjour Ilan, Je viens d'essayer mais j'ai une erreur bizarre: Erreur d'exécution '3078' Le moteur de base de donées Microsoft Jet ne peut pas trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients) Pourtant la table 'Clients' existe et elle est bien orthographiée. Je ne comprend pas. Luis
-----Message d'origine----- Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
Bonjour Ilan,
Je viens d'essayer mais j'ai une erreur bizarre:
Erreur d'exécution '3078'
Le moteur de base de donées Microsoft Jet ne peut pas
trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients)
Pourtant la table 'Clients' existe et elle est bien
orthographiée.
Je ne comprend pas.
Luis
-----Message d'origine-----
Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le
premier i.
Bonjour Ilan,
Je te remercie pour ton tuyaux, dans:
Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR
TABLE1.Fields("CONTACT" & i)="")
J'ai une erreur de compilation
Luis
-----Message d'origine-----
Pardon, j'oubliais qu'il faut prevoir que les Clients
n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do
While ... Loop comme :
i=1
Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR
TABLE1.Fields
("CONTACT" & i)="")
if i>3 then Exit Do
TABLE2.AddNew
TABLE2!NCLient=TABLE1!NCLient
TABLE2!CONTACT=TABLE1.Fields("Contact" & i)
TABLE2!POlitesse=TABLE1.Fields("Politesse" & i)
....
....
TABLE2!Email=TABLE1.Fields("Email" & i)
TABLE2.UpDate
i=i+1
Loop
Bonjour Ilan, Je viens d'essayer mais j'ai une erreur bizarre: Erreur d'exécution '3078' Le moteur de base de donées Microsoft Jet ne peut pas trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients) Pourtant la table 'Clients' existe et elle est bien orthographiée. Je ne comprend pas. Luis
-----Message d'origine----- Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
Pierre CFI [mvp]
bonjour avec des " Set TABLE1 = Db.OpenRecordset("Clients")
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "lUIS" a écrit dans le message de news:3f9801c4ab88$036f8a40$ Bonjour Ilan, Je viens d'essayer mais j'ai une erreur bizarre: Erreur d'exécution '3078' Le moteur de base de donées Microsoft Jet ne peut pas trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients) Pourtant la table 'Clients' existe et elle est bien orthographiée. Je ne comprend pas. Luis
-----Message d'origine----- Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
bonjour
avec des "
Set TABLE1 = Db.OpenRecordset("Clients")
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lUIS" <anonymous@discussions.microsoft.com> a écrit dans le message de news:3f9801c4ab88$036f8a40$a301280a@phx.gbl...
Bonjour Ilan,
Je viens d'essayer mais j'ai une erreur bizarre:
Erreur d'exécution '3078'
Le moteur de base de donées Microsoft Jet ne peut pas
trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients)
Pourtant la table 'Clients' existe et elle est bien
orthographiée.
Je ne comprend pas.
Luis
-----Message d'origine-----
Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le
premier i.
Bonjour Ilan,
Je te remercie pour ton tuyaux, dans:
Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR
TABLE1.Fields("CONTACT" & i)="")
J'ai une erreur de compilation
Luis
-----Message d'origine-----
Pardon, j'oubliais qu'il faut prevoir que les Clients
n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do
While ... Loop comme :
i=1
Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR
TABLE1.Fields
("CONTACT" & i)="")
if i>3 then Exit Do
TABLE2.AddNew
TABLE2!NCLient=TABLE1!NCLient
TABLE2!CONTACT=TABLE1.Fields("Contact" & i)
TABLE2!POlitesse=TABLE1.Fields("Politesse" & i)
....
....
TABLE2!Email=TABLE1.Fields("Email" & i)
TABLE2.UpDate
i=i+1
Loop
bonjour avec des " Set TABLE1 = Db.OpenRecordset("Clients")
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "lUIS" a écrit dans le message de news:3f9801c4ab88$036f8a40$ Bonjour Ilan, Je viens d'essayer mais j'ai une erreur bizarre: Erreur d'exécution '3078' Le moteur de base de donées Microsoft Jet ne peut pas trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients) Pourtant la table 'Clients' existe et elle est bien orthographiée. Je ne comprend pas. Luis
-----Message d'origine----- Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
Luis
Bonjour Pierre CFI, Merci pour les " Maintenant j'ai une autre erreur: Erreur d'exécution '3265' Elément non trouvé dans la collection. Avec cette ligne en surbrillance Do While Not (IsNull(TABLE1.Fields("RESPONSABLE" & i)) Or TABLE1.Fields("RESPONSABLE" & i) = "") Dès que je sort de ce que je connais, je suis perdu. Luis
-----Message d'origine----- bonjour avec des " Set TABLE1 = Db.OpenRecordset("Clients")
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "lUIS" a écrit dans le message de news:3f9801c4ab88$036f8a40
$
Bonjour Ilan, Je viens d'essayer mais j'ai une erreur bizarre: Erreur d'exécution '3078' Le moteur de base de donées Microsoft Jet ne peut pas trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients) Pourtant la table 'Clients' existe et elle est bien orthographiée. Je ne comprend pas. Luis
-----Message d'origine----- Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
.
Bonjour Pierre CFI,
Merci pour les "
Maintenant j'ai une autre erreur:
Erreur d'exécution '3265'
Elément non trouvé dans la collection.
Avec cette ligne en surbrillance
Do While Not (IsNull(TABLE1.Fields("RESPONSABLE" & i)) Or
TABLE1.Fields("RESPONSABLE" & i) = "")
Dès que je sort de ce que je connais, je suis perdu.
Luis
-----Message d'origine-----
bonjour
avec des "
Set TABLE1 = Db.OpenRecordset("Clients")
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lUIS" <anonymous@discussions.microsoft.com> a écrit dans
le message de news:3f9801c4ab88$036f8a40
$a301280a@phx.gbl...
Bonjour Ilan,
Je viens d'essayer mais j'ai une erreur bizarre:
Erreur d'exécution '3078'
Le moteur de base de donées Microsoft Jet ne peut pas
trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients)
Pourtant la table 'Clients' existe et elle est bien
orthographiée.
Je ne comprend pas.
Luis
-----Message d'origine-----
Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le
premier i.
Bonjour Ilan,
Je te remercie pour ton tuyaux, dans:
Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR
TABLE1.Fields("CONTACT" & i)="")
J'ai une erreur de compilation
Luis
-----Message d'origine-----
Pardon, j'oubliais qu'il faut prevoir que les Clients
n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do
While ... Loop comme :
i=1
Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR
TABLE1.Fields
("CONTACT" & i)="")
if i>3 then Exit Do
TABLE2.AddNew
TABLE2!NCLient=TABLE1!NCLient
TABLE2!CONTACT=TABLE1.Fields("Contact" & i)
TABLE2!POlitesse=TABLE1.Fields("Politesse" & i)
....
....
TABLE2!Email=TABLE1.Fields("Email" & i)
TABLE2.UpDate
i=i+1
Loop
Bonjour Pierre CFI, Merci pour les " Maintenant j'ai une autre erreur: Erreur d'exécution '3265' Elément non trouvé dans la collection. Avec cette ligne en surbrillance Do While Not (IsNull(TABLE1.Fields("RESPONSABLE" & i)) Or TABLE1.Fields("RESPONSABLE" & i) = "") Dès que je sort de ce que je connais, je suis perdu. Luis
-----Message d'origine----- bonjour avec des " Set TABLE1 = Db.OpenRecordset("Clients")
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "lUIS" a écrit dans le message de news:3f9801c4ab88$036f8a40
$
Bonjour Ilan, Je viens d'essayer mais j'ai une erreur bizarre: Erreur d'exécution '3078' Le moteur de base de donées Microsoft Jet ne peut pas trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients) Pourtant la table 'Clients' existe et elle est bien orthographiée. Je ne comprend pas. Luis
-----Message d'origine----- Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
.
Ilan
Ok Luis,
Pour eviter toute erreur de compilation tu vas devoir ecrire plus de ligne de code
While Not TABLE1.EOF TABLE2.FindFirst ("Nclient=" & TABLE1!nclient) If TABLE1.NoMatch Then If Not (IsNull(TABLE1!contact1) Or TABLE1!contact1 = "") Then TABLE2.AddNew TABLE2!nclient = TABLE1!nclient TABLE2!Contact = TABLE1!contact1 ...
TABLE2.Update End If If Not (IsNull(TABLE1!contact2) Or TABLE1!contact2 = "") Then TABLE2.AddNew TABLE2!nclient = TABLE1!nclient TABLE2!Contact = TABLE1!contact2 ... TABLE2.Update End If If Not (IsNull(TABLE1!contact3) Or TABLE1!contact3 = "") Then TABLE2.AddNew TABLE2!nclient = TABLE1!nclient TABLE2!Contact = TABLE1!contact2 ....
TABLE2.Update End If End If TABLE1.MoveNext Wend TABLE1.Close TABLE2.Close
Bonjour Pierre CFI, Merci pour les " Maintenant j'ai une autre erreur: Erreur d'exécution '3265' Elément non trouvé dans la collection. Avec cette ligne en surbrillance Do While Not (IsNull(TABLE1.Fields("RESPONSABLE" & i)) Or TABLE1.Fields("RESPONSABLE" & i) = "") Dès que je sort de ce que je connais, je suis perdu. Luis
-----Message d'origine----- bonjour avec des " Set TABLE1 = Db.OpenRecordset("Clients")
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "lUIS" a écrit dans le message de news:3f9801c4ab88$036f8a40
$
Bonjour Ilan, Je viens d'essayer mais j'ai une erreur bizarre: Erreur d'exécution '3078' Le moteur de base de donées Microsoft Jet ne peut pas trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients) Pourtant la table 'Clients' existe et elle est bien orthographiée. Je ne comprend pas. Luis
-----Message d'origine----- Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
.
Ok Luis,
Pour eviter toute erreur de compilation tu vas devoir ecrire plus de ligne
de code
While Not TABLE1.EOF
TABLE2.FindFirst ("Nclient=" & TABLE1!nclient)
If TABLE1.NoMatch Then
If Not (IsNull(TABLE1!contact1) Or TABLE1!contact1 = "") Then
TABLE2.AddNew
TABLE2!nclient = TABLE1!nclient
TABLE2!Contact = TABLE1!contact1
...
TABLE2.Update
End If
If Not (IsNull(TABLE1!contact2) Or TABLE1!contact2 = "") Then
TABLE2.AddNew
TABLE2!nclient = TABLE1!nclient
TABLE2!Contact = TABLE1!contact2
...
TABLE2.Update
End If
If Not (IsNull(TABLE1!contact3) Or TABLE1!contact3 = "") Then
TABLE2.AddNew
TABLE2!nclient = TABLE1!nclient
TABLE2!Contact = TABLE1!contact2
....
TABLE2.Update
End If
End If
TABLE1.MoveNext
Wend
TABLE1.Close
TABLE2.Close
Bonjour Pierre CFI,
Merci pour les "
Maintenant j'ai une autre erreur:
Erreur d'exécution '3265'
Elément non trouvé dans la collection.
Avec cette ligne en surbrillance
Do While Not (IsNull(TABLE1.Fields("RESPONSABLE" & i)) Or
TABLE1.Fields("RESPONSABLE" & i) = "")
Dès que je sort de ce que je connais, je suis perdu.
Luis
-----Message d'origine-----
bonjour
avec des "
Set TABLE1 = Db.OpenRecordset("Clients")
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lUIS" <anonymous@discussions.microsoft.com> a écrit dans
le message de news:3f9801c4ab88$036f8a40
$a301280a@phx.gbl...
Bonjour Ilan,
Je viens d'essayer mais j'ai une erreur bizarre:
Erreur d'exécution '3078'
Le moteur de base de donées Microsoft Jet ne peut pas
trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients)
Pourtant la table 'Clients' existe et elle est bien
orthographiée.
Je ne comprend pas.
Luis
-----Message d'origine-----
Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le
premier i.
Bonjour Ilan,
Je te remercie pour ton tuyaux, dans:
Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR
TABLE1.Fields("CONTACT" & i)="")
J'ai une erreur de compilation
Luis
-----Message d'origine-----
Pardon, j'oubliais qu'il faut prevoir que les Clients
n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do
While ... Loop comme :
i=1
Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR
TABLE1.Fields
("CONTACT" & i)="")
if i>3 then Exit Do
TABLE2.AddNew
TABLE2!NCLient=TABLE1!NCLient
TABLE2!CONTACT=TABLE1.Fields("Contact" & i)
TABLE2!POlitesse=TABLE1.Fields("Politesse" & i)
....
....
TABLE2!Email=TABLE1.Fields("Email" & i)
TABLE2.UpDate
i=i+1
Loop
Pour eviter toute erreur de compilation tu vas devoir ecrire plus de ligne de code
While Not TABLE1.EOF TABLE2.FindFirst ("Nclient=" & TABLE1!nclient) If TABLE1.NoMatch Then If Not (IsNull(TABLE1!contact1) Or TABLE1!contact1 = "") Then TABLE2.AddNew TABLE2!nclient = TABLE1!nclient TABLE2!Contact = TABLE1!contact1 ...
TABLE2.Update End If If Not (IsNull(TABLE1!contact2) Or TABLE1!contact2 = "") Then TABLE2.AddNew TABLE2!nclient = TABLE1!nclient TABLE2!Contact = TABLE1!contact2 ... TABLE2.Update End If If Not (IsNull(TABLE1!contact3) Or TABLE1!contact3 = "") Then TABLE2.AddNew TABLE2!nclient = TABLE1!nclient TABLE2!Contact = TABLE1!contact2 ....
TABLE2.Update End If End If TABLE1.MoveNext Wend TABLE1.Close TABLE2.Close
Bonjour Pierre CFI, Merci pour les " Maintenant j'ai une autre erreur: Erreur d'exécution '3265' Elément non trouvé dans la collection. Avec cette ligne en surbrillance Do While Not (IsNull(TABLE1.Fields("RESPONSABLE" & i)) Or TABLE1.Fields("RESPONSABLE" & i) = "") Dès que je sort de ce que je connais, je suis perdu. Luis
-----Message d'origine----- bonjour avec des " Set TABLE1 = Db.OpenRecordset("Clients")
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "lUIS" a écrit dans le message de news:3f9801c4ab88$036f8a40
$
Bonjour Ilan, Je viens d'essayer mais j'ai une erreur bizarre: Erreur d'exécution '3078' Le moteur de base de donées Microsoft Jet ne peut pas trouver la table ou la requête source.
et j'ai cette ligne en surbrillance
Set TABLE1 = Db.OpenRecordset(Clients) Pourtant la table 'Clients' existe et elle est bien orthographiée. Je ne comprend pas. Luis
-----Message d'origine----- Bonjour Luis,
je pense qu'il s'agit du guillement en trop derriere le premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i"))OR TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
.
Luis
Re-bonjour,
Voilà j'ai fini d'écrire ça donne ce qui suit, mais rien ne va s'inscrire dans la table2:
Dim Db As Database Dim TABLE1, TABLE2 As Recordset
Set Db = CurrentDb Set TABLE1 = Db.OpenRecordset("Clients") Set TABLE2 = Db.OpenRecordset("CONTACTS_CLIENTS") TABLE1.MoveFirst While Not TABLE1.EOF TABLE2.FindFirst ("Nclient=" & TABLE1!NClient) If TABLE1.NoMatch Then If Not (IsNull(TABLE1!RESPONSABLE) Or TABLE1! RESPONSABLE = "") Then
End If If Not (IsNull(TABLE1!RESPONSABLE2) Or TABLE1! RESPONSABLE2 = "") Then TABLE2.AddNew TABLE2!NClient = TABLE1!NClient TABLE2!CONTACT = TABLE1!RESPONSABLE2 TABLE2!Mme_Mlle_M = TABLE1!POLITESSE2 TABLE2!DEPARTEMENT = TABLE1!DEPARTEMENT2 TABLE2!TELDIRECT = TABLE1!TELDIRECT2 TABLE2!NATELDIRECT = TABLE1!NATEL2 TABLE2!FAXDIRECT = TABLE1!FAX2 TABLE2!MAILDIRECT = TABLE1![e-mail2] TABLE2!FONCTION = TABLE1!FONCTION2
TABLE2.Update End If If Not (IsNull(TABLE1!RESPONSABLE3) Or TABLE1! RESPONSABLE3 = "") Then TABLE2.AddNew TABLE2!NClient = TABLE1!NClient TABLE2!CONTACT = TABLE1!RESPONSABLE3 TABLE2!Mme_Mlle_M = TABLE1!POLITESSE3 TABLE2!DEPARTEMENT = TABLE1!DEPARTEMENT3 TABLE2!TELDIRECT = TABLE1!TELEDIRECT3 TABLE2!NATELDIRECT = TABLE1!NATEL3 TABLE2!FAXDIRECT = TABLE1!FAX3 TABLE2!MAILDIRECT = TABLE1![e-mail3] TABLE2!FONCTION = TABLE1!FONCTION3
TABLE2.Update End If End If TABLE1.MoveNext Wend TABLE2.Close TABLE1.Close
-----Message d'origine----- Ok Luis,
Pour eviter toute erreur de compilation tu vas devoir ecrire plus de ligne
de code
While Not TABLE1.EOF TABLE2.FindFirst ("Nclient=" & TABLE1!nclient) If TABLE1.NoMatch Then If Not (IsNull(TABLE1!contact1) Or TABLE1! contact1 = "") Then
TABLE2.Update End If If Not (IsNull(TABLE1!contact2) Or TABLE1! contact2 = "") Then
TABLE2.AddNew TABLE2!nclient = TABLE1!nclient TABLE2!Contact = TABLE1!contact2 ... TABLE2.Update End If If Not (IsNull(TABLE1!contact3) Or TABLE1! contact3 = "") Then
je pense qu'il s'agit du guillement en trop derriere le
premier i.
Bonjour Ilan, Je te remercie pour ton tuyaux, dans: Do While not (isnull(TABLE1.Fields("CONTACT" & i")) OR
TABLE1.Fields("CONTACT" & i)="") J'ai une erreur de compilation Luis
-----Message d'origine----- Pardon, j'oubliais qu'il faut prevoir que les Clients
n'ont pas tous 3 Contacts
Il faut alors remplacer la boucle For ... Next par Do
While ... Loop comme :
i=1 Do While not(isnull(TABLE1.Fields("CONTACT" & i")) OR
TABLE1.Fields
("CONTACT" & i)="") if i>3 then Exit Do TABLE2.AddNew TABLE2!NCLient=TABLE1!NCLient TABLE2!CONTACT=TABLE1.Fields("Contact" & i) TABLE2!POlitesse=TABLE1.Fields("Politesse" & i) .... .... TABLE2!Email=TABLE1.Fields("Email" & i) TABLE2.UpDate i=i+1 Loop
.
.
.
.
Re-bonjour,
Voilà j'ai fini d'écrire ça donne ce qui suit, mais rien
ne va s'inscrire dans la table2:
Dim Db As Database
Dim TABLE1, TABLE2 As Recordset
Set Db = CurrentDb
Set TABLE1 = Db.OpenRecordset("Clients")
Set TABLE2 = Db.OpenRecordset("CONTACTS_CLIENTS")
TABLE1.MoveFirst
While Not TABLE1.EOF
TABLE2.FindFirst ("Nclient=" & TABLE1!NClient)
If TABLE1.NoMatch Then
If Not (IsNull(TABLE1!RESPONSABLE) Or TABLE1!
RESPONSABLE = "") Then
End If
If Not (IsNull(TABLE1!RESPONSABLE2) Or TABLE1!
RESPONSABLE2 = "") Then
TABLE2.AddNew
TABLE2!NClient = TABLE1!NClient
TABLE2!CONTACT = TABLE1!RESPONSABLE2
TABLE2!Mme_Mlle_M = TABLE1!POLITESSE2
TABLE2!DEPARTEMENT = TABLE1!DEPARTEMENT2
TABLE2!TELDIRECT = TABLE1!TELDIRECT2
TABLE2!NATELDIRECT = TABLE1!NATEL2
TABLE2!FAXDIRECT = TABLE1!FAX2
TABLE2!MAILDIRECT = TABLE1![e-mail2]
TABLE2!FONCTION = TABLE1!FONCTION2
TABLE2.Update
End If
If Not (IsNull(TABLE1!RESPONSABLE3) Or TABLE1!
RESPONSABLE3 = "") Then
TABLE2.AddNew
TABLE2!NClient = TABLE1!NClient
TABLE2!CONTACT = TABLE1!RESPONSABLE3
TABLE2!Mme_Mlle_M = TABLE1!POLITESSE3
TABLE2!DEPARTEMENT = TABLE1!DEPARTEMENT3
TABLE2!TELDIRECT = TABLE1!TELEDIRECT3
TABLE2!NATELDIRECT = TABLE1!NATEL3
TABLE2!FAXDIRECT = TABLE1!FAX3
TABLE2!MAILDIRECT = TABLE1![e-mail3]
TABLE2!FONCTION = TABLE1!FONCTION3
TABLE2.Update
End If
End If
TABLE1.MoveNext
Wend
TABLE2.Close
TABLE1.Close
-----Message d'origine-----
Ok Luis,
Pour eviter toute erreur de compilation tu vas devoir
ecrire plus de ligne
de code
While Not TABLE1.EOF
TABLE2.FindFirst ("Nclient=" & TABLE1!nclient)
If TABLE1.NoMatch Then
If Not (IsNull(TABLE1!contact1) Or TABLE1!
contact1 = "") Then
TABLE2.Update
End If
If Not (IsNull(TABLE1!contact2) Or TABLE1!
contact2 = "") Then
TABLE2.AddNew
TABLE2!nclient = TABLE1!nclient
TABLE2!Contact = TABLE1!contact2
...
TABLE2.Update
End If
If Not (IsNull(TABLE1!contact3) Or TABLE1!
contact3 = "") Then
Voilà j'ai fini d'écrire ça donne ce qui suit, mais rien ne va s'inscrire dans la table2:
Dim Db As Database Dim TABLE1, TABLE2 As Recordset
Set Db = CurrentDb Set TABLE1 = Db.OpenRecordset("Clients") Set TABLE2 = Db.OpenRecordset("CONTACTS_CLIENTS") TABLE1.MoveFirst While Not TABLE1.EOF TABLE2.FindFirst ("Nclient=" & TABLE1!NClient) If TABLE1.NoMatch Then If Not (IsNull(TABLE1!RESPONSABLE) Or TABLE1! RESPONSABLE = "") Then
End If If Not (IsNull(TABLE1!RESPONSABLE2) Or TABLE1! RESPONSABLE2 = "") Then TABLE2.AddNew TABLE2!NClient = TABLE1!NClient TABLE2!CONTACT = TABLE1!RESPONSABLE2 TABLE2!Mme_Mlle_M = TABLE1!POLITESSE2 TABLE2!DEPARTEMENT = TABLE1!DEPARTEMENT2 TABLE2!TELDIRECT = TABLE1!TELDIRECT2 TABLE2!NATELDIRECT = TABLE1!NATEL2 TABLE2!FAXDIRECT = TABLE1!FAX2 TABLE2!MAILDIRECT = TABLE1![e-mail2] TABLE2!FONCTION = TABLE1!FONCTION2
TABLE2.Update End If If Not (IsNull(TABLE1!RESPONSABLE3) Or TABLE1! RESPONSABLE3 = "") Then TABLE2.AddNew TABLE2!NClient = TABLE1!NClient TABLE2!CONTACT = TABLE1!RESPONSABLE3 TABLE2!Mme_Mlle_M = TABLE1!POLITESSE3 TABLE2!DEPARTEMENT = TABLE1!DEPARTEMENT3 TABLE2!TELDIRECT = TABLE1!TELEDIRECT3 TABLE2!NATELDIRECT = TABLE1!NATEL3 TABLE2!FAXDIRECT = TABLE1!FAX3 TABLE2!MAILDIRECT = TABLE1![e-mail3] TABLE2!FONCTION = TABLE1!FONCTION3
TABLE2.Update End If End If TABLE1.MoveNext Wend TABLE2.Close TABLE1.Close
-----Message d'origine----- Ok Luis,
Pour eviter toute erreur de compilation tu vas devoir ecrire plus de ligne
de code
While Not TABLE1.EOF TABLE2.FindFirst ("Nclient=" & TABLE1!nclient) If TABLE1.NoMatch Then If Not (IsNull(TABLE1!contact1) Or TABLE1! contact1 = "") Then
TABLE2.Update End If If Not (IsNull(TABLE1!contact2) Or TABLE1! contact2 = "") Then
TABLE2.AddNew TABLE2!nclient = TABLE1!nclient TABLE2!Contact = TABLE1!contact2 ... TABLE2.Update End If If Not (IsNull(TABLE1!contact3) Or TABLE1! contact3 = "") Then