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/03/2011, 14h06   #1
Membre du Club
 
Homme Yves
Inscription : novembre 2006
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Yves
Localisation : Belgique

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2006
Messages : 114
Points : 50
Points : 50
Par défaut comportement différent suivant les pc - liste paramétrée

Bonjour,

En ce beau jour de printemps, je viens vous faire part d'un comportement bizarre que j'observe avec une liste paramétrée.
C'est une liste qui doit afficher le résultat d'une requète croisée dynamique (Id, Nom du produit et total du produit restant) pour un localisation donnée.
La localisation est choisie par ailleurs par l'utilisateur via une liste déroulante (cmbLocation) sur l'évènnement "Before Update".

Voici ma requète croisée qui est la source de la liste "lstItematLocation"
Code :
1
2
3
4
5
6
7
8
9
 
PARAMETERS [cmbLocation] Long;
TRANSFORM Sum([UnitsReceived])-Sum([UnitsSold])+Sum([UnitsMoved]) AS Total
SELECT view1.ProductID, view1.ProductName
FROM Location INNER JOIN view1 ON Location.IdLocation = view1.IDFinalLocation
WHERE (((view1.IDFinalLocation)=[cmbLocation]))
GROUP BY view1.ProductID, view1.ProductName
ORDER BY view1.ProductName
PIVOT Location.Location;
Comme vous le voyez j'ai déclaré la liste déroulante en paramètre.

Quand l'utilisateur choisit la localisation, je lance ce code pour raffraichir la liste qui affichera la requête croisée:

Code :
1
2
3
4
5
6
7
Private Sub cmbLocation_BeforeUpdate(Cancel As Integer)
 
    Me.lbl71.Caption = "Transfert from " & Me.cmbLocation.Column(1)
    Me.lstItematLocation.Requery
    Me.Text69.Value = ""
    Me.Text69.Requery
End Sub
Tout fonctionne parfaitement bien sur mon PC de bureau (WinXP).
MAIS...
Quand je rentre chez moi (Win7) et que je fais tourner la base de donnée, à l'ouverture du formulaire qui contient ma fameuse liste alimentée par la requète croisée, Access m'affiche une petite boite de dialogue pour me demander d'introduire la valeur de cmbLocation! Si je ne mets rien et clique sur OK (ou que je clique sur annuler), tout se poursuit sans aucun problème. (ouf!) Mais c'est pas beau, vous en conviendrez.

Auriez-vous une idée de la raison de ce comportement "étrange"??

J'ai essayer de trouver une autre méthode pour éviter cela (via le VBA) mais ca marche pas trop pour le moment.

N'auriez-vous une idée sur comment je peux faire pour empécher cet affichage inutile (pas très utile pour l'utilisateur) sans passer par trop de VBA?

Voili, voilà
Merci pour vos avis éclairés
Dermochelys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 20h50   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
Je mettrai [Forms]![NomTonFormDeSaisie]![cmbLocation] à la place de seulement [cmbLocation].

Il se peut que tu doives aussi enlever PARAMETERS [cmbLocation] Long; de ta requête.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 11h41   #3
Membre du Club
 
Homme Yves
Inscription : novembre 2006
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Yves
Localisation : Belgique

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2006
Messages : 114
Points : 50
Points : 50
Bonjour Marot_r,

Merci pour ta réponse mais j'ai déjà essayer cela (avec ou sans la chaine [...]![...]![...] en paramètre) mais ça me renvoie le message d'erreur sur les 2 pc:
"The Microsoft Jet Database does not recognize 'Forms!TransfertProduct!cmbLocation' as a valid field name or expression"

Ce qui n'est d'ailleurs pas logique je trouve.

Une autre idée?

Merci et belle journée!
Dermochelys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 21h26   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
Je sais quelle marche sur XP mais peux-tu essayer de remplacer le [Forms]... par une constante (ex : 3) et voir si ta requête fonctionne sur W7 ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h04   #5
Membre du Club
 
Homme Yves
Inscription : novembre 2006
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Yves
Localisation : Belgique

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2006
Messages : 114
Points : 50
Points : 50
Bonjour,

Après une crève bien sentie, et un essai, je peux dire qu'avec une constante, ça marche sous Win7.
Donc ça devrait aussi marché en passant une variable....

Une idée??

Bonne journée!
Dermochelys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 18h10   #6
Membre Expert
 
Avatar de keita
 
Homme
Inscription : novembre 2002
Messages : 879
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations forums :
Inscription : novembre 2002
Messages : 879
Points : 1 015
Points : 1 015
Envoyer un message via MSN à keita
bonjour
Je suis confronté à ce pb à peu de chose près.
Et chose curieuse (et bizarre) que tu peux peut être essayer:
ne change rien à ton code d'origine et sous xp compile en .mde puis essaie d'ouvrir sous win7. chez moi ça passe comme ça;je ne me l'explique pas.

@+
keita est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 13h35   #7
Membre du Club
 
Homme Yves
Inscription : novembre 2006
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Yves
Localisation : Belgique

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2006
Messages : 114
Points : 50
Points : 50
Bonjour Keita,

Content de voir que je ne suis pas le seul. Je commencais à me dire que la réalité se délitait (comme dans le dernier livre de Greg Bear (la ville au bout du temp)
Bon ceci dit, ton conseil fonctionne....
Donc je classe le post comme résolu sans réellement savoir pourquoi ça donne ça.
Merci à toi!
Dermochelys 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 20h27.


 
 
 
 
Partenaires

Hébergement Web