[VBA] Executer une requete et récuple resultat dans le code.[RESOLU]

Executer une requete et récuple resultat dans le code.[RESOLU] [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 24-07-2003 à 17:04:40    

Salut !
Je cherche à executer une requete de selection histoire de récuperer une donnée (et déclencher un traitement) pendant la saisie dans un formulaire. (suite à un évenement)
Comment faire pour récupérer le resultat d'une requete dans du code ?
 
Edit : (pour être + clair) Il s'agit de "programmation" sous access. Le code est du code evenementiel access et c'est là que je sais pas comment executer une requete de selection et récupérer le resultat.


Message édité par cedricbrun le 28-07-2003 à 12:04:04
Reply

Marsh Posté le 24-07-2003 à 17:04:40   

Reply

Marsh Posté le 24-07-2003 à 17:15:53    

[:sh@rdar]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-07-2003 à 18:11:19    

Tout un programme...
 
Zyeutes www.vb-helper.com :lol:  

Reply

Marsh Posté le 24-07-2003 à 18:45:36    

ou encore la FAQ et les liens utiles dans les bibliolinks, ils sont bien fournis :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 25-07-2003 à 14:09:34    

Bah désolé les gars...
En VB j'y arrive mais en "Access" les mêmes méthodes ne passent pas.  :o

Reply

Marsh Posté le 25-07-2003 à 14:12:40    

Tu es sous quel OS ?


---------------
Je code en série et en parallèle
Reply

Marsh Posté le 25-07-2003 à 14:16:25    

Sous XP. (mais je vois pas le rapport... :??: )
 
Il s'agit d'executer une requete dans un bout de code ACCESS et de récupérer le resultat (pour traitement)  
Tout ça dans le but d'effectuer un traitement transparent pour l'utilisateur de la base de donnée.

Reply

Marsh Posté le 25-07-2003 à 14:16:59    

Quelle version d'Access? Les versions 97 et antérieures utilisent une interface (ou API) nommée DAO. Les versions 2000 et après utilisent une autre interface nommée ADO (oui je sais on risque de s'y perdre d'autant qu'elles se ressemblent dans les noms des classes & méthodes mais pas au niveau concept :pt1cable: )
 
L'exemple que je donne dans la FAQ fonctionne en ADO.

Reply

Marsh Posté le 25-07-2003 à 14:18:40    

C'est un bug connu de XP couplé au moteur JET. Tu dois installer le Service Pack 1a pour le résoudre


---------------
Je code en série et en parallèle
Reply

Marsh Posté le 25-07-2003 à 14:20:17    

Access 2000.
Je jette un oeil sur ta FAQ VB.  ;)

Reply

Marsh Posté le 25-07-2003 à 14:20:17   

Reply

Marsh Posté le 25-07-2003 à 14:23:40    

Bah en fait (dis moi si je me trompe) mais là il s'agit d'ouvrir une base access (de manière externe) et de faire des traitement dessus. Moi je veux faire des traitements dans un formulaire, pendant la saisie des informations..

Reply

Marsh Posté le 25-07-2003 à 14:25:49    

Serial Coder a écrit :

C'est un bug connu de XP couplé au moteur JET. Tu dois installer le Service Pack 1a pour le résoudre


Bah en fait pour le moment y'a pas de bug vu que je sais pas comment faire...

Reply

Marsh Posté le 25-07-2003 à 15:18:37    

cedricbrun a écrit :


Bah en fait pour le moment y'a pas de bug vu que je sais pas comment faire...


Pense à installer le SP1a ensuite, sinon tu seras emmerdé


---------------
Je code en série et en parallèle
Reply

Marsh Posté le 28-07-2003 à 08:55:48    

OK mais comment je fais pour ma requête ?

Reply

Marsh Posté le 28-07-2003 à 10:03:54    

ben au lieu de partir d'une connexion comme dans la FAQ, faut partir de la connexion interne Access, le problème est que je n'ai pas Access 2000 sous la main et je sais pas du coup comment s'appelle cette fameuse connexion. Pour le reste, le traitement est identique: tu crées un recordset en spécifiant ta requête en paramètre.

Reply

Marsh Posté le 28-07-2003 à 11:18:40    

Bon...quand je fais ça :

Code :
  1. Dim serv As Connection
  2. Set serv = Access.CurrentDb.Connection


 
Il  me dit : opération non autorisée sur ce type d'objet.
 
 
Des idées?  :??:

Reply

Marsh Posté le 28-07-2003 à 11:32:24    

ET quand je fais ça :

Code :
  1. Dim enr As New Recordset
  2. Set enr = Access.CurrentDb.OpenRecordset("select * from colis" )


J'ai "Incompatibilité de type" alors que OpenRecorset renvoi bien un recordset...  :pt1cable:

Reply

Marsh Posté le 28-07-2003 à 11:37:49    

le problème c'est qu'il y a le ADODB.Recordset et le DAO.Recorset, je te suggère donc de préfixer ton type par la librairie utilisée (donc ici ça me semble être DAO).  Ca devrait marcher un peu mieux après.

Reply

Marsh Posté le 28-07-2003 à 12:01:16    

Yep ça marche !
Merci beaucoup  :jap:  
En fait il me manquait la référence vers MS ADO.
Puis j'ai préfixé ma déclaration .
Et ça roule !
 
Encore merci. ça va me permettre de donner une autre dimension à mon appli.

Reply

Sujets relatifs:

Leave a Replay

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