Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite un
enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce qui
est normal mais j'aimerais que à la place de ce message je puisse faire
apparaitre saisissez les elements de la table prospects Comment puis je
faire ?
Merci tout le monde Amicalement Francisco
Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite un
enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce qui
est normal mais j'aimerais que à la place de ce message je puisse faire
apparaitre saisissez les elements de la table prospects Comment puis je
faire ?
Merci tout le monde Amicalement Francisco
Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite un
enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce qui
est normal mais j'aimerais que à la place de ce message je puisse faire
apparaitre saisissez les elements de la table prospects Comment puis je
faire ?
Merci tout le monde Amicalement Francisco
Bonsoir.
le message BOF/EOF est rencontré lorsque tu ouvres un recordset sur la
table ou est-ce que la table est la source du formulaire actif ? selon le
cas on ne rencontre pas automatiquement le BOF/EOF quand il se produit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" a écrit dans le message de news:
41d835bc$0$3528$Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite un
enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce qui
est normal mais j'aimerais que à la place de ce message je puisse faire
apparaitre saisissez les elements de la table prospects Comment puis je
faire ?
Merci tout le monde Amicalement Francisco
Bonsoir.
le message BOF/EOF est rencontré lorsque tu ouvres un recordset sur la
table ou est-ce que la table est la source du formulaire actif ? selon le
cas on ne rencontre pas automatiquement le BOF/EOF quand il se produit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" <malabar@wanadoo.fr> a écrit dans le message de news:
41d835bc$0$3528$8fcfb975@news.wanadoo.fr...
Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite un
enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce qui
est normal mais j'aimerais que à la place de ce message je puisse faire
apparaitre saisissez les elements de la table prospects Comment puis je
faire ?
Merci tout le monde Amicalement Francisco
Bonsoir.
le message BOF/EOF est rencontré lorsque tu ouvres un recordset sur la
table ou est-ce que la table est la source du formulaire actif ? selon le
cas on ne rencontre pas automatiquement le BOF/EOF quand il se produit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" a écrit dans le message de news:
41d835bc$0$3528$Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite un
enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce qui
est normal mais j'aimerais que à la place de ce message je puisse faire
apparaitre saisissez les elements de la table prospects Comment puis je
faire ?
Merci tout le monde Amicalement Francisco
If rst.BOF Then
MsgBox "Saisissez les champs de la table prospects",
vbInformation...... goto Sortie ' Exit Sub
End If
........................................
Sortie:
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
Le message BOF/EOF est rencontré lorsque j'ouvre un recordset sur la
table
Je vais essayer de bien t'expliquer et execuse moi pour t'avoir repondu
avec retard s'il y a des ambiguités venant de ma part car je me perds dans
mes explications tu trouveras le code en dessous et merci pour tout :
1) J'ai créé un bouton sur un formulaire qui declenche la macro EnvoiM
2) J'ouvre une table Prospects grace un recordset qui se trouve dans une
macro Sub EnvoiM dans laquelle j'alimente differents champs pour envoyer
une lettre de motivation en changeant le nom de l'interlocuteur
(rst!Interlocuteur) , la reference de la candidature (rst!Reference) De
plus je change de lettre de motivation pour qu'il m'affiche bien StrMsg
"pour un poste de contrôleur de gestion" et pour "un poste d'assistant de
gestion" le de et le d' me posait probleme car j'avais le resultat suivant
poste d'controleur de gestion
3) A la fin de tous les envois , de manière à rendre mon outils
operationnel pour la prochaine fois j'ajoute les élements de la table
Prospects dans TotalProspects
et je supprime les enregistrements de la table Prospects pour être sur de
ne pas envoyer deux fois la même candidature au même endroit
4) Comme j'ai vidé ma table Prospects lorsq'au demarrage de mon
application je demarre sur le formulaire FrmEnvoiMultiple ou n'est stocké
qu'un bouton pour envoyer le code j'ai ce message d'erreur car j'ai vidé
volontairement ma table Prospects
CurrentDb.Execute "delete * from Prospects"
5) Dou l'idée m'est venu si pas d'enregistrement detecté dans la table
Prospects marquer le message Alimenter la table Prospects
' ---
' ENVOYER UN MAIL DEPUIS ACCESS
' ---
' Entrée : strDestinataire <- Adresse e-mail du destinataire
' strSujet <- Objet du courrier
' strMsg <- Corps du message
' blnEdit <- True pour pouvoir modifier le courrier
avant envoi
' False pour expédier le courrier
directement.
'
Public Function EnvoyerEmail(ByVal StrDestinataire As String, _
ByVal strCC As String, _
ByVal strBCC As String, _
ByVal StrSujet As String, _
ByVal strMsg As String, _
ByVal blnEdit)
On Error Resume Next
DoCmd.SendObject acSendNoObject, , , StrDestinataire, strCC, strBCC,
StrSujet, strMsg, blnEdit
Exit Function
End Function
' --------------------------------------------------
' ENVOI MULTIPLE A PARTIR D'UNE TABLE PROSPECTS
' --------------------------------------------------
' Chaque personne reçoit un message distinct
Public Sub EnvoiM()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strMsg As String
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM [Prospects] WHERE Not Isnull(Email);", cnn
If rst.EOF Then
On Error Resume Next
MsgBox "Saisissez les champs de la table prospects", vbInformation,
"Attention !"
Exit Sub
End If
'**********************************************************************************************************
If IsNull(rst!Poste) Then
MsgBox "Saisissez le champs Poste de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
If IsNull(rst!Référence) Then
MsgBox "Saisissez le champs Référence de la Table Prospects ",
vbInformation, " Attention !"
Exit Sub
End If
'******************************************************************************************************************
If IsNull(rst!Email) Then
MsgBox " Saisissez le champs Adresse Email de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
rst.MoveFirst
Do While Not (rst.EOF)
If rst!Poste = "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 " & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste d' " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce de
Compiègne (BAC+4),Spécialisation Contrôle de Gestion et Finance." & vbCrLf
& vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon travail
, je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." & vbCrLf
& vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
Else
If rst!Poste <> "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 .16" & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste de " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce ." &
vbCrLf & vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon travail
, je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." & vbCrLf
& vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
End If
End If
Loop
**************************************************************************
'Alimentation de la table TotalProspects pour historiser mes données'
***************************************************************************
CurrentDb.Execute "INSERT INTO TotalProspects SELECT Prospects.* FROM
Prospects;"
*****************************************************************************************************
'Suppression ds enregistrement de la table Prospects pour remettre à 0 mon
application pour pouvoir saisir mes nouvelles candidatures
******************************************************************************************************
CurrentDb.Execute "delete * from Prospects"
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
"Raymond [mvp]" a écrit dans le message
de news: eo%Bonsoir.
le message BOF/EOF est rencontré lorsque tu ouvres un recordset sur la
table ou est-ce que la table est la source du formulaire actif ? selon le
cas on ne rencontre pas automatiquement le BOF/EOF quand il se produit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" a écrit dans le message de news:
41d835bc$0$3528$Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite un
enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce qui
est normal mais j'aimerais que à la place de ce message je puisse faire
apparaitre saisissez les elements de la table prospects Comment puis je
faire ?
Merci tout le monde Amicalement Francisco
If rst.BOF Then
MsgBox "Saisissez les champs de la table prospects",
vbInformation...... goto Sortie ' Exit Sub
End If
........................................
Sortie:
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
Le message BOF/EOF est rencontré lorsque j'ouvre un recordset sur la
table
Je vais essayer de bien t'expliquer et execuse moi pour t'avoir repondu
avec retard s'il y a des ambiguités venant de ma part car je me perds dans
mes explications tu trouveras le code en dessous et merci pour tout :
1) J'ai créé un bouton sur un formulaire qui declenche la macro EnvoiM
2) J'ouvre une table Prospects grace un recordset qui se trouve dans une
macro Sub EnvoiM dans laquelle j'alimente differents champs pour envoyer
une lettre de motivation en changeant le nom de l'interlocuteur
(rst!Interlocuteur) , la reference de la candidature (rst!Reference) De
plus je change de lettre de motivation pour qu'il m'affiche bien StrMsg
"pour un poste de contrôleur de gestion" et pour "un poste d'assistant de
gestion" le de et le d' me posait probleme car j'avais le resultat suivant
poste d'controleur de gestion
3) A la fin de tous les envois , de manière à rendre mon outils
operationnel pour la prochaine fois j'ajoute les élements de la table
Prospects dans TotalProspects
et je supprime les enregistrements de la table Prospects pour être sur de
ne pas envoyer deux fois la même candidature au même endroit
4) Comme j'ai vidé ma table Prospects lorsq'au demarrage de mon
application je demarre sur le formulaire FrmEnvoiMultiple ou n'est stocké
qu'un bouton pour envoyer le code j'ai ce message d'erreur car j'ai vidé
volontairement ma table Prospects
CurrentDb.Execute "delete * from Prospects"
5) Dou l'idée m'est venu si pas d'enregistrement detecté dans la table
Prospects marquer le message Alimenter la table Prospects
' ---
' ENVOYER UN MAIL DEPUIS ACCESS
' ---
' Entrée : strDestinataire <- Adresse e-mail du destinataire
' strSujet <- Objet du courrier
' strMsg <- Corps du message
' blnEdit <- True pour pouvoir modifier le courrier
avant envoi
' False pour expédier le courrier
directement.
'
Public Function EnvoyerEmail(ByVal StrDestinataire As String, _
ByVal strCC As String, _
ByVal strBCC As String, _
ByVal StrSujet As String, _
ByVal strMsg As String, _
ByVal blnEdit)
On Error Resume Next
DoCmd.SendObject acSendNoObject, , , StrDestinataire, strCC, strBCC,
StrSujet, strMsg, blnEdit
Exit Function
End Function
' --------------------------------------------------
' ENVOI MULTIPLE A PARTIR D'UNE TABLE PROSPECTS
' --------------------------------------------------
' Chaque personne reçoit un message distinct
Public Sub EnvoiM()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strMsg As String
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM [Prospects] WHERE Not Isnull(Email);", cnn
If rst.EOF Then
On Error Resume Next
MsgBox "Saisissez les champs de la table prospects", vbInformation,
"Attention !"
Exit Sub
End If
'**********************************************************************************************************
If IsNull(rst!Poste) Then
MsgBox "Saisissez le champs Poste de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
If IsNull(rst!Référence) Then
MsgBox "Saisissez le champs Référence de la Table Prospects ",
vbInformation, " Attention !"
Exit Sub
End If
'******************************************************************************************************************
If IsNull(rst!Email) Then
MsgBox " Saisissez le champs Adresse Email de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
rst.MoveFirst
Do While Not (rst.EOF)
If rst!Poste = "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 " & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste d' " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce de
Compiègne (BAC+4),Spécialisation Contrôle de Gestion et Finance." & vbCrLf
& vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon travail
, je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." & vbCrLf
& vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
Else
If rst!Poste <> "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 .16" & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste de " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce ." &
vbCrLf & vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon travail
, je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." & vbCrLf
& vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
End If
End If
Loop
**************************************************************************
'Alimentation de la table TotalProspects pour historiser mes données'
***************************************************************************
CurrentDb.Execute "INSERT INTO TotalProspects SELECT Prospects.* FROM
Prospects;"
*****************************************************************************************************
'Suppression ds enregistrement de la table Prospects pour remettre à 0 mon
application pour pouvoir saisir mes nouvelles candidatures
******************************************************************************************************
CurrentDb.Execute "delete * from Prospects"
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message
de news: eo%23bQLR8EHA.3828@TK2MSFTNGP09.phx.gbl...
Bonsoir.
le message BOF/EOF est rencontré lorsque tu ouvres un recordset sur la
table ou est-ce que la table est la source du formulaire actif ? selon le
cas on ne rencontre pas automatiquement le BOF/EOF quand il se produit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" <malabar@wanadoo.fr> a écrit dans le message de news:
41d835bc$0$3528$8fcfb975@news.wanadoo.fr...
Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite un
enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce qui
est normal mais j'aimerais que à la place de ce message je puisse faire
apparaitre saisissez les elements de la table prospects Comment puis je
faire ?
Merci tout le monde Amicalement Francisco
If rst.BOF Then
MsgBox "Saisissez les champs de la table prospects",
vbInformation...... goto Sortie ' Exit Sub
End If
........................................
Sortie:
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
Le message BOF/EOF est rencontré lorsque j'ouvre un recordset sur la
table
Je vais essayer de bien t'expliquer et execuse moi pour t'avoir repondu
avec retard s'il y a des ambiguités venant de ma part car je me perds dans
mes explications tu trouveras le code en dessous et merci pour tout :
1) J'ai créé un bouton sur un formulaire qui declenche la macro EnvoiM
2) J'ouvre une table Prospects grace un recordset qui se trouve dans une
macro Sub EnvoiM dans laquelle j'alimente differents champs pour envoyer
une lettre de motivation en changeant le nom de l'interlocuteur
(rst!Interlocuteur) , la reference de la candidature (rst!Reference) De
plus je change de lettre de motivation pour qu'il m'affiche bien StrMsg
"pour un poste de contrôleur de gestion" et pour "un poste d'assistant de
gestion" le de et le d' me posait probleme car j'avais le resultat suivant
poste d'controleur de gestion
3) A la fin de tous les envois , de manière à rendre mon outils
operationnel pour la prochaine fois j'ajoute les élements de la table
Prospects dans TotalProspects
et je supprime les enregistrements de la table Prospects pour être sur de
ne pas envoyer deux fois la même candidature au même endroit
4) Comme j'ai vidé ma table Prospects lorsq'au demarrage de mon
application je demarre sur le formulaire FrmEnvoiMultiple ou n'est stocké
qu'un bouton pour envoyer le code j'ai ce message d'erreur car j'ai vidé
volontairement ma table Prospects
CurrentDb.Execute "delete * from Prospects"
5) Dou l'idée m'est venu si pas d'enregistrement detecté dans la table
Prospects marquer le message Alimenter la table Prospects
' ---
' ENVOYER UN MAIL DEPUIS ACCESS
' ---
' Entrée : strDestinataire <- Adresse e-mail du destinataire
' strSujet <- Objet du courrier
' strMsg <- Corps du message
' blnEdit <- True pour pouvoir modifier le courrier
avant envoi
' False pour expédier le courrier
directement.
'
Public Function EnvoyerEmail(ByVal StrDestinataire As String, _
ByVal strCC As String, _
ByVal strBCC As String, _
ByVal StrSujet As String, _
ByVal strMsg As String, _
ByVal blnEdit)
On Error Resume Next
DoCmd.SendObject acSendNoObject, , , StrDestinataire, strCC, strBCC,
StrSujet, strMsg, blnEdit
Exit Function
End Function
' --------------------------------------------------
' ENVOI MULTIPLE A PARTIR D'UNE TABLE PROSPECTS
' --------------------------------------------------
' Chaque personne reçoit un message distinct
Public Sub EnvoiM()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strMsg As String
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM [Prospects] WHERE Not Isnull(Email);", cnn
If rst.EOF Then
On Error Resume Next
MsgBox "Saisissez les champs de la table prospects", vbInformation,
"Attention !"
Exit Sub
End If
'**********************************************************************************************************
If IsNull(rst!Poste) Then
MsgBox "Saisissez le champs Poste de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
If IsNull(rst!Référence) Then
MsgBox "Saisissez le champs Référence de la Table Prospects ",
vbInformation, " Attention !"
Exit Sub
End If
'******************************************************************************************************************
If IsNull(rst!Email) Then
MsgBox " Saisissez le champs Adresse Email de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
rst.MoveFirst
Do While Not (rst.EOF)
If rst!Poste = "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 " & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste d' " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce de
Compiègne (BAC+4),Spécialisation Contrôle de Gestion et Finance." & vbCrLf
& vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon travail
, je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." & vbCrLf
& vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
Else
If rst!Poste <> "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 .16" & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste de " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce ." &
vbCrLf & vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon travail
, je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." & vbCrLf
& vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
End If
End If
Loop
**************************************************************************
'Alimentation de la table TotalProspects pour historiser mes données'
***************************************************************************
CurrentDb.Execute "INSERT INTO TotalProspects SELECT Prospects.* FROM
Prospects;"
*****************************************************************************************************
'Suppression ds enregistrement de la table Prospects pour remettre à 0 mon
application pour pouvoir saisir mes nouvelles candidatures
******************************************************************************************************
CurrentDb.Execute "delete * from Prospects"
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
"Raymond [mvp]" a écrit dans le message
de news: eo%Bonsoir.
le message BOF/EOF est rencontré lorsque tu ouvres un recordset sur la
table ou est-ce que la table est la source du formulaire actif ? selon le
cas on ne rencontre pas automatiquement le BOF/EOF quand il se produit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" a écrit dans le message de news:
41d835bc$0$3528$Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite un
enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce qui
est normal mais j'aimerais que à la place de ce message je puisse faire
apparaitre saisissez les elements de la table prospects Comment puis je
faire ?
Merci tout le monde Amicalement Francisco
Bonjour.
actuellement, lorsque tu ouvres ton recordset, tu dois bien avoir ton
message affiché si la table est vide ? où est le problème ?
il faut juste modifier un peu ton code pour passer par le nothing de fin
de procédure.If rst.BOF Then
MsgBox "Saisissez les champs de la table prospects",
vbInformation...... goto Sortie ' Exit Sub
End If
........................................Sortie:
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" a écrit dans le message de news:
41d9020b$0$29793$Le message BOF/EOF est rencontré lorsque j'ouvre un recordset sur la
table
Je vais essayer de bien t'expliquer et execuse moi pour t'avoir repondu
avec retard s'il y a des ambiguités venant de ma part car je me perds
dans mes explications tu trouveras le code en dessous et merci pour tout
:
1) J'ai créé un bouton sur un formulaire qui declenche la macro EnvoiM
2) J'ouvre une table Prospects grace un recordset qui se trouve dans une
macro Sub EnvoiM dans laquelle j'alimente differents champs pour envoyer
une lettre de motivation en changeant le nom de l'interlocuteur
(rst!Interlocuteur) , la reference de la candidature (rst!Reference) De
plus je change de lettre de motivation pour qu'il m'affiche bien StrMsg
"pour un poste de contrôleur de gestion" et pour "un poste d'assistant de
gestion" le de et le d' me posait probleme car j'avais le resultat
suivant poste d'controleur de gestion
3) A la fin de tous les envois , de manière à rendre mon outils
operationnel pour la prochaine fois j'ajoute les élements de la table
Prospects dans TotalProspects
et je supprime les enregistrements de la table Prospects pour être sur
de ne pas envoyer deux fois la même candidature au même endroit
4) Comme j'ai vidé ma table Prospects lorsq'au demarrage de mon
application je demarre sur le formulaire FrmEnvoiMultiple ou n'est stocké
qu'un bouton pour envoyer le code j'ai ce message d'erreur car j'ai vidé
volontairement ma table Prospects
CurrentDb.Execute "delete * from Prospects"
5) Dou l'idée m'est venu si pas d'enregistrement detecté dans la table
Prospects marquer le message Alimenter la table Prospects
' ---
' ENVOYER UN MAIL DEPUIS ACCESS
' ---
' Entrée : strDestinataire <- Adresse e-mail du destinataire
' strSujet <- Objet du courrier
' strMsg <- Corps du message
' blnEdit <- True pour pouvoir modifier le courrier
avant envoi
' False pour expédier le courrier
directement.
'
Public Function EnvoyerEmail(ByVal StrDestinataire As String, _
ByVal strCC As String, _
ByVal strBCC As String, _
ByVal StrSujet As String, _
ByVal strMsg As String, _
ByVal blnEdit)
On Error Resume Next
DoCmd.SendObject acSendNoObject, , , StrDestinataire, strCC, strBCC,
StrSujet, strMsg, blnEdit
Exit Function
End Function
' --------------------------------------------------
' ENVOI MULTIPLE A PARTIR D'UNE TABLE PROSPECTS
' --------------------------------------------------
' Chaque personne reçoit un message distinct
Public Sub EnvoiM()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strMsg As String
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM [Prospects] WHERE Not Isnull(Email);", cnn
If rst.EOF Then
On Error Resume Next
MsgBox "Saisissez les champs de la table prospects", vbInformation,
"Attention !"
Exit Sub
End If
'**********************************************************************************************************
If IsNull(rst!Poste) Then
MsgBox "Saisissez le champs Poste de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
If IsNull(rst!Référence) Then
MsgBox "Saisissez le champs Référence de la Table Prospects ",
vbInformation, " Attention !"
Exit Sub
End If
'******************************************************************************************************************
If IsNull(rst!Email) Then
MsgBox " Saisissez le champs Adresse Email de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
rst.MoveFirst
Do While Not (rst.EOF)
If rst!Poste = "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 " & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste d' " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce de
Compiègne (BAC+4),Spécialisation Contrôle de Gestion et Finance." &
vbCrLf & vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon
travail , je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." &
vbCrLf & vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
Else
If rst!Poste <> "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 .16" & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste de " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce ." &
vbCrLf & vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon
travail , je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." &
vbCrLf & vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
End If
End If
Loop
**************************************************************************
'Alimentation de la table TotalProspects pour historiser mes données'
***************************************************************************
CurrentDb.Execute "INSERT INTO TotalProspects SELECT Prospects.* FROM
Prospects;"
*****************************************************************************************************
'Suppression ds enregistrement de la table Prospects pour remettre à 0
mon application pour pouvoir saisir mes nouvelles candidatures
******************************************************************************************************
CurrentDb.Execute "delete * from Prospects"
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
"Raymond [mvp]" a écrit dans le message
de news: eo%Bonsoir.
le message BOF/EOF est rencontré lorsque tu ouvres un recordset sur la
table ou est-ce que la table est la source du formulaire actif ? selon
le cas on ne rencontre pas automatiquement le BOF/EOF quand il se
produit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" a écrit dans le message de news:
41d835bc$0$3528$Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite
un enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce
qui est normal mais j'aimerais que à la place de ce message je puisse
faire apparaitre saisissez les elements de la table prospects Comment
puis je faire ?
Merci tout le monde Amicalement Francisco
Bonjour.
actuellement, lorsque tu ouvres ton recordset, tu dois bien avoir ton
message affiché si la table est vide ? où est le problème ?
il faut juste modifier un peu ton code pour passer par le nothing de fin
de procédure.
If rst.BOF Then
MsgBox "Saisissez les champs de la table prospects",
vbInformation...... goto Sortie ' Exit Sub
End If
........................................
Sortie:
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" <malabar@wanadoo.fr> a écrit dans le message de news:
41d9020b$0$29793$8fcfb975@news.wanadoo.fr...
Le message BOF/EOF est rencontré lorsque j'ouvre un recordset sur la
table
Je vais essayer de bien t'expliquer et execuse moi pour t'avoir repondu
avec retard s'il y a des ambiguités venant de ma part car je me perds
dans mes explications tu trouveras le code en dessous et merci pour tout
:
1) J'ai créé un bouton sur un formulaire qui declenche la macro EnvoiM
2) J'ouvre une table Prospects grace un recordset qui se trouve dans une
macro Sub EnvoiM dans laquelle j'alimente differents champs pour envoyer
une lettre de motivation en changeant le nom de l'interlocuteur
(rst!Interlocuteur) , la reference de la candidature (rst!Reference) De
plus je change de lettre de motivation pour qu'il m'affiche bien StrMsg
"pour un poste de contrôleur de gestion" et pour "un poste d'assistant de
gestion" le de et le d' me posait probleme car j'avais le resultat
suivant poste d'controleur de gestion
3) A la fin de tous les envois , de manière à rendre mon outils
operationnel pour la prochaine fois j'ajoute les élements de la table
Prospects dans TotalProspects
et je supprime les enregistrements de la table Prospects pour être sur
de ne pas envoyer deux fois la même candidature au même endroit
4) Comme j'ai vidé ma table Prospects lorsq'au demarrage de mon
application je demarre sur le formulaire FrmEnvoiMultiple ou n'est stocké
qu'un bouton pour envoyer le code j'ai ce message d'erreur car j'ai vidé
volontairement ma table Prospects
CurrentDb.Execute "delete * from Prospects"
5) Dou l'idée m'est venu si pas d'enregistrement detecté dans la table
Prospects marquer le message Alimenter la table Prospects
' ---
' ENVOYER UN MAIL DEPUIS ACCESS
' ---
' Entrée : strDestinataire <- Adresse e-mail du destinataire
' strSujet <- Objet du courrier
' strMsg <- Corps du message
' blnEdit <- True pour pouvoir modifier le courrier
avant envoi
' False pour expédier le courrier
directement.
'
Public Function EnvoyerEmail(ByVal StrDestinataire As String, _
ByVal strCC As String, _
ByVal strBCC As String, _
ByVal StrSujet As String, _
ByVal strMsg As String, _
ByVal blnEdit)
On Error Resume Next
DoCmd.SendObject acSendNoObject, , , StrDestinataire, strCC, strBCC,
StrSujet, strMsg, blnEdit
Exit Function
End Function
' --------------------------------------------------
' ENVOI MULTIPLE A PARTIR D'UNE TABLE PROSPECTS
' --------------------------------------------------
' Chaque personne reçoit un message distinct
Public Sub EnvoiM()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strMsg As String
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM [Prospects] WHERE Not Isnull(Email);", cnn
If rst.EOF Then
On Error Resume Next
MsgBox "Saisissez les champs de la table prospects", vbInformation,
"Attention !"
Exit Sub
End If
'**********************************************************************************************************
If IsNull(rst!Poste) Then
MsgBox "Saisissez le champs Poste de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
If IsNull(rst!Référence) Then
MsgBox "Saisissez le champs Référence de la Table Prospects ",
vbInformation, " Attention !"
Exit Sub
End If
'******************************************************************************************************************
If IsNull(rst!Email) Then
MsgBox " Saisissez le champs Adresse Email de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
rst.MoveFirst
Do While Not (rst.EOF)
If rst!Poste = "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 " & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste d' " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce de
Compiègne (BAC+4),Spécialisation Contrôle de Gestion et Finance." &
vbCrLf & vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon
travail , je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." &
vbCrLf & vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
Else
If rst!Poste <> "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 .16" & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste de " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce ." &
vbCrLf & vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon
travail , je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." &
vbCrLf & vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
End If
End If
Loop
**************************************************************************
'Alimentation de la table TotalProspects pour historiser mes données'
***************************************************************************
CurrentDb.Execute "INSERT INTO TotalProspects SELECT Prospects.* FROM
Prospects;"
*****************************************************************************************************
'Suppression ds enregistrement de la table Prospects pour remettre à 0
mon application pour pouvoir saisir mes nouvelles candidatures
******************************************************************************************************
CurrentDb.Execute "delete * from Prospects"
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message
de news: eo%23bQLR8EHA.3828@TK2MSFTNGP09.phx.gbl...
Bonsoir.
le message BOF/EOF est rencontré lorsque tu ouvres un recordset sur la
table ou est-ce que la table est la source du formulaire actif ? selon
le cas on ne rencontre pas automatiquement le BOF/EOF quand il se
produit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" <malabar@wanadoo.fr> a écrit dans le message de news:
41d835bc$0$3528$8fcfb975@news.wanadoo.fr...
Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite
un enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce
qui est normal mais j'aimerais que à la place de ce message je puisse
faire apparaitre saisissez les elements de la table prospects Comment
puis je faire ?
Merci tout le monde Amicalement Francisco
Bonjour.
actuellement, lorsque tu ouvres ton recordset, tu dois bien avoir ton
message affiché si la table est vide ? où est le problème ?
il faut juste modifier un peu ton code pour passer par le nothing de fin
de procédure.If rst.BOF Then
MsgBox "Saisissez les champs de la table prospects",
vbInformation...... goto Sortie ' Exit Sub
End If
........................................Sortie:
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" a écrit dans le message de news:
41d9020b$0$29793$Le message BOF/EOF est rencontré lorsque j'ouvre un recordset sur la
table
Je vais essayer de bien t'expliquer et execuse moi pour t'avoir repondu
avec retard s'il y a des ambiguités venant de ma part car je me perds
dans mes explications tu trouveras le code en dessous et merci pour tout
:
1) J'ai créé un bouton sur un formulaire qui declenche la macro EnvoiM
2) J'ouvre une table Prospects grace un recordset qui se trouve dans une
macro Sub EnvoiM dans laquelle j'alimente differents champs pour envoyer
une lettre de motivation en changeant le nom de l'interlocuteur
(rst!Interlocuteur) , la reference de la candidature (rst!Reference) De
plus je change de lettre de motivation pour qu'il m'affiche bien StrMsg
"pour un poste de contrôleur de gestion" et pour "un poste d'assistant de
gestion" le de et le d' me posait probleme car j'avais le resultat
suivant poste d'controleur de gestion
3) A la fin de tous les envois , de manière à rendre mon outils
operationnel pour la prochaine fois j'ajoute les élements de la table
Prospects dans TotalProspects
et je supprime les enregistrements de la table Prospects pour être sur
de ne pas envoyer deux fois la même candidature au même endroit
4) Comme j'ai vidé ma table Prospects lorsq'au demarrage de mon
application je demarre sur le formulaire FrmEnvoiMultiple ou n'est stocké
qu'un bouton pour envoyer le code j'ai ce message d'erreur car j'ai vidé
volontairement ma table Prospects
CurrentDb.Execute "delete * from Prospects"
5) Dou l'idée m'est venu si pas d'enregistrement detecté dans la table
Prospects marquer le message Alimenter la table Prospects
' ---
' ENVOYER UN MAIL DEPUIS ACCESS
' ---
' Entrée : strDestinataire <- Adresse e-mail du destinataire
' strSujet <- Objet du courrier
' strMsg <- Corps du message
' blnEdit <- True pour pouvoir modifier le courrier
avant envoi
' False pour expédier le courrier
directement.
'
Public Function EnvoyerEmail(ByVal StrDestinataire As String, _
ByVal strCC As String, _
ByVal strBCC As String, _
ByVal StrSujet As String, _
ByVal strMsg As String, _
ByVal blnEdit)
On Error Resume Next
DoCmd.SendObject acSendNoObject, , , StrDestinataire, strCC, strBCC,
StrSujet, strMsg, blnEdit
Exit Function
End Function
' --------------------------------------------------
' ENVOI MULTIPLE A PARTIR D'UNE TABLE PROSPECTS
' --------------------------------------------------
' Chaque personne reçoit un message distinct
Public Sub EnvoiM()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strMsg As String
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM [Prospects] WHERE Not Isnull(Email);", cnn
If rst.EOF Then
On Error Resume Next
MsgBox "Saisissez les champs de la table prospects", vbInformation,
"Attention !"
Exit Sub
End If
'**********************************************************************************************************
If IsNull(rst!Poste) Then
MsgBox "Saisissez le champs Poste de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
If IsNull(rst!Référence) Then
MsgBox "Saisissez le champs Référence de la Table Prospects ",
vbInformation, " Attention !"
Exit Sub
End If
'******************************************************************************************************************
If IsNull(rst!Email) Then
MsgBox " Saisissez le champs Adresse Email de la Table Prospects ",
vbInformation, "Attention !"
Exit Sub
End If
'*****************************************************************************************************************
rst.MoveFirst
Do While Not (rst.EOF)
If rst!Poste = "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 " & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste d' " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce de
Compiègne (BAC+4),Spécialisation Contrôle de Gestion et Finance." &
vbCrLf & vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon
travail , je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." &
vbCrLf & vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
Else
If rst!Poste <> "assistant de gestion" Then
strMsg = "Francisco " & vbCrLf _
& "75 rue de la paix " & vbCrLf _
& "92120 Montrouge" & vbCrLf & vbCrLf _
& "Port : 01 01 01 01 01 .16" & vbCrLf _
& "Objet : demande pour un emploi" & vbCrLf _
& "Poste : " & rst!Poste & vbCrLf & vbCrLf _
& "Vos / références : " & rst!Référence & vbCrLf & vbCrLf _
& " " & rst!Interlocuteur & "," & vbCrLf & vbCrLf _
& " Je vous adresse ma candidature pour le poste de " &
rst!Poste & ".J'ai une formation de l'Ecole Supérieure de Commerce ." &
vbCrLf & vbCrLf _
& " Mes expériences professionnelles au sein des différentes
sociétés m'ont permis de me familiariser avec l'outil informatique
(Ciel,Brio,Cotre)." & vbCrLf & vbCrLf _
& " Dynamique, motivé, autonome et responsable dans mon
travail , je souhaiterai mettre en pratique mes qualités au sein de votre
entreprise." & vbCrLf & vbCrLf _
& " Mon curriculum vitae, vous permettra d'évaluer mes
compétences et mon envie d'apprendre dans d'autres domaines." & vbCrLf &
vbCrLf _
& " Prêt à rejoindre votre équipe, je suis dès aujourd'hui
disponible afin d'approfondir les motivations de ma candidature." &
vbCrLf & vbCrLf _
& " Je vous prie, " & rst!Interlocuteur & ", d'agréer
l'expression de mes sentiments distingués ." & vbCrLf & vbCrLf _
& " F. " _
EnvoyerEmail rst!Email, "", "", "Candidature sous la référence " &
rst!Référence, strMsg, True
rst.MoveNext
End If
End If
Loop
**************************************************************************
'Alimentation de la table TotalProspects pour historiser mes données'
***************************************************************************
CurrentDb.Execute "INSERT INTO TotalProspects SELECT Prospects.* FROM
Prospects;"
*****************************************************************************************************
'Suppression ds enregistrement de la table Prospects pour remettre à 0
mon application pour pouvoir saisir mes nouvelles candidatures
******************************************************************************************************
CurrentDb.Execute "delete * from Prospects"
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
"Raymond [mvp]" a écrit dans le message
de news: eo%Bonsoir.
le message BOF/EOF est rencontré lorsque tu ouvres un recordset sur la
table ou est-ce que la table est la source du formulaire actif ? selon
le cas on ne rencontre pas automatiquement le BOF/EOF quand il se
produit.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"malabar" a écrit dans le message de news:
41d835bc$0$3528$Bonsoir tout le monde
J'ai une erreur d'execution 3021 BOF ou EOF est egal à true ou
l'enregistrement actuel a été supprimé. L'opération demandé necessite
un enregistrement actuel.
Cette erreur se produit lorsue je vide une table nommée prospects ce
qui est normal mais j'aimerais que à la place de ce message je puisse
faire apparaitre saisissez les elements de la table prospects Comment
puis je faire ?
Merci tout le monde Amicalement Francisco
Merci Raymond je crois que je m'emmele un peu les pinceaux mais tout marche
bien
Merci Raymond je crois que je m'emmele un peu les pinceaux mais tout marche
bien
Merci Raymond je crois que je m'emmele un peu les pinceaux mais tout marche
bien
"malabar" a écrit dans le message de
news:41d92ad3$0$29774$Merci Raymond je crois que je m'emmele un peu les pinceaux mais tout
marche
bien
oui, çà j'avais remarqué depuis longtemps et je pense que cela n'échappe à
personne, la cause ? mélange de roudoudou et de fraise
tagada
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
"malabar" <malabar@wanadoo.fr> a écrit dans le message de
news:41d92ad3$0$29774$8fcfb975@news.wanadoo.fr...
Merci Raymond je crois que je m'emmele un peu les pinceaux mais tout
marche
bien
oui, çà j'avais remarqué depuis longtemps et je pense que cela n'échappe à
personne, la cause ? mélange de roudoudou et de fraise
tagada
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
"malabar" a écrit dans le message de
news:41d92ad3$0$29774$Merci Raymond je crois que je m'emmele un peu les pinceaux mais tout
marche
bien
oui, çà j'avais remarqué depuis longtemps et je pense que cela n'échappe à
personne, la cause ? mélange de roudoudou et de fraise
tagada
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B