Erreur 3078 dans requête SQL [Résolu]

Messages postés
6
Date d'inscription
dimanche 13 janvier 2019
Dernière intervention
9 février 2019
-
Bonjour,

J'utilise le code (abrégé pour l'exemple) suivant :

Global comptes_mdb As Database
Global tb_détail_22104g As Recordset
Global tb_libel As Recordset
Global tb_sql As Recordset
Global zone As String
Global champs As String
...........
Set comptes_mdb = OpenDatabase(App.Path & "\comptes.mdb") 
Set tb_détail_22104g = comptes_mdb.OpenRecordset("tb_détail_22104g")
Set tb_libel = comptes_mdb.OpenRecordset("libel")
............
tb_libel.MoveFirst
MsgBox tb_libel("dest")

'  ---> erreur 3078 : tb_libel non trouvé

zone = "SELECT dest FROM tb_libel WHERE dest LIKE '" & _
    champs & "'" & " GROUP BY " & "dest"
Set tb_sql = comptes_mdb.OpenRecordset(zone)
If tb_sql.RecordCount = 0 Then Exit Sub

'  ---> correct, table tb_détail_22104g trouvée

zone = "SELECT libel FROM tb_détail_22104g WHERE libel LIKE '" & _
    champs & "'" & " GROUP BY " & "libel"
Set tb_sql = comptes_mdb.OpenRecordset(zone)
If tb_sql.RecordCount = 0 Then Exit Sub



J'utilise une base de données Access. Dans la première clause SQL, la table tb_libel n'est pas trouvée (erreur 3078). Pourtant elle existe et est prouvée par le Movefirst et la Msgbox. Le champ "dest" s'affiche bien. Si je remplace la table "tb_libel" par la table "tb_détail_22104g" et les champs "dest" par "libel", ça marche.

Je n'arrive pas à trouver l'erreur.

Merci de vos lumières.

Notpa

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

Votre réponse

2 réponses

Messages postés
6
Date d'inscription
dimanche 13 janvier 2019
Dernière intervention
9 février 2019
0
Merci
Merci à un modérateur de déplacer ce sujet du forum Visual Basic vers Visual Basic 6 si nécessaire.
Merci
Commenter la réponse de Notpa
Messages postés
6
Date d'inscription
dimanche 13 janvier 2019
Dernière intervention
9 février 2019
0
Merci
Ne cherchez plus ! J'ai trouvé !

J'ai confondu le controle table (tb_libel) avec le nom de la table elle même (libel). Donc, si je code :

zone = "SELECT dest FROM libel WHERE dest LIKE '" & _
champs & "'" & " GROUP BY " & "dest"


ça fonctionne parfaitement.

Sujet résolu.

Bon dimanche à tous !

Notpa
Commenter la réponse de Notpa

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.