Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2964 connectés 

  FORUM HardWare.fr
  Programmation

  [ACCESS] Form : tester la présence d'un enregistr. dans une table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ACCESS] Form : tester la présence d'un enregistr. dans une table

n°56587
xaero
Posté le 31-08-2001 à 15:31:11  profilanswer
 

Hello, c'est encore moi, et avec une autre question.  
   Mon formulaire A a la table T1 comme source. Pour chaque enregistrement, je voudrais tester leur présence dans une autre table et mettre une case à cocher à TRUE si la présence est vérifiée.
   Ca doit pas être très compliqué mais je vois pas comment faire là. Instruction SQL ? Où placer le code ? ...
 
   Merci de répondre à ces interrogations ! :hello:

mood
Publicité
Posté le 31-08-2001 à 15:31:11  profilanswer
 

n°56654
Sylderon
Posté le 31-08-2001 à 20:03:48  profilanswer
 

Ta demande n'est pas claire.
Pour accéder aux enregistrements de T1, utilise un objet recordset comme suit:
Set rs = Me.RecordsetClone
 
Après tu peux faire une boucle sur ces enregs et comparer avec un autre recordset initialisé d'après ton autre table.
L'autre table doit être ouverte avec son index:
Set rs2 = db.openrecordset("MaTable", dbOpenTable)
rs2.index = "PrimaryKey" ' on choisit l'index à utiliser
 
rs2.seek "=", rs!chpAChercher
if rs2.nomatch then ' pas trouvé
...
 
Quelque chose comme ça
J'espère avoir répondu à ta question, sinon précise là.
 
A+

 

[edtdd]--Message édité par Sylderon--[/edtdd]

n°57203
xaero
Posté le 03-09-2001 à 15:56:23  profilanswer
 

Si j'ai bien compris le reste, les lignes suivantes sont dans la procedure form_Load  

  Set rs = Me.RecordsetClone  
  Set rs2 = db.openrecordset("MaTable", dbOpenTable)  
  rs2.index = "PrimaryKey" ' on choisit l'index à utiliser

et les suivantes sur un bouton de recherche par exemple
   rs2.seek "=", rs!chpAChercher  
   if rs2.nomatch then ' pas trouvé

 
Si qqc n'est pas bon merci de me le dire. Mais c'est encore flou pour moi !

n°57212
xaero
Posté le 03-09-2001 à 16:09:22  profilanswer
 

Ca coince pour la ligne rs.seek
L'exemple de la fonction Seek dans Access est complexe. En fait le champ a chercher n'est pas reconnu comme objet. A moins qu'il y ait une tonne de lignes à rajouter dans ton code ?

n°57216
xaero
Posté le 03-09-2001 à 16:14:06  profilanswer
 

ACCESS utilise une variable de type TableDef avant d'appeler la fonction Seek. Faut il que je passe par là ?
HELP, je commence à être vraiment perdu là !! quelle galère, il y en a qui font ça en trois cliks !

n°57221
xaero
Posté le 03-09-2001 à 16:27:41  profilanswer
 

Du nouveau : j'ai rassemblé le code et l'erreur est que l'objet recordset ne gère pas l'opération "Seek". Le recordset est il donc mal déclaré ou est ce que ça vient de la table ?

n°57241
xaero
Posté le 03-09-2001 à 16:51:07  profilanswer
 

YESSSSSSSSSSSSSSSSSSSSE
Vous l'avez tous compris, ça marche !   :p
Euh, merci tout le monde :hello:
Fallait s'accrocher quand meme :sol:

n°57251
xaero
Posté le 03-09-2001 à 17:07:12  profilanswer
 

dernière question toute simple : comment détecter le passage à l'enregistrement (toujours dans le formulaire). Parce que la fonction Seek sera éxécutée pour chaque enregistrement.  Je pensais que c'était Form_After_Update mais c pas ça apparament. Alors ?Je précise que je n'ai pas rajouté de bouton Next, previous, ... mais j'utilise les boutons d'origine.

n°57259
xaero
Posté le 03-09-2001 à 17:26:25  profilanswer
 

j'ai oublié un mot : je voulais dire "passage à l'enregistrement suivant". Ou plutot : tout changement d'enregistrement . Du style : Current_Enregistrement_Change

n°57363
Sylderon
Posté le 04-09-2001 à 09:02:16  profilanswer
 

Désolé si je ne t'ai pas donné un exemple valide du premier coup, je travaillais de mémoire.
Pour l'événement de formulaire déclenché par un changement d'enregistrement, ça doit être "Sur Activation" ("Current" ).
Attention, ne pas confondre avec "Sur Activé" !
 
A+

mood
Publicité
Posté le 04-09-2001 à 09:02:16  profilanswer
 

n°57366
xaero
Posté le 04-09-2001 à 09:21:40  profilanswer
 

Merci pour tout ! c'est OK. :hello:
Je n'ai plus qu'à appliquer le principe du recordset là où je manipulerai les données. Rullezzzzzzzzzzz   :sol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [ACCESS] Form : tester la présence d'un enregistr. dans une table

 

Sujets relatifs
[ACCESS] Formulaire : passage de paramètre[ACCESS] requetes SQL ou procedures VBA ?
[VB-Access] Afficher la valeur d'une variable dans une zone de texte[VB-Access] Aller à la ligne dans un champ texte... c con !
[C++] Tester si quelqu'un appuie sur une touche quelconque du clavier??? [ACCESS] Routine au lancement pour le changement de résolution
[ACCESS] Creation d'une table avec 1 colonne de type "case à cocher"[MySQL ] locker une table
[V C++]Mettre à jour le champ date d'une table mysql 
Plus de sujets relatifs à : [ACCESS] Form : tester la présence d'un enregistr. dans une table


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR