|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
Bonjour à tous,
J'ai un petit probleme (petit parce qu'il n'est surement pas tres difficile à résoudre pour des habitués, mais fort embétant pour moi). Mon "application" : J'ai besoin de créer une petit appli sous Access 2003 qui aurait pour but, en renseignant un certain nombres de champs de me donner la réponse à ma question. Concrétement je travail dans un centre logistique et en rentrant le code postal et l'adresse, l'appli doit me sortir le numero de la sortie de quai correspondante. Le resultat doit ensuite incrémenter un etat et s'imprimer. Mes données sont stockées dans 2 tables : 1 table "code postaux" (contenant uniquement les codes postaux qui m'interessent) et 1 table "Adresses", dans laquelle sont rentrées les code postaux, les communes, les adresses, un champ "mot clef" pour gagner du temps sur l'adresse et les sorties de quai correspondantes pour chaque ligne. Ces 2 tables ne sont pas liées. Partant de là, j'ai crée un formulaire dans lequel je renseigne tous les eléments necessaire un par un : le code postal, un champ mot clé, qui doit lui meme incrémenter un champ "voie" (ex : je tape elysees dans le champs "mot clé" puis j'appuie sur entrée et le champ "voie" s'incremente automatiquement "avenue des champs elysées") et enfin un champ "Numero Quai", qui doit être génére automatiquement en aller pécher l'info dans ma table "Adresses" et en croisant les données que j'ai rentré juste avant. Mon probleme : l'appli fonctionne tres bien pour la première saisie mais dès la 2e j'ai un bug. L'appli garde en mémoire les rues du premier code postal rentré. Du coup, si je change le code postal, je n'ai comme choix que les rues du premier code postal que j'ai rentré. Là où l'appli est tres perverse c'est que en 2e saisie si je change le code postal (je rentre 69000 en lieu et place de 75005 que j'avais entré lors de la premiere saisie), que je valide l'avenue des champs elysées (rue qui faisait partie du premier code postal que j'avais saisit), l'appli reconnait que quelque chose ne va pas et me sors une 'Erreur d'execution 3021', lance le debogeur et me surligne une ligne de code VBA.Pour que ca re fonctionne je n'ai plus qu'a quitter le formulaire et le relancer. Etant donné que ca marche pour la 1e saisie, je me dis donc qu'il ne doit pas manquer grand chose pour que tout fonctionne bien. C'est pourquoi je fais appel à vous. Je reste à votre dispo pour toute infos complémentaire. Un grand merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
juste un bouton RAZ pour réinitialiser tes valeurs adresse = "" quai = ""
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
J'ai oublié de préciser que tout en bas de mon formulaire il y a un bouton valider qui imprime et qui RAZ avec le code suivant (et que je pense suffisant) :
Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
J'espère que "Formulaire" est ouvert avant que tes instructions "raz" s'exécutent. Mais pourquoi le réouvrir après alors ? Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
Oui bien sûr. J'ai enlevé la ligne. Mais ca ne fonctionne toujours pas
|
|
|
00
|
|
|
#6 | |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Oui c'est évident. Ce n'est pas en enlevant cette ligne qu'il va se produire un miracle...
Citation:
Pour faire des saisie dans une table il faut déplacer le curseur d'enregistrement sur le newrec avec la commande :
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
|
00
|
|
|
#7 | |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
Citation:
Le champ num quai se trouve dans ma table adresse. Par contre je ne comprend pas trop ce que tu veux dire par 'Pour faire des saisie dans une table il faut déplacer le curseur d'enregistrement sur le newrec'. Désolé de ma meconnaissance du sujet... |
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Les tables ACCESS comme beaucoup de SGBD contiennent une ligne spécifique pour l'ajout d'enregistrement.
Si tu utilises un formulaire ou un recordset tu dois te positionner dessus pour créer l'enregistrement. Tu te place dessus en utilisant dans le cas d'un formulaire. ou encore Et dans le cas d'un recordset DAO tu utilises la méthode Addnew (voir le tuto DAO) Pour la requete insert rien à faire le moteur de BD s'en charge. 3021 c'est que tu n'as pas d'enregistrement en cours. Ne connaissant ni le code ni la méthode que tu utilises je dirais bêtement que Rc n'est pas positionné sur un record. Il est soit sur Eof soit sur Bof. cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
10
|
|
|
#9 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
Sorry mais je fais le max pour tout comprendre et j'avoue que j'ai du mal
Je vais aller voir ton tuto parce que je suis en DAO. Ce qui est le plus pénible c'est que pour quelqu'un d'habitué ca prendrai 5min pour que tout fonctionne puisque le gros du travail est fait mais là c'est parti pour m'occuper une semaine . Merci de ton aide en tout cas.
|
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
C'est le cas pour tout. Pour quelqu'un d'habitué c'est plus rapide mais c'est souvent les détails où l'on passe le plus de temps.
En tout les cas pour produire une application correcte il faut apprendre les mécanismes de bases. Et ça on ne peut pas le faire à ta place.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
Copyright © 2000-2012 - www.developpez.com