Probleme pour faire un lien entre une requete et un formulaire

dynozo Messages postés 14 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 12 avril 2010 - 3 mars 2010 à 10:57
 Utilisateur anonyme - 19 mars 2010 à 15:11
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

EznehYet Messages postés 12 Date d'inscription samedi 23 avril 2005 Statut Membre Dernière intervention 17 mars 2010
3 mars 2010 à 14:56
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
0
dynozo Messages postés 14 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 12 avril 2010
3 mars 2010 à 15:53
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
0
dynozo Messages postés 14 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 12 avril 2010
3 mars 2010 à 16:07
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.
0
EznehYet Messages postés 12 Date d'inscription samedi 23 avril 2005 Statut Membre Dernière intervention 17 mars 2010
3 mars 2010 à 18:45
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dynozo Messages postés 14 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 12 avril 2010
4 mars 2010 à 09:07
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
0
EznehYet Messages postés 12 Date d'inscription samedi 23 avril 2005 Statut Membre Dernière intervention 17 mars 2010
4 mars 2010 à 11:04
nomDuTextBox correspond au nom de ton champs de saisie, le .Text est une propriété qui contient les valeurs entrées.
0
dynozo Messages postés 14 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 12 avril 2010
16 mars 2010 à 17:04
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
0
EznehYet Messages postés 12 Date d'inscription samedi 23 avril 2005 Statut Membre Dernière intervention 17 mars 2010
16 mars 2010 à 20:54
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
0
dynozo Messages postés 14 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 12 avril 2010
17 mars 2010 à 08:25
merci de tes renseignemant, mais est il possible de mettre du VB dans une requete, si non comment faire.
0
EznehYet Messages postés 12 Date d'inscription samedi 23 avril 2005 Statut Membre Dernière intervention 17 mars 2010
17 mars 2010 à 20:27
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 _
0
dynozo Messages postés 14 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 12 avril 2010
18 mars 2010 à 09:58
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
0
Utilisateur anonyme
19 mars 2010 à 12:17
Bonjour, tu utilise quoi pour coder ton formulaire : visual Studio 2003, Visual Studio 2005, Macro Excel... ou autres???
0
dynozo Messages postés 14 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 12 avril 2010
19 mars 2010 à 14:45
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.
0
Utilisateur anonyme
19 mars 2010 à 15:11
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...
0
Rejoignez-nous