missarkia
Messages postés10Date d'inscriptionvendredi 19 juin 2009StatutMembreDernière intervention11 juin 2009
-
10 juin 2009 à 09:39
missarkia
Messages postés10Date d'inscriptionvendredi 19 juin 2009StatutMembreDernière intervention11 juin 2009
-
11 juin 2009 à 11:49
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")
hellangel777
Messages postés267Date d'inscriptionjeudi 5 février 2009StatutMembreDernière intervention26 novembre 20131 10 juin 2009 à 09:53
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
hellangel777
Messages postés267Date d'inscriptionjeudi 5 février 2009StatutMembreDernière intervention26 novembre 20131 10 juin 2009 à 09:55
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
missarkia
Messages postés10Date d'inscriptionvendredi 19 juin 2009StatutMembreDernière intervention11 juin 2009 10 juin 2009 à 10:00
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 ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
hellangel777
Messages postés267Date d'inscriptionjeudi 5 février 2009StatutMembreDernière intervention26 novembre 20131 10 juin 2009 à 10:27
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
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 10 juin 2009 à 11:42
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"
missarkia
Messages postés10Date d'inscriptionvendredi 19 juin 2009StatutMembreDernière intervention11 juin 2009 10 juin 2009 à 12:05
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.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 10 juin 2009 à 12:23
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 )
missarkia
Messages postés10Date d'inscriptionvendredi 19 juin 2009StatutMembreDernière intervention11 juin 2009 10 juin 2009 à 12:36
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
missarkia
Messages postés10Date d'inscriptionvendredi 19 juin 2009StatutMembreDernière intervention11 juin 2009 11 juin 2009 à 09:53
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
missarkia
Messages postés10Date d'inscriptionvendredi 19 juin 2009StatutMembreDernière intervention11 juin 2009 11 juin 2009 à 11:49
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 ?