![]() |
| Merci de prendre connaissance des conditions d'utilisation des forums, des blogs et du chat |
| | |||||||
Informatik' ![]() Un problème sur votre ordinateur, votre système d'exploitation ou sur internet? Des conseils à demander ou à proposer concernant les derniers logiciels disponibles ? Des astuces ou des guides à proposer sur comment nettoyer son PC ? Ce forum est le lieu idéal pour parler de nos machines et des programmes autres que les jeux. Débats, sondages, astuces...sans oublier l'annuaire regroupant des liens de sites par thèmes. |
![]() |
| | Outils de la discussion | Noter la discussion |
| | #1 |
| Génie ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: novembre 2002 Localisation: Grenoble (ou Riln ;) )
Messages: 2 465
| Salut à tous Voilà j'ai un soucis sous Access: je souhaiterai faire une boucle VB pour passer à l'enregistrement suivant. Je sais qu'il existe un truc tout prêt dans Access pour le faire (ça a marché impec jusqu'ici d'ailleurs) mais ça ne marche pas dans un cas précis car il y aura 2 fois ce système sur la même page et la commande GoToRecord Next/Previous ne fonctionne que sur l'un des 2 paramètres qu'il faudrait faire varier... Bref, en bidouillant un peu j'ai réussi à passer outre ce problème et à me créer ceci pour afficher la même page mais avec le code suivant: Code: Dim stDocName As String Dim stLinkCriteria As String stDocName = "Consultations" * * stLinkCriteria = "[Code]=" & Me![Code] + 1 DoCmd.OpenForm stDocName, , , stLinkCriteria Donc, j'ai pensé à une condition pour éviter ce problème et voilà ce que je souhaiterai faire: Code: If Code courant < Dernier code de ma table Access then * Code+1 * Afficher la même page mais avec Code+1 Else Afficher "Impossible, a pu d'enregistrement dans la table" End if C'est la partie "Dernier code de ma table Access" qui me pose problème et que je ne sais pas retranscrire en VB... Comment faut-il faire? Déclarer la table? Parvenir à initialiser une variable sur ce dernier code? (et dans ce cas là comment faire?) Donc voilà, c'est pour mon boulot donc je recherche activement une solution... J'ai beau avoir fait un DUT info, ça remonte déjà à 2 ans et on avait abordé le VB pendant 1 heure alors bon... Merci d'avance ![]()
__________________ Elgaern le Pourfendeur de Dragons Ancien Webmaster de BGworld - Ancien administrateur des forums Traducteur chez les D'Oghmatiques - Auteur des Chroniques de Sang |
| | |
| | #2 |
| Squelette ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2006
Messages: 130
| Salut, je sais as si ça va t'aider, j'en ai pas fait non plus depuis mathusalem. Je me souviens qu'il existe deux trucs comme "Next" et "Previous" qui s'appellent "last" et "first" qui se déclenche lorsque tu arrives sur le premier ou le dernier enregistrement de ta table. Je regarderais dans mes sources (si je les ai encore, peut etre ecrase par NWN) mais sur que ca existe
__________________ Il y a des choses que l'intelligence seule est capable de chercher, mais que, par elle-même, elle ne trouvera jamais. Ces choses, l'instinct seul les trouverait ; mais il ne les cherchera jamais. |
| | |
| | #3 |
| Génie ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: novembre 2002 Localisation: Grenoble (ou Riln ;) )
Messages: 2 465
| Si cette histoire se vérifie, je pourrais changer ma conditon en: If Code <> Code'Last then Je vais essayer de creuser ça de mon côté mais si tu parviens à retrouver des sources, c'est encore mieux Merci de ton aide
__________________ Elgaern le Pourfendeur de Dragons Ancien Webmaster de BGworld - Ancien administrateur des forums Traducteur chez les D'Oghmatiques - Auteur des Chroniques de Sang |
| | |
| | #4 |
| Squelette ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2006
Messages: 130
| VICTOIRE !!!! J'ai retrouvé mes sources :happy: Par contre j'y avait pas retouché depuis...ben je sais plus en fait. incompréhensible de base :8: mais je vois qu'il y a un formulaire avec un bouton style "enregistrement suivant" relié à un script. Script que je n'arrive plus à comprendre pour l'instant... :angry: (saleté d'access) Je vois aussi que quand je clique sur ce bouton et que c'est le dernier enregistrement, il ne fait rien (affiche toujours le dernier enregistrement). Est ce que ça correspond à ce que tu cherches ? Si c'est le cas, est ce que ça peut attendre demain matin le temps que je re-comprenne ? ps : je peux avoir ta version d'access aussi svp, je suis sous 97... :notme2:
__________________ Il y a des choses que l'intelligence seule est capable de chercher, mais que, par elle-même, elle ne trouvera jamais. Ces choses, l'instinct seul les trouverait ; mais il ne les cherchera jamais. |
| | |
| | #5 |
| Génie ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: novembre 2002 Localisation: Grenoble (ou Riln ;) )
Messages: 2 465
| Je suis sous Access 2000 au boulot donc à priori il n'y a pas de problème Sinon le fait de rester sur le dernier enregistrement est déjà mieux que d'aller sur une page néant... Et peut-être qu'en me plongeant dans les lignes j'arriverai à percer le (Da Vinci) code ( )Enfin bref, ça peut tout à fait attendre demain mais si tu n'as pas envie de te prendre la tête tu peux tout à fait m'envoyer le document Access par email pour que je me plonge dedans Merci en tous cas
__________________ Elgaern le Pourfendeur de Dragons Ancien Webmaster de BGworld - Ancien administrateur des forums Traducteur chez les D'Oghmatiques - Auteur des Chroniques de Sang |
| | |
| | #6 |
| Squelette ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2006
Messages: 130
| trop tard.... buche déjà dessus.... :..: ... :happy: première étape compris... :eye: visite du patron... bonjour patron... continue à bucher.... :..: :x access is bad...ps : je ne suis qu'en stage, et j'ai fini mon truc, pas d'inquiétude ca m'occupe...
__________________ Il y a des choses que l'intelligence seule est capable de chercher, mais que, par elle-même, elle ne trouvera jamais. Ces choses, l'instinct seul les trouverait ; mais il ne les cherchera jamais. |
| | |
| | #7 |
| Squelette ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2006
Messages: 130
| Résultat des courses : Voila comme j'ai fait : J'ai un formulaire qui affiche des personnes et des boutons pour avancer, reculer, ajouter, .... Pour le bouton qui avance de un en un, j'ai ceci : Set listeadh = mabase.OpenRecordset("RInfoAdherents") //on crée un recordset sur une requête qui donne les adhérents Private Sub avanceun_Click() //fonction associée au clic de bouton listeadh.MoveLast //on prend le suivant de la requête... If listeadh.EOF = False Then //EOF = end of file = plus de record // Si il y a un suivant, on affiche les informations Forms![FIAdherent]![Texte4].Value = listeadh![CodeAdherent] Forms![FIAdherent]![Texte6].Value = listeadh![Nom]] .... Else //Sinon.... //on revient au précédent listeadh.MovePrevious End If End Sub Comprendido ???
__________________ Il y a des choses que l'intelligence seule est capable de chercher, mais que, par elle-même, elle ne trouvera jamais. Ces choses, l'instinct seul les trouverait ; mais il ne les cherchera jamais. |
| | |
| | #8 |
| Génie ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: novembre 2002 Localisation: Grenoble (ou Riln ;) )
Messages: 2 465
| Si muy bien, yé vé essayer d'appliquer ça à ma base de dounnées et yé té tiens au courant ![]() Edit: J'aurais besoin de 2 précisions - Quand tu mets "mabase" je remplace par le nom de la base Access? - A quoi correspondent les FIAdherent? Le formulaire qui gère l'affichage des informations?
__________________ Elgaern le Pourfendeur de Dragons Ancien Webmaster de BGworld - Ancien administrateur des forums Traducteur chez les D'Oghmatiques - Auteur des Chroniques de Sang |
| | |
| | #9 |
| Squelette ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2006
Messages: 130
| mabase : 'déclaration Dim mabase As Database Dim listeadh As Recordset 'affectation à mabase de la base courante Set mabase = CurrentDb ' ouverture de la requête r-info-adhérent (qui donne ce que tu veux parcourir, ici des types) Set listeadh = mabase.OpenRecordset("RInfoAdherents") FIAdherent c'est le nom de mon formulaire, et dedans il y a le bouton avance_un, qui permet d'avancer de un en un.... A la place de FIAdherent il faut mettre le nom de ton formulaire, et pour mabase, ça marche sur tout, il faut juste changer le nom de la requete (RinfoAdherent ici) Edit : c'est a l'ouverture du formulaire qu'il faut que tu fasses les declarations, ouverture de bd+requete. Ensuite tu prends le premier avec "listeadh.MoveFirst" et charges les differents champs qu'il y aura dans listeadh dans ton formulaire... Je sais pas si je suis bien clair là... :..: Ravi qu'un dragon ai pu aidé un pourfendeur de dragons... ![]()
__________________ Il y a des choses que l'intelligence seule est capable de chercher, mais que, par elle-même, elle ne trouvera jamais. Ces choses, l'instinct seul les trouverait ; mais il ne les cherchera jamais. |
| | |
| | #10 |
| Génie ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: novembre 2002 Localisation: Grenoble (ou Riln ;) )
Messages: 2 465
| Arg... J'ai bien peur que ma version d'Access (2000) ne reconnaisse pas la délcaration de variables de type database puisqu'il me sort un "Type défini par l'utilisateur non défini"...
__________________ Elgaern le Pourfendeur de Dragons Ancien Webmaster de BGworld - Ancien administrateur des forums Traducteur chez les D'Oghmatiques - Auteur des Chroniques de Sang |
| | |
| | #11 | |
| Squelette ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2006
Messages: 130
| Damned, c'est diablerie que tout ça !!!! Essaye ça pour qu'il reonnaisse Citation:
__________________ Il y a des choses que l'intelligence seule est capable de chercher, mais que, par elle-même, elle ne trouvera jamais. Ces choses, l'instinct seul les trouverait ; mais il ne les cherchera jamais. | |
| | |
| | #12 |
| Génie ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: novembre 2002 Localisation: Grenoble (ou Riln ;) )
Messages: 2 465
| Bon ça avance un peu maintenant, j'ai une "incompatibilité de type" à résoudre sur la ligne en gras: Private Sub Form_Load() Dim mabase As Database Dim ListeOrganismes As Recordset Set mabase = CurrentDb Set ListeOrganismes = mabase.OpenRecordset("RequeteConsultation1") End Sub Je planche dessus...
__________________ Elgaern le Pourfendeur de Dragons Ancien Webmaster de BGworld - Ancien administrateur des forums Traducteur chez les D'Oghmatiques - Auteur des Chroniques de Sang |
| | |
| | #13 |
| Squelette ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2006
Messages: 130
| Essaye ça : Dim ListeOrganismes As DAO.Recordset .... Set ListeOrganismes = mabase.OpenRecordset("RequeteConsultation1") ...suspense....
__________________ Il y a des choses que l'intelligence seule est capable de chercher, mais que, par elle-même, elle ne trouvera jamais. Ces choses, l'instinct seul les trouverait ; mais il ne les cherchera jamais. |
| | |
| | #14 |
| Génie ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: novembre 2002 Localisation: Grenoble (ou Riln ;) )
Messages: 2 465
| J'ai essayé de bidouiller mais ça ne fonctionne toujours pas Avec la dernière modif, ça me sort "Variable objet ou variable de bloc With non définie" et ça me renvoie sur l'instruction "ListeMachin.MoveLast"... L'aventure se poursuit...
__________________ Elgaern le Pourfendeur de Dragons Ancien Webmaster de BGworld - Ancien administrateur des forums Traducteur chez les D'Oghmatiques - Auteur des Chroniques de Sang |
| | |
| | #15 |
| Squelette ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2006
Messages: 130
| :angry: ...vais aller demander a bill gates comment fonctionne sa ?*ù%$£!§ de logiciel de mes %^¨$µ£§! .... Un autre essai : Dim mabase As DAO.Database Dim ListeOrganismes As DAO.Recordset .... Set ListeOrganismes = mabase.OpenRecordset("RequeteConsultation1") + vérifier que la référence "Microsoft DAO 3.6 Object Library" (dans outils/références) est coché si je te l'ai pas déjà demandé.. Oh loth je te prie d'accepter ma misérable requête, accepte mon offrande.... Edit : tu peux me donner les erreurs exactes et les numéros, ça peut aider au cas ou...merci
__________________ Il y a des choses que l'intelligence seule est capable de chercher, mais que, par elle-même, elle ne trouvera jamais. Ces choses, l'instinct seul les trouverait ; mais il ne les cherchera jamais. |
| | |
| | #16 |
| Génie ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: novembre 2002 Localisation: Grenoble (ou Riln ;) )
Messages: 2 465
| Lloth ne doit pas me porter en estime tout comme toi... J'obtiens toujours l'erreur 91 "Variable objet ou variable de bloc With non définie"... Sinon j'ai pensé à une magouille qui pourrait me permettre de contourner le problème: il faudrait que je puisse compter le nombre d'éléments dans ma table et que je stocke ce nombre dans un compteur. Si je clique sur le bouton suivant, j'incrémente le compteur, si je clique sur le bouton précédent je le décrémente Mais là encore, comment compter le nombre d'éléments de ma table en VB? Peut-on faire appel à une requête SQL?
__________________ Elgaern le Pourfendeur de Dragons Ancien Webmaster de BGworld - Ancien administrateur des forums Traducteur chez les D'Oghmatiques - Auteur des Chroniques de Sang |
| | |
| | #17 |
| Squelette ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2006
Messages: 130
| Oui on peut mais il faut utiliser des recordset...toujours le meme probleme... Dim sSQL As String Dim mabase As DAO.Database (????? ou As Database) sSQL = "Select * From CLIENTS Where Pays= 'France'" Set rst = db.OpenRecordset (sSQL, dbOpenForwardOnly, dbReadOnly) ....mais bon....
__________________ Il y a des choses que l'intelligence seule est capable de chercher, mais que, par elle-même, elle ne trouvera jamais. Ces choses, l'instinct seul les trouverait ; mais il ne les cherchera jamais. |
| |