Aide la plus urgente possible

Signaler
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009
-
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009
-
Bonjour a tous,
 je suis novice en vba mais je suis actuellement en stage et je narrive pas a trouver l'eereur de mon code je vous explique deja ma base :

g une table client et une autre responsable d'achat. J'ai créé un formulaire demande de transport qui apres avoir choisie dans une liste deroulante le client devrait afficher automatiquement les infomations de celui ci : tel, email, fax, et une liste deroulante des responsables d'achat le consernant(car y peut en avoir plusieurs).

Voici le peu de code que g rechercher un peu partout sur les forums qui ne ma pas trop aider..svp il me faut de l'aide la je bloque vraiment.



Private Sub Commande51_Click()



Dim db As Database
Dim rst As Recordset
Dim sql As String



'ouverture de la base
Set db = CurrentDb



' tu fabriques ta requete : Me.numéro_client c'est le résultat de ta liste deroulantesql "Select Clients.raison_sociale, Clients.Telephone, Clients.Fax , Clients.Email,[Responsable d'achat].Nom_Prenom_RA  FROM Clients , [Responsable d'achat] Where Clients.N°_client [Responsable d'achat].N°_client And Clients.raison_sociale='" & "Me.client_liste" & "';"



' Ouverture du recordset
Set rst = db.OpenRecordset(sql, dbOpenDynaset)





'ensuite tu découpe ton recordset et affecte les valeurs aux champs du formulaire
Forms![formulaire2].tel = rst.Fields("Telephone")
Forms![formulaire2].fax = rst.Fields("Fax")
Forms![formulaire2].email = rst.Fields("Email")
Forms![formulaire2].liste_contact = rst.Fields("Nom_Prenom_RA")
 




 



End Sub




Merci d'avance pour les réponses.


 


 

20 réponses

Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
bonjour

Je suggère à la fin de la requête d'elever les cotes autour de Me.client_liste
Messages postés
267
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 novembre 2013
1
Bonjour,

Alors plusieurs remarques :
1 --> Crois tu que le titre que tu as mis est judicieux. Si nous trouvons la solution, comment avec un titre pareil les futurs personnes ayant le "même" problème peuvent à l'aide des anciens posts du forum trouver la solution. Non ne reposte pas c'est pas la peine.
2 --> Si tu as lu le règlement, tu sais que le style SMS n'est pas recommandé, c'est une forme de respect.
3 --> As-tu testé ta requête seule? Si oui est-ce que tes résultats sont en correlation avec ce que tu veux faire?

Bon courage !

HellAngel777
<hr />
Les machines ne font pas d'erreurs
Heureusement nous sommes humains
Messages postés
267
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 novembre 2013
1
Re:
sql "Select Clients.raison_sociale, Clients.Telephone, Clients.Fax , Clients.Email,[Responsable d'achat].Nom_Prenom_RA  FROM Clients , [Responsable d'achat] Where Clients.N°_client [Responsable d'achat].N°_client And Clients.raison_sociale='" & Me.client_liste & "';"

Me.client_liste --> Je suppose que c'est ce que tu récupère de ton formulaire. Pourquoi tu le mets entre guillemets? Et deplus il me semble que la syntaxe n'est pas bonne.

HellAngel777
<hr />
Les machines ne font pas d'erreurs
Heureusement nous sommes humains
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009

deja merci pour les reponses, je suis desole pour le language sms une mauvaise habitude , ensuite pour le titre j'y ai pas trop reflechie c la premiere fois que je post une qustion sur un forum..

Bref j'ai enlevé les cotes et l'erreur a changer maintenant c'est erreur d'execution "3061"trop peu de parametres 1 attendu ca veut dire quoi??

Pour le test de ma requete je fais comment ??
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009

Et tu peux me dire pourquoi ma syntaxe et pas bonne je voit pas moi ou ca bloque dans la requete !!!
Messages postés
267
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 novembre 2013
1
Fait un copier coller de ta requete et dans access (je suppose que tu travailles sous access), dans la rubrique requete tu ouvres en mode création en sql.
Tu colles ta requete et tu l'adapte pour le langage SQL biensur. Tu rentres un valeur bateau pour ton transport (?) afin de vérifier ta requete.
Si tu obtient un résultat et en l'occurence celui que tu attends, tu peux reprendre ta requete.
Sauf que dans ton code tu vas modifier le paramètre transport.
C'est à dire ce qui est selectionné dans ta liste.

HellAngel777
<hr />
Les machines ne font pas d'erreurs
Heureusement nous sommes humains
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009

ca y'est j'ai essayé et elle marche elle me donne exactement ce que je voulais..

Donc ca doit venir de l'affection des valeurs c'est peut etre pas la bonne synthaxe non ??
Messages postés
267
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 novembre 2013
1
Oui c'est la manière dont tu affectes la variable c'est à dire la valeur de ton transporteur

HellAngel777
<hr />
Les machines ne font pas d'erreurs
Heureusement nous sommes humains
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009

J'ai pas saisie ce que je devait changer du coup..ou au moins ou je doit chercher mon erreur.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
salut à tous,

1. comme indiqué, pas de quote devant LIST, sinon c'est la chaine LIST et non son contenu
2. un objet / contrôle, on met la propriété qui va bien, donc .TEXT
3. jamais de caractères farfelus dans des noms de tables et de champs
sinon on doit en effet mettre des crochets. et avec ou sans crochets, dans l'idéal on ne met pas d'espace ni de °
ce qui donne en attendant :


sql
= "SELECT Clients.raison_sociale, Clients.Telephone, Clients.Fax,
Clients.Email,[Responsable d'achat].Nom_Prenom_RA  FROM Clients,
[Responsable d'achat] WHERE Clients.[N°_client] = [Responsable
d'achat].[N°_client] AND Clients.raison_sociale = '" &
Me.client_liste.Text & "';"






conseil :
dans la base remplace
"Clients" par "client"
"Responsable d'achat" par "responsable_achats"
"N°_client" par "Num_client"

ps : topic déplacé de VB.NET vers VBA
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009

ok merci tout ce que tu ma dit a ete fait mais l'erreur est a ce niveau la : Erreur d'execution '-2147352567(80020009)' : valeur non valide pour ce champs.

Forms![formulaire2].tel = rst.Fields("telephone")
Forms![formulaire2].fax = rst.Fields("Fax")
Forms![formulaire2].email = rst.Fields("Email")
Forms![formulaire2].liste_contact = rst.Fields("Nom_Prenom_RA")

Ca fait deux semaines que je suis sur cette erreur sans pouvoir trouver une solution .
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
que te retourne le RST
(fait un msgbox sur chaque ligne)

tes zones tel fax email sont bien des textboxes?
liste_contact est une combo? une listbox?
   combo => lecture seule?
   listbox =>
liste_contact.additem rst.Fields("Nom_Prenom_RA").value




l'erreur est sur une seule ligne, laquelle?
lors de l'erreur tu as un bouton HELP, il mène vers quoi?...
(depuis 2 semaines tu dois le connaître par coeur )
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009

oui tel email et fax sont des textboxes et liste _contact une listbox l'erreur et sur la premiere ligne

Forms![formulaire2].tel = rst.Fields("telephone")
mais je pense que les lignes en dessus sont fausses aussi vu ke c les meme non ??
L'aide me dit type de données imcompatibles

eh oui je le connait par coeur a force lol
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
Forms![formulaire2].tel.Text = rst.Fields("Telephone")
.Value


ou

Forms![formulaire2].tel
.Value
= rst.Fields("

T

elephone")
.Value




??
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009

ni l'un ni l'autre ne marche je desespere
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
vba... j'y vais à tatons...
et
Forms![

"

formulaire2"]
  ??

faut tester de ton côté hein !!

et on attend toujours le résultat de tes msgbox !!!
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
oups je t'ai dit une bétise pour les ""
http://www.mvps.org/access/forms/frm0031.htm
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Salut,
Assures-toi que rst.Fields("Telephone") n' est pas Null ,
car on ne peut affecter une valeur nulle à un textbox.


Forms![formulaire2].tel.Text = IIf(rst.Fields("Telephone")=Null,"",rst.Fields("Telephone"))


Suggestion: Chaine vide comme valeur par defaut pour les champs qui risquent de ne pas être renseignés.





<hr />




[] Ce qui va sans dire. va mieux en le disant.


<hr />
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009

Bon j'ai rajouté des mesbox et pour le rst j'ai : ERREUR DE COMPILATION IMCOMPATIBILITE DE TYPE

Donc je pense que tout vient des types utilisés non enfin je sais pas.

LibreMax  je vient d'essayer et cela me dit expression attendu mais je voit pas ou enfet lol voila je continue a bosser de mon cote mais j'espère avoir une aide exterieur de votre part

Merci .
Messages postés
10
Date d'inscription
vendredi 19 juin 2009
Statut
Membre
Dernière intervention
11 juin 2009

je tatonne je tatonne et maintenant l'erreur me dit aucun enregistrement en cour , ca veut dire que il ne trouve pas les informatiions cherchées dans ma requête c'est ca ?