Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code
suivant et je ne voit pas l'erreur
merci de votre aide
Private Sub test_Click()
Dim sqlstr As String
Dim wherestr As String
Dim req As QueryDef
sqlstr = "SELECT formateurs.formateur, lieux.lieu, matieres.matiere,
types.type, editeurs.editeur, documents.intitule, auteurs.Auteur "
sqlstr = sqlstr & "FROM auteurs INNER JOIN (lieux INNER JOIN (types INNER
JOIN (formateurs INNER JOIN (matieres INNER JOIN (editeurs INNER JOIN
documents ON editeurs.editeur = documents.editeur) ON matieres.matiere =
documents.matiere) ON formateurs.formateur = documents.formateur) ON
types.type = documents.type) ON lieux.lieu = documents.lieu) ON
auteurs.Auteur = documents.auteur "
'zone de liste formateur modifiable0
If Not IsNull(Me.Modifiable0) Then
wherestr = wherestr & "formateurs.formateur='" & Me.Modifiable0 & "' AND "
End If
'zone de liste lieux modifiable2
If Not IsNull(Me.Modifiable2) Then
wherestr = wherestr & "lieux.lieu='" & Me.Modifiable2 & "' AND "
End If
'zone de liste matiere modifiable4
If Not IsNull(Me.Modifiable4) Then
wherestr = wherestr & "matieres.matiere='" & Me.Modifiable4 & "' AND "
End If
'zone de liste type modifiable11
If Not IsNull(Me.Modifiable11) Then
wherestr = wherestr & "types.type='" & Me.Modifiable11 & "' AND "
End If
'zone de liste editeurs modifiable13
If Not IsNull(Me.Modifiable13) Then
wherestr = wherestr & "auteurs.Auteur='" & Me.Modifiable13 & "' AND "
End If
'zone de liste auteur modifiable15
If Not IsNull(Me.Modifiable15) Then
wherestr = wherestr & "editeurs.editeur='" & Me.Modifiable15 & "';"
End If
If Len(wherestr) > 0 Then
wherestr = Left(wherestr, Len(wherestr) - 6)
End If
sqlstr = sqlstr & " Where " & wherestr
'Stop
On Error GoTo Errtest_Click
Set req = CurrentDb.QueryDefs("Req1")
req.SQL = sqlstr
DoCmd.OpenReport "formateurs", acViewPreview
Fintest_Click:
Exit Sub
Errtest_Click:
Set req = CurrentDb.CreateQueryDef("Req1", sqlstr)
Resume Fintest_Click
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gafish
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code suivant et je ne voit pas l'erreur merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe déja il ne pourra pas la créer, d'où le message. Ca devrait aller avec cette ligne de code : DoCmd.DeleteObject acQuery, "Req1"
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code
suivant et je ne voit pas l'erreur
merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe
déja il ne pourra pas la créer, d'où le message.
Ca devrait aller avec cette ligne de code :
DoCmd.DeleteObject acQuery, "Req1"
Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code suivant et je ne voit pas l'erreur merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe déja il ne pourra pas la créer, d'où le message. Ca devrait aller avec cette ligne de code : DoCmd.DeleteObject acQuery, "Req1"
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
vincent chinazzi
Merci, j'ai mis la commande "DoCmd.DeleteObject acQuery, "Req1" aprés la construction de ma chaine sql sqlstr = sqlstr & " Where " & wherestr maintenant il me dit : erreur 7874 impossible de trouver l'objet req1 je tiens ma base a disposition si vous le voulez
"Gafish" a écrit dans le message de news: #
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code suivant et je ne voit pas l'erreur merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe déja il ne pourra pas la créer, d'où le message. Ca devrait aller avec cette ligne de code : DoCmd.DeleteObject acQuery, "Req1"
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Merci, j'ai mis la commande "DoCmd.DeleteObject acQuery, "Req1" aprés la
construction de ma chaine sql
sqlstr = sqlstr & " Where " & wherestr
maintenant il me dit : erreur 7874 impossible de trouver l'objet req1
je tiens ma base a disposition si vous le voulez
"Gafish" <---gafish@free.fr----nospam> a écrit dans le message de news:
#OFouyveFHA.3280@TK2MSFTNGP09.phx.gbl...
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code
suivant et je ne voit pas l'erreur
merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe
déja il ne pourra pas la créer, d'où le message.
Ca devrait aller avec cette ligne de code :
DoCmd.DeleteObject acQuery, "Req1"
Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Merci, j'ai mis la commande "DoCmd.DeleteObject acQuery, "Req1" aprés la construction de ma chaine sql sqlstr = sqlstr & " Where " & wherestr maintenant il me dit : erreur 7874 impossible de trouver l'objet req1 je tiens ma base a disposition si vous le voulez
"Gafish" a écrit dans le message de news: #
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code suivant et je ne voit pas l'erreur merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe déja il ne pourra pas la créer, d'où le message. Ca devrait aller avec cette ligne de code : DoCmd.DeleteObject acQuery, "Req1"
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Gilbert
Bonjour,
Voici ce que j'utilise dans un formulaire ou autre
If ChercherRequete(MaRequete, MaDb.Name) Then MaDb.QueryDefs(MaRequete).SQL = strTmp Else Set rqte_Tmp = MaDb.CreateQueryDef(MaRequete, strTmp) End If
Il faut ajouter dans un module :
Public Function ChercherRequete(strRequeteName As String, Optional NomBase As String) As Boolean Dim Db As DAO.Database Dim i As Integer If NomBase = "" Then Set Db = DBEngine.Workspaces(0).Databases(0) Else Set Db = DBEngine.Workspaces(0).OpenDatabase(NomBase) End If ChercherRequete = False Db.QueryDefs.Refresh For i = 0 To Db.QueryDefs.Count - 1 If strRequeteName = Db.QueryDefs(i).Name Then 'la requete existe ChercherRequete = True Exit For End If Next i Set Db = Nothing End Function
-- Gilbert
"vincent chinazzi" a écrit dans le message de news:
Merci, j'ai mis la commande "DoCmd.DeleteObject acQuery, "Req1" aprés la construction de ma chaine sql sqlstr = sqlstr & " Where " & wherestr maintenant il me dit : erreur 7874 impossible de trouver l'objet req1 je tiens ma base a disposition si vous le voulez
"Gafish" a écrit dans le message de news: #
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code suivant et je ne voit pas l'erreur merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe déja il ne pourra pas la créer, d'où le message. Ca devrait aller avec cette ligne de code : DoCmd.DeleteObject acQuery, "Req1"
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Voici ce que j'utilise dans un formulaire ou autre
If ChercherRequete(MaRequete, MaDb.Name) Then
MaDb.QueryDefs(MaRequete).SQL = strTmp
Else
Set rqte_Tmp = MaDb.CreateQueryDef(MaRequete, strTmp)
End If
Il faut ajouter dans un module :
Public Function ChercherRequete(strRequeteName As String, Optional NomBase
As String) As Boolean
Dim Db As DAO.Database
Dim i As Integer
If NomBase = "" Then
Set Db = DBEngine.Workspaces(0).Databases(0)
Else
Set Db = DBEngine.Workspaces(0).OpenDatabase(NomBase)
End If
ChercherRequete = False
Db.QueryDefs.Refresh
For i = 0 To Db.QueryDefs.Count - 1
If strRequeteName = Db.QueryDefs(i).Name Then 'la requete existe
ChercherRequete = True
Exit For
End If
Next i
Set Db = Nothing
End Function
--
Gilbert
"vincent chinazzi" <vincent.chinazzi@ac-nantes.fr> a écrit dans le message
de news: OEaTE5veFHA.1456@TK2MSFTNGP15.phx.gbl...
Merci, j'ai mis la commande "DoCmd.DeleteObject acQuery, "Req1" aprés la
construction de ma chaine sql
sqlstr = sqlstr & " Where " & wherestr
maintenant il me dit : erreur 7874 impossible de trouver l'objet req1
je tiens ma base a disposition si vous le voulez
"Gafish" <---gafish@free.fr----nospam> a écrit dans le message de news:
#OFouyveFHA.3280@TK2MSFTNGP09.phx.gbl...
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code
suivant et je ne voit pas l'erreur
merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle
existe
déja il ne pourra pas la créer, d'où le message.
Ca devrait aller avec cette ligne de code :
DoCmd.DeleteObject acQuery, "Req1"
Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Voici ce que j'utilise dans un formulaire ou autre
If ChercherRequete(MaRequete, MaDb.Name) Then MaDb.QueryDefs(MaRequete).SQL = strTmp Else Set rqte_Tmp = MaDb.CreateQueryDef(MaRequete, strTmp) End If
Il faut ajouter dans un module :
Public Function ChercherRequete(strRequeteName As String, Optional NomBase As String) As Boolean Dim Db As DAO.Database Dim i As Integer If NomBase = "" Then Set Db = DBEngine.Workspaces(0).Databases(0) Else Set Db = DBEngine.Workspaces(0).OpenDatabase(NomBase) End If ChercherRequete = False Db.QueryDefs.Refresh For i = 0 To Db.QueryDefs.Count - 1 If strRequeteName = Db.QueryDefs(i).Name Then 'la requete existe ChercherRequete = True Exit For End If Next i Set Db = Nothing End Function
-- Gilbert
"vincent chinazzi" a écrit dans le message de news:
Merci, j'ai mis la commande "DoCmd.DeleteObject acQuery, "Req1" aprés la construction de ma chaine sql sqlstr = sqlstr & " Where " & wherestr maintenant il me dit : erreur 7874 impossible de trouver l'objet req1 je tiens ma base a disposition si vous le voulez
"Gafish" a écrit dans le message de news: #
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code suivant et je ne voit pas l'erreur merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe déja il ne pourra pas la créer, d'où le message. Ca devrait aller avec cette ligne de code : DoCmd.DeleteObject acQuery, "Req1"
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
vincent chinazzi
merci pour votre aide mais je pense que l'erreur est au niveau de la construction de la clause where. je tiens a votre disposition ma base au format zip encore merci pour toutes vos aides "Gilbert" a écrit dans le message de news:
Bonjour,
Voici ce que j'utilise dans un formulaire ou autre
If ChercherRequete(MaRequete, MaDb.Name) Then MaDb.QueryDefs(MaRequete).SQL = strTmp Else Set rqte_Tmp = MaDb.CreateQueryDef(MaRequete, strTmp) End If
Il faut ajouter dans un module :
Public Function ChercherRequete(strRequeteName As String, Optional NomBase As String) As Boolean Dim Db As DAO.Database Dim i As Integer If NomBase = "" Then Set Db = DBEngine.Workspaces(0).Databases(0) Else Set Db = DBEngine.Workspaces(0).OpenDatabase(NomBase) End If ChercherRequete = False Db.QueryDefs.Refresh For i = 0 To Db.QueryDefs.Count - 1 If strRequeteName = Db.QueryDefs(i).Name Then 'la requete existe ChercherRequete = True Exit For End If Next i Set Db = Nothing End Function
-- Gilbert
"vincent chinazzi" a écrit dans le message de news:
Merci, j'ai mis la commande "DoCmd.DeleteObject acQuery, "Req1" aprés la construction de ma chaine sql sqlstr = sqlstr & " Where " & wherestr maintenant il me dit : erreur 7874 impossible de trouver l'objet req1 je tiens ma base a disposition si vous le voulez
"Gafish" a écrit dans le message de news: #
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code
suivant et je ne voit pas l'erreur merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe déja il ne pourra pas la créer, d'où le message. Ca devrait aller avec cette ligne de code : DoCmd.DeleteObject acQuery, "Req1"
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
merci pour votre aide mais je pense que l'erreur est au niveau de la
construction de la clause where. je tiens a votre disposition ma base au
format zip
encore merci pour toutes vos aides
"Gilbert" <ZZZZgilbertvie@tiscali.fr> a écrit dans le message de news:
eeawrXweFHA.3848@TK2MSFTNGP10.phx.gbl...
Bonjour,
Voici ce que j'utilise dans un formulaire ou autre
If ChercherRequete(MaRequete, MaDb.Name) Then
MaDb.QueryDefs(MaRequete).SQL = strTmp
Else
Set rqte_Tmp = MaDb.CreateQueryDef(MaRequete, strTmp)
End If
Il faut ajouter dans un module :
Public Function ChercherRequete(strRequeteName As String, Optional NomBase
As String) As Boolean
Dim Db As DAO.Database
Dim i As Integer
If NomBase = "" Then
Set Db = DBEngine.Workspaces(0).Databases(0)
Else
Set Db = DBEngine.Workspaces(0).OpenDatabase(NomBase)
End If
ChercherRequete = False
Db.QueryDefs.Refresh
For i = 0 To Db.QueryDefs.Count - 1
If strRequeteName = Db.QueryDefs(i).Name Then 'la requete existe
ChercherRequete = True
Exit For
End If
Next i
Set Db = Nothing
End Function
--
Gilbert
"vincent chinazzi" <vincent.chinazzi@ac-nantes.fr> a écrit dans le message
de news: OEaTE5veFHA.1456@TK2MSFTNGP15.phx.gbl...
Merci, j'ai mis la commande "DoCmd.DeleteObject acQuery, "Req1" aprés la
construction de ma chaine sql
sqlstr = sqlstr & " Where " & wherestr
maintenant il me dit : erreur 7874 impossible de trouver l'objet req1
je tiens ma base a disposition si vous le voulez
"Gafish" <---gafish@free.fr----nospam> a écrit dans le message de news:
#OFouyveFHA.3280@TK2MSFTNGP09.phx.gbl...
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du
code
suivant et je ne voit pas l'erreur
merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle
existe
déja il ne pourra pas la créer, d'où le message.
Ca devrait aller avec cette ligne de code :
DoCmd.DeleteObject acQuery, "Req1"
Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
merci pour votre aide mais je pense que l'erreur est au niveau de la construction de la clause where. je tiens a votre disposition ma base au format zip encore merci pour toutes vos aides "Gilbert" a écrit dans le message de news:
Bonjour,
Voici ce que j'utilise dans un formulaire ou autre
If ChercherRequete(MaRequete, MaDb.Name) Then MaDb.QueryDefs(MaRequete).SQL = strTmp Else Set rqte_Tmp = MaDb.CreateQueryDef(MaRequete, strTmp) End If
Il faut ajouter dans un module :
Public Function ChercherRequete(strRequeteName As String, Optional NomBase As String) As Boolean Dim Db As DAO.Database Dim i As Integer If NomBase = "" Then Set Db = DBEngine.Workspaces(0).Databases(0) Else Set Db = DBEngine.Workspaces(0).OpenDatabase(NomBase) End If ChercherRequete = False Db.QueryDefs.Refresh For i = 0 To Db.QueryDefs.Count - 1 If strRequeteName = Db.QueryDefs(i).Name Then 'la requete existe ChercherRequete = True Exit For End If Next i Set Db = Nothing End Function
-- Gilbert
"vincent chinazzi" a écrit dans le message de news:
Merci, j'ai mis la commande "DoCmd.DeleteObject acQuery, "Req1" aprés la construction de ma chaine sql sqlstr = sqlstr & " Where " & wherestr maintenant il me dit : erreur 7874 impossible de trouver l'objet req1 je tiens ma base a disposition si vous le voulez
"Gafish" a écrit dans le message de news: #
Bonjour aussi
vincent chinazzi wrote:
Acces me dit comme erreur 'erreur 3012 req1 déjà créé' apartie du code
suivant et je ne voit pas l'erreur merci de votre aide
Essaye de supprimer ta requête Req1 en début de traitement, si elle existe déja il ne pourra pas la créer, d'où le message. Ca devrait aller avec cette ligne de code : DoCmd.DeleteObject acQuery, "Req1"
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr