Probleme pour faire un lien entre une requete et un formulaire

Signaler
Messages postés
14
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
12 avril 2010
-
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
-
Donc voila mon probleme, j'ai un formulaire avec un champ de saisie: N°Vehicule. Sur se meme formulaire j'ai un bouton qui quand on clic dessue execute une requète:

SELECT salarie.Nom, salarie.Prénom, Tracteur.N°interne, Sum(FairePlein.Litrage) AS nbLitre
FROM Tracteur INNER JOIN (salarie INNER JOIN FairePlein ON salarie.Id°salarie FairePlein.N°con) ON Tracteur.N°informatique FairePlein.N°veh
WHERE Tracteur.N°interne= ....................
GROUP BY salarie.Nom, salarie.Prénom, Tracteur.N°interne, FairePlein.Date_plein


Donc a la place des points dans le WHERE j'aimerai que ma requete recupere le numero du vehicule saisie dans le champ.

Se petit formulaire est juste un essai, au final sa serai pour realisez des statistique.
Une fois se probleme resolu, j'aimerai extraire le resulat de la requete sur un fichier Excel et la non plus je ne sai comment faire.

Merci de bien vouloir m'aider, dites moi si vous comprenez mal mon problème

14 réponses

Messages postés
12
Date d'inscription
samedi 23 avril 2005
Statut
Membre
Dernière intervention
17 mars 2010

Pour le remplacement de tes "...."
"WHERE Tracteur.N°interne = " & nomDuTextBox.Text 'En supposant qu'il s'agisse de chiffres uniquement



Si jamais tu veux vérifier qu'il s'agit vraiment d'un chiffre :

If IsNumeric(nomDuTextBox.text) Then
' Ta requête comme précédemment
'...
End If
Messages postés
14
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
12 avril 2010

tous d'abords je te remercie pour ton aide.
& nomDuTextBox.Text
Pour ma part le & n'est pas pris en compte, il me met une erreur.
Ensuite je suppose que je doit remplacer nomDuTextBox par le nom de mon champ de saisie mais a quoi correspond le .TEXT
Messages postés
14
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
12 avril 2010

Sinon connait tu le format des dates pour les requete sur access car j'ai essaiyer ainsi :

SELECT salarie.Nom, salarie.Prénom, Tracteur.N°interne, Sum(FairePlein.Litrage) AS nbLitre
FROM Tracteur INNER JOIN (salarie INNER JOIN FairePlein ON salarie.Id°salarie FairePlein.N°con) ON Tracteur.N°informatique FairePlein.N°veh
where FairePlein.date_plein=01032010 (ou 01/03/2010 ou 20100301 ou entourer de ' ou de ")
GROUP BY salarie.Nom, salarie.Prénom, Tracteur.N°interne

De toutes les possibilité que j'ai essayer aucune ne fonctionne, aucun resultat n'est retourné alors qu'il devrait y en avoir.
Messages postés
12
Date d'inscription
samedi 23 avril 2005
Statut
Membre
Dernière intervention
17 mars 2010

Pour l'opérateur "&", normalement il sert à concaténer des chaînes de caractères (en VB.Net). Mais bon, je suppose que tu peux utiliser le "+" à la place.

Pour la date en Access, la date doit normalement être entourée de "#" : #01/02/2010# par exemple.
Messages postés
14
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
12 avril 2010

ok pour le format de la date mais je n'y arrive tjs pas avec "& nomDuTextBox.Text". Pourrai tu me detailler a quoi correpond nomDuTextBox et Text
Messages postés
12
Date d'inscription
samedi 23 avril 2005
Statut
Membre
Dernière intervention
17 mars 2010

nomDuTextBox correspond au nom de ton champs de saisie, le .Text est une propriété qui contient les valeurs entrées.
Messages postés
14
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
12 avril 2010

Donc en sachant que le nom de mon champ de saisie est: N°Vehicule. J'ai reessayer avec la requete suivante:
SELECT salarie.Nom, salarie.Prénom, Tracteur.N°interne, Sum(FairePlein.Litrage) AS nbLitre
FROM Tracteur INNER JOIN (salarie INNER JOIN FairePlein ON salarie.Id°salarie FairePlein.N°con) ON Tracteur.N°informatique FairePlein.N°veh
WHERE Tracteur.N°interne= N°Vehicule.Text
GROUP BY salarie.Nom, salarie.Prénom, Tracteur.N°interne, FairePlein.Date_plein

mais cele ne fonctionne pas du tous, quand je clic sur le bouton, au lieu d'excecuter le requete en prenant en compte se que j'ai ecrit dans mon champ de saisie, il ouvre une boite de dialogue nomme N°Vehicule.Texte(ce qui correspond a N°Vehicule.Text enfin je pence)
pour que je saisisse moi meme le numero du vehicule, cela pourait etre une bonne solution dans certain cas, mais moi je veu qu'il prennent en compte se que j'ecrit dans le champ de saisie
Messages postés
12
Date d'inscription
samedi 23 avril 2005
Statut
Membre
Dernière intervention
17 mars 2010

Changes le nom de ton champs de saisie, il est fortement déconseillé d'utiliser des caractères spéciaux tels que éùè°àç etc quand tu nommes quelque chose (et ce pour presque tous les langages).

Ton champs de saisie devrait porter un autre nom du genre numeroVehicule, bien évidemment tu dois modifier ta requête.

Ne pas oublier que ta requête est du SQL et pas du VB, donc n'oublies pas que numeroVehicule.Text correspond à du vb et non à du Sql
Messages postés
14
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
12 avril 2010

merci de tes renseignemant, mais est il possible de mettre du VB dans une requete, si non comment faire.
Messages postés
12
Date d'inscription
samedi 23 avril 2005
Statut
Membre
Dernière intervention
17 mars 2010

Il est possible d'utiliser des valeurs provenant du vb dans une requête :
' par exemple :
Dim str as string "select champs1 from table1 where id_champs1 " & Textbox1.text 

Où Textbox1.text est un textbox VB dans lequel la valeur est récupérée par ".text"

Pour ça qu'il faut éviter les noms du genre N°truc.text ...

Toujours se dire qu'il faut écrire les noms sans accents ou caractères spéciaux autres que - et _
Messages postés
14
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
12 avril 2010

Le probleme, comme tu le marque, ce code est du VB donc je ne peu pas ecrire ce code dans une requete. Quand je crée une requete et ecrit ce code, il me met l'erreur suivant: Instruction SQl non valide: DELETE, INSERT, PROCEDURE, SELECT ou UPDATE attendu. Etant donner que c'est du SQL il ne comprend pas le Dim qui est du VB
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
2
Bonjour, tu utilise quoi pour coder ton formulaire : visual Studio 2003, Visual Studio 2005, Macro Excel... ou autres???
Messages postés
14
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
12 avril 2010

rien de tous sa, j'utilise Microcoft Access, je créai une requete SQl que j'associe a un bouton. et je veux que ma requete prenne en compte ce qui est ecrit dans un champ de saisie ou une combo.
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
2
Ok, ton champ de saisie a un nom, c'est ce nom que tu dois pouvoir mettre dans ta requete, je ne connais pas Microsoft Access, mais cela doit être possible d'insérer la valeur de ton champs de saisie dans ta requete...