Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/04/2011, 17h32   #1
Invité de passage
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 4
Points : 4
Par défaut Modification de requete pas prise en compte

Bonjour à tous,

je suis confonté à un problême un peu bizarre.
J'ai un formulaire frmCreatePipingClass qui contient un sous-formulaire sfrmPipingClass en mode continue, me permettant d'affecter plusieurs enregsitrements au formulaire principal grâce à un bouton Select.
Lorsque j'appuie sur Select j'effectue la procédure suivante me permettant d'afficher une liste en enlevant les enregsitrements deja présent dans mon sous-formulaire (en ajoutant de nouvelles exclusions)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    Dim stDocName As String
    Dim stLinkCriteria As String
    Dim rcs As DAO.Recordset
    Dim qdf As DAO.QueryDef
    Dim compare1 As String
    Dim compare2 As String
    Dim strSQL As String
    Dim db As DAO.Database
 
    Set db = CurrentDb
    Set qdf = db.QueryDefs("QryMatPCDropDown")
    strSQL = qdf.SQL
    compare1 = "((tlkpMaterialStd.Validated)=Yes)"
 
    Set rcs = Me.RecordsetClone
    rcs.MoveFirst
    Do While Not (rcs.EOF)
        compare2 = compare1 & " AND ((tlkpMaterialStd.MaterialStdID)<>" & rcs.Fields(1).Value & ")"
        strSQL = Replace(strSQL, compare1, compare2)
        compare1 = compare2
        rcs.MoveNext
    Loop
    rcs.Close
    Set rcs = Nothing
 
    qdf.SQL = strSQL
    stDocName = "frmSelectMaterialPipingClass"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
lorsque je selectionne un élément de la liste pour le transferer dans mon sous formulaire je lui réinialise ma requete avec le code suivant

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Form_Close()
    Dim strSQL As String
    Dim db As DAO.Database
    Dim qdf As QueryDef
    Dim strSQL1 As String
 
    Set db = CurrentDb
    Set qdf = db.QueryDefs("QryMatPCDropDown")
    strSQL1 = "SELECT tlkpMaterialStd.MaterialStdID, tlkpMaterialStd.SegmentDesc, tblEnd1.EndID, tblName.NameID, tblSize1.SizeID, TblBOFDiscipline.BOFDisciplineID, tlkpMaterialStd.Validated" & _
            " FROM tblSize1 RIGHT JOIN (tblName RIGHT JOIN (tblEnd1 RIGHT JOIN (TblBOFDiscipline RIGHT JOIN tlkpMaterialStd ON TblBOFDiscipline.BOFDisciplineID=tlkpMaterialStd.Discipline) ON tblEnd1.EndID=tlkpMaterialStd.End1) ON tblName.NameID=tlkpMaterialStd.Name) ON tblSize1.SizeID=tlkpMaterialStd.Dimension1" & _
            " WHERE (((tlkpMaterialStd.Validated) = Yes))" & _
            " ORDER BY tlkpMaterialStd.SegmentDesc;"
 
    qdf.SQL = strSQL1
    qdf.Close
    End Sub
Jusque la tout va bien, sauf lorsque je veux relancer la procédure pour ajouter un nouvel élément de la liste, il ne rajoute plus aucune exclusion en fait il ne modifie pas la requete il l'a laisse en état réinitialisé. sauf lorsque j'apporte une modifcation qqconque à mon event form_Close

Je ne comprends pas pourquoi si quelqun a une solution pour qu'il me prenne en compte à chaque fois ma requête je suis preneur
Merci beaucoup
Pierre-alain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 09h14   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Bonjour,

C'est un petit bug connu.

Dans le code tu Détruis la requete, tu fais un refresh du Querydefs puis tu la recrées.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 09h29   #3
Invité de passage
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 4
Points : 4
Merci de ta réponse loufab je vais tester ça immédiatement!
Pierre-alain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 14h12   #4
Invité de passage
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 4
Points : 4
c'est bon ca marceh nickel merci beaucoup!
Pierre-alain est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h31.


 
 
 
 
Partenaires

Hébergement Web