Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 14/12/2011, 13h50   #1
Candidat au titre de Membre du Club
 
Homme Olivier
Administrateur de base de données
Inscription : août 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 21
Points : 11
Points : 11
Par défaut Rechercher une valeur dans une requête

Bonjour,

Je voudrais rechercher une valeur dans une requête.

J'ai une table qui contient toutes les 3 minutes la température de plusieurs fours (en gros, Date-Heure, Température four 1, Température four 2, etc...).

Dans un formulaire, j'affiche un graphique avec la courbe de température après avoir borner les dates et heures et sélectionner le four.

Je créé une requête avec les mêmes bornes sur les dates et seulement les températures du four qui m'intéresse.

Je cherche dans cette requête à déterminer à quel moment mon four a atteint une température mini.

J'ai essayé ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
Dim Db As dao.Database
Dim Rst As dao.Recordset
Dim NomRequete As String
 
NomRequete = "r_courbe_tth_valeurs"
Set Db = CurrentDb
Set Rst = Db.OpenRecordset(NomRequete)
 
Rst.FindFirst Condition     'par exemple temperature_four1 = '850'
 
...
J'obtiens une erreur 3061 Trop peu de paramètres. 2 attendu.
Quand je clique sur débogage, j'arrive sur la ligne Set Rst = Db.OpenRecordset(NomRequete)

Je ne maîtrise encore pas trop DAO mais je me suis aidé avec quelques exemples du forum.
Où est l'erreur ?

Y a t'il une autre solution sans passer par le recordset ?

Merci d'avance
forges est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 15h07   #2
Nom
Membre habitué
 
Inscription : octobre 2005
Messages : 528
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 528
Points : 143
Points : 143
Salut
As tu essayé la requête r_courbe_tth_valeurs manuellement ? Autrement dit, tu va sur la requête et tu l'exécutes
Si oui as tu le même message d'erreur ?
Si non, peux tu basculer en mode Affichage sql et nous dire si tu as des paramètres ?
__________________
Le savoir est une arme alors soyons armés
Nom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 17h08   #3
Candidat au titre de Membre du Club
 
Homme Olivier
Administrateur de base de données
Inscription : août 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 21
Points : 11
Points : 11
Salut,

Oui la requête fonctionne manuellement, elle varie en fonction des options de mon formulaire mais je peux l'exécuter sans problème.

Et oui elle a des paramètres.

Code :
1
2
3
4
5
 
SELECT Left(Right([tth_date],10) & " - " & [tth_heure],18) AS [Date / Heure], Switch([t_courbe_tth.tth_courbe1_tc]='HC',0,[t_courbe_tth.tth_courbe1_tc]<>'HC',[t_courbe_tth.tth_courbe1_tc]) AS [FG008 - Thermocouple], Switch([t_courbe_tth.tth_courbe1_cons]='HC',0,[t_courbe_tth.tth_courbe1_cons]<>'HC',[t_courbe_tth.tth_courbe1_cons]) AS [FG008 - Consigne], 'etc.. pour chaque four
FROM t_courbe_tth
WHERE (((CDate(Right([tth_date],10) & " " & [tth_heure])) Between CDate([forms]![f_courbes_tth]![tth_etendue_debut]) And CDate([forms]![f_courbes_tth]![tth_etendue_fin])))
ORDER BY CDate(Right([tth_date],10) & " " & [tth_heure]);
La source de la table est un fichier txt qui est généré chaque jour et que j'importe en sélectionnant les dates dans mon formulaire si ça peut aider

Avec cette requête je remplace les valeurs "HC" par des 0 et je borne sur une période donnée.
forges est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 06h25   #4
Candidat au titre de Membre du Club
 
Homme Olivier
Administrateur de base de données
Inscription : août 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 21
Points : 11
Points : 11
J'ai lu dans le tuto sur la définition et manipulation de données avec DAO qu'on ne pouvait pas ouvrir de Recordset sur une requête paramétrée :

Citation:
Dans le cas d'une requete paramétrée, vous devez affecter les paramètres avant d'ouvrir le recordset. Il est impossible d'ouvrir un recordset sur une requete qui demande à l'utisateur de saisir des critères via une boite de dialogue (type inputbox). Une erreur d'éxecution ( X arguments attendus serait alors levée).
Comment puis-je affecter les paramètres (dans mon cas, c'est une limite entre deux dates/heures) avant d'ouvrir mon recordet, sachant que j'execute le code dans un formulaire qui contient les champs qui servent de paramètres ?
forges est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h51.


 
 
 
 
Partenaires

Hébergement Web