tables (Access) besoin d'aide

tables (Access) besoin d'aide - VB/VBA/VBS - Programmation

Marsh Posté le 30-03-2006 à 09:29:57    

Comment peut-t-on faire pour rechercher l'enregistrement en rouge cette table composé de 2 champs Fournisseurs et Marques + modification des données
Au final ca serait pour faire des recherches en fonction de plusieurs champs pour aller modifier les donées des enregistrements trouvées
Je ne veux pas passer par un formulaire --> en VBA pur
 
J'ai essayé ceci:

  • .... SQL = "SELECT * FROM maTable WHERE champ1 = xxx AND champ2= xxx " ..

Je ne sais pas comment executer cette commande sans passer par un formulaire
et je ne sais pas comment modifier les données des enregistrements trouvés (editer,rajouter,supprimer)
 

  • ... res = CurrentDb.OpenRecordset(SQL) .... res.FindFirst( Champ1 = xxx )..

mais la recherche mutli champ ne fonctionne pas.
 
Fournisseurs    |  Marques
BED                 |     Renault
Point P             |     Citroen
Point P             |     Peugeot
Point P             |     Renault
Michelin            |     DAF
Michelin            |     Iveco
Michelin            |     MAN
Michelin            |     Mercedes
Michelin            |     Peugeot
Michelin            |     Renault
 
Merci

Reply

Marsh Posté le 30-03-2006 à 09:29:57   

Reply

Marsh Posté le 31-03-2006 à 11:06:22    

MS Access n'est pas qu'un container de tables, il gère aussi des requêtes.
Ces requêtes peuvent être statiques, paramétrées ou dynamiques (construites ou modifiées à la volée).
Lis un peu de doc sur les objets du DAO Access et surtout les QueryDef.
Tu peux ensuite parfaitement ouvrir un recordset sur cette requête plutôt que sur une table.


Message édité par tegu le 31-03-2006 à 11:06:47
Reply

Marsh Posté le 31-03-2006 à 11:18:52    

Thelvyn777, ta solution marche presque.
Essaye :

SQL_ligne = "SELECT champ1, champ2 FROM maTable WHERE champ3 = xxx AND champ4= xxx "  
Set rst = CurrentDb.OpenRecordset(SQL_ligne)
If (Not rst.EOF)
   MsgBox("champ1=" & rst![champ1] & " champ2=" & rst![champ2])
End If
rst.Close


Message édité par olivthill le 31-03-2006 à 11:20:12
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed