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

Requêtes et SQL. Discussion :

VBA: Probleme exécution requete Update


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut VBA: Probleme exécution requete Update
    Bonjour a tous,

    J'ai un formulaire sur lequel j'ai placé le code suivant:

    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
       Dim j As Integer
         j = Me.NumberOfCheques.Value
     
     
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("tbl_Cheques")
     
    With rst
    For i = 1 To j
        rst.Edit
     
         PrintDate.SetFocus
         PrintDate = Me.PrintDate.Value
     
         Dim SQL As String
         Dim Req As QueryDef
         SQL = " UPDATE tbl_Cheques SET tbl_Cheques.PrintDate = [Forms]![frm_ChequesDelivered]![PrintDate]"
         SQL = SQL & " WHERE tbl_Cheques.ChequeSerialNumber=[Forms]![frm_ChequesDelivered]![Number1stCheque] + i - 1;"
     
         Set Req = CurrentDb.CreateQueryDef("", SQL)
         Req.Execute dbFailOnError
     
    Next i
    End With
     
    rst.Close
    Set rst = Nothing
    Set dbs = Nothing
    Mon but est d'écrire dans le champ PrintDate la date entrée dans le formulaire via la textbox PrintDate pour tous les enregistrements de la table Tbl_Cheques ou le numéro de série du cheque vaut du 1er numéro de série de cheque renseigné jusqu'au dernier. Tout ça via une boucle for.


    Le probleme est que j'obtiens un message d'erreur: trop peu de paramétres, 2 sont attendus.

    Je coince la-dessus depuis un moment mais je ne vois pas ou ca coince vu que ma requete SQL a été crée via Access

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    ton i est écrit en dur dans ta requête...

    essaie avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL = " UPDATE tbl_Cheques SET tbl_Cheques.PrintDate = [Forms]![frm_ChequesDelivered]![PrintDate]"
         SQL = SQL & " WHERE tbl_Cheques.ChequeSerialNumber=[Forms]![frm_ChequesDelivered]![Number1stCheque] + " & i  - 1 & ";"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut
    Merci beaucoup!

    mais j'obtiens le même message d'erreur...

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    ok, autre méthode alors, sortir les paramètres liés aux formulaires du sql en dur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL = "UPDATE tbl_Cheques SET tbl_Cheques.PrintDate = " & [Forms]![frm_ChequesDelivered]![PrintDate]
    SQL = SQL & " WHERE tbl_Cheques.ChequeSerialNumber=" & [Forms]![frm_ChequesDelivered]![Number1stCheque] + i  - 1 & ";"
    avec là encore une erreur potentielle : le format des champs (texte et/ou date notamment)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut
    Bingo!
    Sur la date il y a une erreur de format....

    Dans la table tbl_Cheques, PrintDate a pour format: Medium Date.
    Dans le formulaire, PrintDate a également pour format: Medium Date.

    Toutes les deux avec un masque 00\->L<LL\-00;0;_

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    une valeur de type date doit être indiquée entre #, exemple :
    #01/19/1984# pour le 19 janvier 1984
    ou
    #09/11/2001# pour le 11 septembre 2001

    à essayer dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "UPDATE tbl_Cheques SET tbl_Cheques.PrintDate = #" & [Forms]![frm_ChequesDelivered]![PrintDate] & "#"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

Discussions similaires

  1. [AC-2007] Probleme de date en vba sur une requete update
    Par tyjez dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/05/2013, 07h58
  2. Probleme avec Requete Update
    Par Didier77 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 24/07/2006, 13h20
  3. [MySQL] Probleme avec requete UPDATE
    Par Chromatic dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 09/02/2006, 13h17
  4. Probleme avec requete UPDATE sur ACCESS
    Par Chromatic dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/01/2006, 10h03
  5. Probleme de requete UPDATE pour modifier de champs ds DBGRID
    Par cmoimeme dans le forum Bases de données
    Réponses: 26
    Dernier message: 06/12/2005, 12h56

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