IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

[Débutant] Condition de recherche pas reconnue: erreur 3070


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 12
    Points
    12
    Par défaut [Débutant] Condition de recherche pas reconnue: erreur 3070
    Salut la francophonie.
    J'ai fait un petit module qui récupère des valeurs de 2 tables pour produire des résultats dans une autre. J'ai fait un filtre de sélection pour ma méthode FindFirst/FindNext basé sur la valeur d'une chaîne de caractères, TampDie. Voici le code utile:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Sub DAO_Resultats()
    
    'Initialisation recordset et Tables
    Dim db As DAO.Database
    
    Dim rstTri As DAO.Recordset
    Dim rstDie As DAO.Recordset
    Dim rstRes As DAO.Recordset
    
    'Déclaration variables
    
    Dim DenomFlowreel As Integer: Dim DenomGPI As Integer: Dim DenomVprod As Integer
    Dim Incr As Integer: Dim Id As Integer
    
    Dim SommeP As Single: Dim SommeRCP As Single: Dim SommeS2 As Single: Dim SommeGPI As Single
    Dim SommeVprod As Single: Dim SommeFlowreel As Single
    Dim IndiceMasse As Single: Dim IndiceVitesse As Single
    
    Dim TampDie As Variant: Dim TampDieFlow As Variant: Dim strDie As String: Dim TampTri As String
    
    
    'Assignation base de données == courante
    Set db = CurrentDb()
    
    'Assignation recordset aux tables de bdd Gravimétrique
    Set rstTri = db.OpenRecordset("tblTRI", dbOpenDynaset)
    Set rstDie = db.OpenRecordset("tblDIE")
    Set rstRes = db.OpenRecordset("tblRES")
    
    DenomFlowreel = 0
    DenomGPI = 0
    DenomVprod = 0
    SommeRCP = 0
    SommeP = 0
    SommeS2 = 0
    SommeGPI = 0
    SommeVprod = 0
    TampDie = Space(6)
    TampDieFlow = Space(4)
    TampTri = Space(6)
    
    rstTri.MoveFirst
    
    'Boucle de parcours de tblTRI pour sommations
    While Not rstTri.EOF
    
    'rstRes.MoveFirst
    rstDie.MoveFirst
    
    TampDie = rstTri(Quatre).Value
    strDie = "([tblTRI].[Die] LIKE '" & TampDie & "')"
    
    'Boucle de sommation des valeurs du premier enregistrement de TblTRI et semblables
    'selon Die
    rstTri.FindFirst strDie
    
        While Not rstTri.NoMatch
    La valeur (Quatre) correspond à une constante = 4. La ligne problème est en gras.

    1 - Ça me donne erreur d'exécution 3070: "Le moteur ... ne reconnaît pas la valeur tblTRI.Die en tant que nom de champ ou expression correcte".
    Le débogueur arrête à la ligne soulignée. Pourquoi?
    J'ai essayé avec [Die] seulement, mais on dirait que la condition de recherche n'est pas reconnue.

    2 - J'ai repiqué l'exemple d'un tutoriel et l'ai modifié, mais sans succès:
    strDie = "Select * From [tblTRI] Where [Die] Like '*" & TampDie & "*'"
    Ça donn erreur 3077: erreur de syntaxe. Pourquoi Seigneur??

    3 - J'ai souligné en rouge les variables Variant et la variable de condition qui est un String (strDie). J'ai mis TampDie et TampDieFlow comme Variant car je fais des manips du type TampDie = TampDieFlow plus loin dans le code. Je ne peux pas faire ça si ce sont des String. Si je veux pouvoir copier un String dans un autre, quel est la méthode? Pourquoi Seigneur doux Jésus?

    Que pasa? Merci à l'avance! Let's go la France demain contre la Suisse!!!! (sans offense, mais bon, le Québec, ça a déjà été la Nouvelle-France).

  2. #2
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut, je n'ai pas tout compris mais vu que tu travailles avec un recordset
    basé sur tblTRI, la référence au champ Die devrait se faire par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomDuRecordset.Fields("Die")        '(rs.Fields("Die") par ex).

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Appel correct
    Dear Faw, merci pour ta réponse. En me référant à mon livre Access 2003, ben y disent que rst.Fields(2).Value est la même chose que rst(2).Value, d'où ma nomenclature. Voici d'autres essais infructueux:

    strDie = "Select * From rstTri Where "Die" Like '*" & TampDie & "*'"
    strDie = "Select * From rst Where ["Die"] Like '*" & TampDie & "*'"
    strDie = "Select * From rstTri Where rstTri.Fields("Die") Like '*" & TampDie & "*'"
    etc. : ça crin .

    Ça me donne 'erreur de syntaxe' cette fois dans chaque cas.


    Pour l'autre chose:

    Comment on fait pour faire un adressage direct entre deux String, ie. l'équivalent de String1 == String2 ? Me suis farci quelques 40 pages dans ce forum, nenni.

    Allez les Bleus Tabarnak!!!!!!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur BC30451: Le nom 'xx' n'est pas reconnu
    Par starkson dans le forum ASP.NET
    Réponses: 8
    Dernier message: 23/05/2011, 22h16
  2. La condition if n'est pas reconnue
    Par ggmayor dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 03/02/2011, 08h39
  3. Réponses: 6
    Dernier message: 14/12/2006, 00h37
  4. Réponses: 4
    Dernier message: 10/08/2006, 13h44
  5. Réponses: 12
    Dernier message: 21/06/2006, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo