J'ai ce code dans ma dase de donnée.
j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci
Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef
Dim ListeReq As Recordset
Dim ReqSql As String, Critère As String
Dim F As Forms
Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres]
Premier = True
Set MaBD = CurrentDb
Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête.
Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
End If
ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")"
End If
If Not (IsNull(F![ch Commercial])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")"
End If
If Not (IsNull(F![ch DateMin])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin],
"m/d/yyyy") & "#)"
End If
If Not (IsNull(F![ch DateMax])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax],
"m/d/yyyy") & "#)"
End If
' MsgBox premier
If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
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
Pierre CFI [mvp]
bonjour d'ou sort cette fonction Alaligne()
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Guy" a écrit dans le message de news:
J'ai ce code dans ma dase de donnée. j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef Dim ListeReq As Recordset Dim ReqSql As String, Critère As String Dim F As Forms Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres] Premier = True Set MaBD = CurrentDb Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False End If ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")" End If
If Not (IsNull(F![ch Commercial])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")" End If
If Not (IsNull(F![ch DateMin])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin], "m/d/yyyy") & "#)" End If
If Not (IsNull(F![ch DateMax])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax], "m/d/yyyy") & "#)" End If ' MsgBox premier If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
ErreurRequete_LH2_N1: MaBD.DeleteQueryDef "RLH2_Niv1" Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Resume Next
End Sub
bonjour
d'ou sort cette fonction Alaligne()
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Guy" <Guy@discussions.microsoft.com> a écrit dans le message de news:B37E6147-C06B-4CB6-89EF-0C39FB027563@microsoft.com...
J'ai ce code dans ma dase de donnée.
j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci
Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef
Dim ListeReq As Recordset
Dim ReqSql As String, Critère As String
Dim F As Forms
Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres]
Premier = True
Set MaBD = CurrentDb
Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête.
Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
End If
ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")"
End If
If Not (IsNull(F![ch Commercial])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")"
End If
If Not (IsNull(F![ch DateMin])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin],
"m/d/yyyy") & "#)"
End If
If Not (IsNull(F![ch DateMax])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax],
"m/d/yyyy") & "#)"
End If
' MsgBox premier
If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Guy" a écrit dans le message de news:
J'ai ce code dans ma dase de donnée. j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef Dim ListeReq As Recordset Dim ReqSql As String, Critère As String Dim F As Forms Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres] Premier = True Set MaBD = CurrentDb Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False End If ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")" End If
If Not (IsNull(F![ch Commercial])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")" End If
If Not (IsNull(F![ch DateMin])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin], "m/d/yyyy") & "#)" End If
If Not (IsNull(F![ch DateMax])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax], "m/d/yyyy") & "#)" End If ' MsgBox premier If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
ErreurRequete_LH2_N1: MaBD.DeleteQueryDef "RLH2_Niv1" Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Resume Next
End Sub
Raymond [mvp]
Bonjour.
il faut compléter tes fonctions.
Dim MaBD As DAO.Database, MaRequête As DAO.QueryDef Dim ListeReq As DAO.Recordset
dans les références, alt+F11, outils/références cocher la référence microsoft DAO3.6 et la placer avant toutes les références éventuelles à ADO (Activex Data Objects)
quant à >ReqSql = ListeReq.SQL & Alaligne() <<<<<<<<<<<<<<Ereur Alaligne est quel type de fonction ? qui se trouve où ? ListeReq étant un recordset tu ne peux pas utiliser la propriété SQL. Il faudrait que ListeReq soit un QueryDef pour récupérer le SQL.
voici quelques lignes de réflexion. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" a écrit dans le message de news:
J'ai ce code dans ma dase de donnée. j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef Dim ListeReq As Recordset Dim ReqSql As String, Critère As String Dim F As Forms Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres] Premier = True Set MaBD = CurrentDb Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False End If ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")" End If
If Not (IsNull(F![ch Commercial])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")" End If
If Not (IsNull(F![ch DateMin])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin], "m/d/yyyy") & "#)" End If
If Not (IsNull(F![ch DateMax])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax], "m/d/yyyy") & "#)" End If ' MsgBox premier If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
ErreurRequete_LH2_N1: MaBD.DeleteQueryDef "RLH2_Niv1" Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Resume Next
End Sub
Bonjour.
il faut compléter tes fonctions.
Dim MaBD As DAO.Database, MaRequête As DAO.QueryDef
Dim ListeReq As DAO.Recordset
dans les références, alt+F11, outils/références
cocher la référence microsoft DAO3.6 et la placer avant toutes les
références éventuelles à ADO (Activex Data Objects)
quant à >ReqSql = ListeReq.SQL & Alaligne() <<<<<<<<<<<<<<Ereur
Alaligne est quel type de fonction ? qui se trouve où ?
ListeReq étant un recordset tu ne peux pas utiliser la propriété SQL. Il
faudrait que ListeReq soit un QueryDef pour récupérer le SQL.
voici quelques lignes de réflexion.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" <Guy@discussions.microsoft.com> a écrit dans le message de news:
B37E6147-C06B-4CB6-89EF-0C39FB027563@microsoft.com...
J'ai ce code dans ma dase de donnée.
j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci
Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef
Dim ListeReq As Recordset
Dim ReqSql As String, Critère As String
Dim F As Forms
Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres]
Premier = True
Set MaBD = CurrentDb
Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête.
Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
End If
ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")"
End If
If Not (IsNull(F![ch Commercial])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] &
")"
End If
If Not (IsNull(F![ch DateMin])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin],
"m/d/yyyy") & "#)"
End If
If Not (IsNull(F![ch DateMax])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax],
"m/d/yyyy") & "#)"
End If
' MsgBox premier
If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
Dim MaBD As DAO.Database, MaRequête As DAO.QueryDef Dim ListeReq As DAO.Recordset
dans les références, alt+F11, outils/références cocher la référence microsoft DAO3.6 et la placer avant toutes les références éventuelles à ADO (Activex Data Objects)
quant à >ReqSql = ListeReq.SQL & Alaligne() <<<<<<<<<<<<<<Ereur Alaligne est quel type de fonction ? qui se trouve où ? ListeReq étant un recordset tu ne peux pas utiliser la propriété SQL. Il faudrait que ListeReq soit un QueryDef pour récupérer le SQL.
voici quelques lignes de réflexion. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" a écrit dans le message de news:
J'ai ce code dans ma dase de donnée. j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef Dim ListeReq As Recordset Dim ReqSql As String, Critère As String Dim F As Forms Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres] Premier = True Set MaBD = CurrentDb Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False End If ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")" End If
If Not (IsNull(F![ch Commercial])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")" End If
If Not (IsNull(F![ch DateMin])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin], "m/d/yyyy") & "#)" End If
If Not (IsNull(F![ch DateMax])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax], "m/d/yyyy") & "#)" End If ' MsgBox premier If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
alaligne() est une fonction ki est ds le meme module que ce code
(g pas mi tt le module, ca serai trop long)
merci
Guy
oui c fai , si je met reqsql en querydef ca marche mais c une erreur a la ligne du dessu car .findfirst n'est alors plus reconu (mais ca marche avec recordset). y a t'il une fonction equivalente a findfirst en utilisant un querydef?
mecri
"Raymond [mvp]" wrote:
Bonjour.
il faut compléter tes fonctions.
Dim MaBD As DAO.Database, MaRequête As DAO.QueryDef Dim ListeReq As DAO.Recordset
dans les références, alt+F11, outils/références cocher la référence microsoft DAO3.6 et la placer avant toutes les références éventuelles à ADO (Activex Data Objects)
quant à >ReqSql = ListeReq.SQL & Alaligne() <<<<<<<<<<<<<<Ereur Alaligne est quel type de fonction ? qui se trouve où ? ListeReq étant un recordset tu ne peux pas utiliser la propriété SQL. Il faudrait que ListeReq soit un QueryDef pour récupérer le SQL.
voici quelques lignes de réflexion. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" a écrit dans le message de news:
J'ai ce code dans ma dase de donnée. j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef Dim ListeReq As Recordset Dim ReqSql As String, Critère As String Dim F As Forms Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres] Premier = True Set MaBD = CurrentDb Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False End If ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")" End If
If Not (IsNull(F![ch Commercial])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")" End If
If Not (IsNull(F![ch DateMin])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin], "m/d/yyyy") & "#)" End If
If Not (IsNull(F![ch DateMax])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax], "m/d/yyyy") & "#)" End If ' MsgBox premier If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
ErreurRequete_LH2_N1: MaBD.DeleteQueryDef "RLH2_Niv1" Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Resume Next
End Sub
oui c fai , si je met reqsql en querydef ca marche mais c une erreur a la
ligne du dessu car .findfirst n'est alors plus reconu (mais ca marche avec
recordset). y a t'il une fonction equivalente a findfirst en utilisant un
querydef?
mecri
"Raymond [mvp]" wrote:
Bonjour.
il faut compléter tes fonctions.
Dim MaBD As DAO.Database, MaRequête As DAO.QueryDef
Dim ListeReq As DAO.Recordset
dans les références, alt+F11, outils/références
cocher la référence microsoft DAO3.6 et la placer avant toutes les
références éventuelles à ADO (Activex Data Objects)
quant à >ReqSql = ListeReq.SQL & Alaligne() <<<<<<<<<<<<<<Ereur
Alaligne est quel type de fonction ? qui se trouve où ?
ListeReq étant un recordset tu ne peux pas utiliser la propriété SQL. Il
faudrait que ListeReq soit un QueryDef pour récupérer le SQL.
voici quelques lignes de réflexion.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" <Guy@discussions.microsoft.com> a écrit dans le message de news:
B37E6147-C06B-4CB6-89EF-0C39FB027563@microsoft.com...
J'ai ce code dans ma dase de donnée.
j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci
Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef
Dim ListeReq As Recordset
Dim ReqSql As String, Critère As String
Dim F As Forms
Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres]
Premier = True
Set MaBD = CurrentDb
Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête.
Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
End If
ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")"
End If
If Not (IsNull(F![ch Commercial])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] &
")"
End If
If Not (IsNull(F![ch DateMin])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin],
"m/d/yyyy") & "#)"
End If
If Not (IsNull(F![ch DateMax])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax],
"m/d/yyyy") & "#)"
End If
' MsgBox premier
If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
oui c fai , si je met reqsql en querydef ca marche mais c une erreur a la ligne du dessu car .findfirst n'est alors plus reconu (mais ca marche avec recordset). y a t'il une fonction equivalente a findfirst en utilisant un querydef?
mecri
"Raymond [mvp]" wrote:
Bonjour.
il faut compléter tes fonctions.
Dim MaBD As DAO.Database, MaRequête As DAO.QueryDef Dim ListeReq As DAO.Recordset
dans les références, alt+F11, outils/références cocher la référence microsoft DAO3.6 et la placer avant toutes les références éventuelles à ADO (Activex Data Objects)
quant à >ReqSql = ListeReq.SQL & Alaligne() <<<<<<<<<<<<<<Ereur Alaligne est quel type de fonction ? qui se trouve où ? ListeReq étant un recordset tu ne peux pas utiliser la propriété SQL. Il faudrait que ListeReq soit un QueryDef pour récupérer le SQL.
voici quelques lignes de réflexion. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" a écrit dans le message de news:
J'ai ce code dans ma dase de donnée. j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef Dim ListeReq As Recordset Dim ReqSql As String, Critère As String Dim F As Forms Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres] Premier = True Set MaBD = CurrentDb Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False End If ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")" End If
If Not (IsNull(F![ch Commercial])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")" End If
If Not (IsNull(F![ch DateMin])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin], "m/d/yyyy") & "#)" End If
If Not (IsNull(F![ch DateMax])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax], "m/d/yyyy") & "#)" End If ' MsgBox premier If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
ErreurRequete_LH2_N1: MaBD.DeleteQueryDef "RLH2_Niv1" Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Resume Next
End Sub
Raymond [mvp]
Il te faut définir les deux c'est plus simple, une querydef pour les structures et un recordset pour le traitement des données. Ou faire un openrecordset sur le querydef. tu trouveras tous les exemples sur la page : http://officesystem.access.free.fr/vba/execution_standard.htm
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" a écrit dans le message de news:
oui c fai , si je met reqsql en querydef ca marche mais c une erreur a la ligne du dessu car .findfirst n'est alors plus reconu (mais ca marche avec recordset). y a t'il une fonction equivalente a findfirst en utilisant un querydef?
mecri
"Raymond [mvp]" wrote:
Bonjour.
il faut compléter tes fonctions.
Dim MaBD As DAO.Database, MaRequête As DAO.QueryDef Dim ListeReq As DAO.Recordset
dans les références, alt+F11, outils/références cocher la référence microsoft DAO3.6 et la placer avant toutes les références éventuelles à ADO (Activex Data Objects)
quant à >ReqSql = ListeReq.SQL & Alaligne() <<<<<<<<<<<<<<Ereur Alaligne est quel type de fonction ? qui se trouve où ? ListeReq étant un recordset tu ne peux pas utiliser la propriété SQL. Il faudrait que ListeReq soit un QueryDef pour récupérer le SQL.
voici quelques lignes de réflexion. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" a écrit dans le message de news:
J'ai ce code dans ma dase de donnée. j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef Dim ListeReq As Recordset Dim ReqSql As String, Critère As String Dim F As Forms Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres] Premier = True Set MaBD = CurrentDb Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False End If ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")" End If
If Not (IsNull(F![ch Commercial])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")" End If
If Not (IsNull(F![ch DateMin])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin], "m/d/yyyy") & "#)" End If
If Not (IsNull(F![ch DateMax])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax], "m/d/yyyy") & "#)" End If ' MsgBox premier If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
ErreurRequete_LH2_N1: MaBD.DeleteQueryDef "RLH2_Niv1" Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Resume Next
End Sub
Il te faut définir les deux c'est plus simple, une querydef pour les
structures et un recordset pour le traitement des données. Ou faire un
openrecordset sur le querydef. tu trouveras tous les exemples sur la page :
http://officesystem.access.free.fr/vba/execution_standard.htm
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" <Guy@discussions.microsoft.com> a écrit dans le message de news:
AFEF16A7-4D22-401A-B815-84526D205C9B@microsoft.com...
oui c fai , si je met reqsql en querydef ca marche mais c une erreur a la
ligne du dessu car .findfirst n'est alors plus reconu (mais ca marche
avec
recordset). y a t'il une fonction equivalente a findfirst en utilisant un
querydef?
mecri
"Raymond [mvp]" wrote:
Bonjour.
il faut compléter tes fonctions.
Dim MaBD As DAO.Database, MaRequête As DAO.QueryDef
Dim ListeReq As DAO.Recordset
dans les références, alt+F11, outils/références
cocher la référence microsoft DAO3.6 et la placer avant toutes les
références éventuelles à ADO (Activex Data Objects)
quant à >ReqSql = ListeReq.SQL & Alaligne() <<<<<<<<<<<<<<Ereur
Alaligne est quel type de fonction ? qui se trouve où ?
ListeReq étant un recordset tu ne peux pas utiliser la propriété SQL. Il
faudrait que ListeReq soit un QueryDef pour récupérer le SQL.
voici quelques lignes de réflexion.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" <Guy@discussions.microsoft.com> a écrit dans le message de news:
B37E6147-C06B-4CB6-89EF-0C39FB027563@microsoft.com...
J'ai ce code dans ma dase de donnée.
j'ai une erreur o niveau du ".sql" membre de methode ou donné
introuvable
si quelqu'un sai comme faire reconetre .sql par access merci
Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef
Dim ListeReq As Recordset
Dim ReqSql As String, Critère As String
Dim F As Forms
Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres]
Premier = True
Set MaBD = CurrentDb
Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la
requête.
Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
End If
ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")"
End If
If Not (IsNull(F![ch Commercial])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial]
&
")"
End If
If Not (IsNull(F![ch DateMin])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin],
"m/d/yyyy") & "#)"
End If
If Not (IsNull(F![ch DateMax])) Then
If Premier Then
ReqSql = ReqSql & "WHERE ("
Premier = False
Else
ReqSql = ReqSql & " AND"
End If
ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax],
"m/d/yyyy") & "#)"
End If
' MsgBox premier
If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()
Il te faut définir les deux c'est plus simple, une querydef pour les structures et un recordset pour le traitement des données. Ou faire un openrecordset sur le querydef. tu trouveras tous les exemples sur la page : http://officesystem.access.free.fr/vba/execution_standard.htm
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" a écrit dans le message de news:
oui c fai , si je met reqsql en querydef ca marche mais c une erreur a la ligne du dessu car .findfirst n'est alors plus reconu (mais ca marche avec recordset). y a t'il une fonction equivalente a findfirst en utilisant un querydef?
mecri
"Raymond [mvp]" wrote:
Bonjour.
il faut compléter tes fonctions.
Dim MaBD As DAO.Database, MaRequête As DAO.QueryDef Dim ListeReq As DAO.Recordset
dans les références, alt+F11, outils/références cocher la référence microsoft DAO3.6 et la placer avant toutes les références éventuelles à ADO (Activex Data Objects)
quant à >ReqSql = ListeReq.SQL & Alaligne() <<<<<<<<<<<<<<Ereur Alaligne est quel type de fonction ? qui se trouve où ? ListeReq étant un recordset tu ne peux pas utiliser la propriété SQL. Il faudrait que ListeReq soit un QueryDef pour récupérer le SQL.
voici quelques lignes de réflexion. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Guy" a écrit dans le message de news:
J'ai ce code dans ma dase de donnée. j'ai une erreur o niveau du ".sql" membre de methode ou donné introuvable
si quelqu'un sai comme faire reconetre .sql par access merci Merci
Sub Requete_LH2_N1()
Dim MaBD As Database, MaRequête As QueryDef Dim ListeReq As Recordset Dim ReqSql As String, Critère As String Dim F As Forms Dim Premier
On Error GoTo ErreurRequete_LH2_N1
Set F = Forms![F_ModifOffres] Premier = True Set MaBD = CurrentDb Set MaRequête = MaBD.CreateQueryDef("RLH2_Niv1") ' Crée la requête. Set ListeReq = MaBD.OpenRecordset("T_Requetes", dbOpenSnapshot)
If Not (IsNull(F![ch client])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False End If ReqSql = ReqSql & "(TO_Offres.[N°Client]=" & F![ch client] & ")" End If
If Not (IsNull(F![ch Commercial])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[N°Commercial]=" & F![ch Commercial] & ")" End If
If Not (IsNull(F![ch DateMin])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]>=#" & Format(F![ch DateMin], "m/d/yyyy") & "#)" End If
If Not (IsNull(F![ch DateMax])) Then If Premier Then ReqSql = ReqSql & "WHERE (" Premier = False Else ReqSql = ReqSql & " AND" End If ReqSql = ReqSql & " (TO_Offres.[Date]<=#" & Format(F![ch DateMax], "m/d/yyyy") & "#)" End If ' MsgBox premier If Not (Premier) Then ReqSql = ReqSql & ")" & Alaligne()