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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Excel] Erreur 424 sur une requete sql Access dans excel [Resolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA Excel] Erreur 424 sur une requete sql Access dans excel [Resolu]

n°775405
karoli
Posté le 24-06-2004 à 10:53:07  profilanswer
 

Bonjour,
J'ai une erreur 424 "objet recquis" sur cette requete...
 

Code :
  1. Dim connexion As New ADODB.Connection
  2. Dim Resultat As New ADODB.Recordset
  3. Dim Annee As String
  4. ' Connexion à la base
  5. connexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Pilotage\Pilot_Rcvt.mdb;"
  6. Annee = Right(Edition.CBDateUT.Value, 4)
  7. Resultat.Open "Select [ObjAffil].[DelAff] As un,[ObjAffil].[TauxAmexa] As deux,[ObjAffil].[TauxAtexa] As trois,[ObjAffil].[UT] As quatre From [ObjAffil] WHERE [ObjAffil].[Annee] = '" & Annee & "'", connexion, adLockOptimistic, adOpenKeyset


 
Ca fait une heure que je galère :/
Le pire c'est qu'elle a fonctionné...un jour !
Je suis sur du nom de mes champs et de ma table (qui est en fait une requête dans Access)
 
Si vous voyez ce qui peut coincer...
Merci d'avance


Message édité par karoli le 24-06-2004 à 14:41:02
mood
Publicité
Posté le 24-06-2004 à 10:53:07  profilanswer
 

n°775485
JihemAir
Je sais pas
Posté le 24-06-2004 à 11:35:03  profilanswer
 

Tu declares Connection et Recordset dans la bibliotheque ADODB. Est-elle chargée ? Avant de la charger, essaie seulement de remplacer ADODB par DAO. La bibli DAO est celle qui se charge nativement sous Access et elle est dédiée à Jet.


---------------
J'ai un message.."Cliquez OK pour continuer."...Qu'est ce que je fais ?
n°775512
karoli
Posté le 24-06-2004 à 11:44:47  profilanswer
 

JihemAir a écrit :

Tu declares Connection et Recordset dans la bibliotheque ADODB. Est-elle chargée ? Avant de la charger, essaie seulement de remplacer ADODB par DAO. La bibli DAO est celle qui se charge nativement sous Access et elle est dédiée à Jet.


 
Toutes les connexions et requetes fonctionnaient donx je suppose qu'elle est chargée (ce sont les references que l'on coche dans outils/references ?), et la depuis hier, la macro plante sur cette requete, je ne comprends pas pourquoi :/
 
Je vais essayer de vous poster une caps des references utilisées...

n°775552
karoli
Posté le 24-06-2004 à 12:07:42  profilanswer
 

bon j'ai pas la possibilité d'uploader sur mon ftp !
alors en gros :
Visual Basic for applications
MS Excel 8.0 Object Library
OLE automation
MS Forms 2.0 Object library
MS Office 8.0 Object library
Microsoft ActiveX Data Object 2.5 Library
Microsoft Office Web Componants 9.0
Microsoft ActiveX Data Object Recordset 2.5 Library
 
Ouala...Il me manque quelque chose d'apres vous ?

n°775558
JihemAir
Je sais pas
Posté le 24-06-2004 à 12:16:01  profilanswer
 

Désolé, j'avais pas vu que tu étais sous Excel ! Oublie la bibli DAO.
A voir les références, ça parait correct.


---------------
J'ai un message.."Cliquez OK pour continuer."...Qu'est ce que je fais ?
n°775945
karoli
Posté le 24-06-2004 à 14:40:31  profilanswer
 

trouvé !
Je déclare trois ADODB.recordset (un seul dans la partie de code fournie) sur une seule ligne et c'est ca qui coince :
Dim resultatA, resultatB, resultatC As New.ADOdb.Recordset ca marche pas !!!
Dim resultatA As ...
Dim ResultatB As ...
Dim resultatC As... ca marche !
 
je savais pas ! maintenant oui :)
 
Merci a toi JihemAir.
 
A+

n°776000
JihemAir
Je sais pas
Posté le 24-06-2004 à 14:50:52  profilanswer
 

Effectivement, quand on déclare les variables sur une meme ligne sans donner le type, elles sont de type Variant par défaut:
Dim toto, tata, titi as String --> toto et tata sont variant, titi est string.
 
Dim toto as String, tata as String, titi as String --> OK.
 


---------------
J'ai un message.."Cliquez OK pour continuer."...Qu'est ce que je fais ?
n°776035
karoli
Posté le 24-06-2004 à 14:56:31  profilanswer
 

JihemAir a écrit :

Effectivement, quand on déclare les variables sur une meme ligne sans donner le type, elles sont de type Variant par défaut:
Dim toto, tata, titi as String --> toto et tata sont variant, titi est string.
 
Dim toto as String, tata as String, titi as String --> OK.


 
merci de la precision :)
A+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Excel] Erreur 424 sur une requete sql Access dans excel [Resolu]

 

Sujets relatifs
Comment Faire pour lire un fichier en format excel[Résolu] Votre avis SVP + need conseil/aide scrollbarre
[ASP] moteur de recherche pour une base access[resolu] compter les lignes d'un fichier .csv
Une erreur à cause de dba_open() !requete sql mise à jour dans code vb
clic sur un noeud d'un TreeView [résolu]Operateur difference en vba!
[PHP] test upload de fichier (resolu)[access](RESOLU) savoir si une requête sort un résultat ou non ??
Plus de sujets relatifs à : [VBA Excel] Erreur 424 sur une requete sql Access dans excel [Resolu]


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