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

VBA Access Discussion :

Création d'entrée sur boucle - Conception base [AC-2010]


Sujet :

VBA Access

  1. #21
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Pffff, j'ai la tête en vrac. Je dois avoir les pattes palmées

    C'est pas dans la date que ca coince, du moins pas pour l'instant.... Mais dans le transfert dans les champs adequats ...
    Je m'en sort plus, je laisse la date en dehors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     As String = "SELECT USER, ObjektNr, HeftNr, Matchcode, MegalithNr, MegalithJobdesc, Produktteil, Split, Auflage, DavonBelege, VerpackungID, LieferID, ExVB, VBLage, VolleLagen, GewichtEx, AnzahlPal  FROM T_Auftraege WHERE Matchcode='%1';"  'Bereitstellung --- ceci est ma date,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    strPalUnique = Nz(.Fields("MegalithNr"), 0) & Format(Nz(.Fields("Produktteil"), 0), "00") & Format(P, "000")
     
                            strSQLinsert = "INSERT INTO Temp_Paletten (USER, ObjektNr, HeftNr, Matchcode, MegalithNr, Auftrag, Produktteil, Split, Auflage, DavonBelege, VerpackungID, LieferID, ExVB, VBLage, VolleLagen, GewichtEx, PaletteNr, PaletteCode )" 'Bereitstellung,
     
                            strSQLinsert = strSQLinsert & "VALUES(" & strValues & P & ") & (" & strPalUnique & ");"
                            Debug.Print strValues & P & "," & strPalUnique
    J'aimerai transferer tout le premier code, mis à part "AnzahlPal" dans ma deuxieme Table
    Avec "P" sur PaletteNr" et "strPalUnique sur PaletteCode" et là ca broute. Il y a pas moyen de dire à Access - toi va ici et toi ici ?

  2. #22
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 171
    Points
    12 171
    Billets dans le blog
    5
    Par défaut
    En fait il faut que le nombre de champs spécifié dans la clause INSERT soit identique aux valeurs passées...

    On doit écrire :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO TableCible (Champ1, Champ2, Champ3) VALUES (Valeur1, valeur2, Valeur3);
    et non
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO TableCible (Champ1, Champ2, Champ3, Champ4, Champ5, Champ6) VALUES (Valeur1, valeur2, Valeur3);

    Le mieux, faîtes un Debug.Print de votre clause INSERT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print strSQLinsert
    et testez-là dans l'éditeur en mode SQL, vous verrez de suite vos erreurs.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #23
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Merci Argyronet pour ta patience.... Ok, ca j'ai bien compris qu'il fallait que le même nombre de champ entre l'entree et la sortie.

    Par contre comment faire s'il me faut un calcul à la sortie, c'est à dire +1 en sortie et non en entrée

    Car dans mon cas, je remplace "nbre de pal" par "Nr de Pal"
    mais il me reste le "code pal" à placer.... Ou alors je dois mettre la "formule// Composition" dans la Table en valeur par défault ?

    Bon la date coince quand-même. J'utilise ton code pour Enquoter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EnquoteString = Format(CDate(FValue), "mm/dd/yyyy") & ", "
    La procédure reconnait bien la date et va sur cette ligne. Mais erreur

  4. #24
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 171
    Points
    12 171
    Billets dans le blog
    5
    Par défaut
    En fait, EnquoteString est une fonction et ce n'est pas la fonction qui doit être = à mais la valeur :
    On pose donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Age = Now() - (Naissance /365.25)
    Age est la fonction.

    on l'utlise alors comme suit :

    donc dans votre cas, il faut déclarer une variable dédiée et utiliser comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim strDate As String
    strDate = EnquoteString(CDate(Me.txtDate))
     
    Private Function EnquoteString(ByVal FValue As Variant) As String
        If IsNumeric(FValue) Then
            EnquoteString = Replace(FValue, ",", ".") & ", "
        ElseIf IsDate(FValue) Then
            EnquoteString = Format(CDate(FValue), "mm/dd/yyyy") & ", "
        Else
            EnquoteString = "'" & FValue & "', "
        End If
    End Function
    Inutile de mettre la virgule, la fonction s'en charge et ça donne alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL="INSERT INTO TABLE (ChampText, ChampDate, ChampNum) VALUES (" & EnquoteString(strNom) & EnquoteString(strDate), EnquoteString(strNum) &");"
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #25
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Bonjour Argy,

    Merci pour votre aide, mais ca coince encore avec la date ... Toujours cette erreur de syntax sur la date !!!
    J'ai déclaré la variable en tête du module
    Je récupère la date ainsi au début de la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strDate = EnquoteString(CDate(Nz(.Fields("Bereitstellung"), 0)))
    Et la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQLinsert = strSQLinsert & "VALUES(" & strValues & strDate & P & ");"
    J'ai du rater un épisode quelque part !!!

  6. #26
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Debug.Print strDate
     Debug.Print strSQLinsert
    03.29.2016,
    INSERT INTO Temp_Paletten (USER, ObjektNr, HeftNr, Matchcode, MegalithNr, Auftrag, Produktteil, Split, Auflage, DavonBelege, VerpackungID, LieferID, ExVB, VBLage, VolleLagen, GewichtEx, Bereitstellung, PaletteNr)VALUES('Armand', 74, 1605, '74/1605', 61270, 'Laura Wohnen Kreativ', 2, 00, 50000, 500, 4, 1, 5000, 1, 1, 39, 03.29.2016, 1);

  7. #27
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Je me suis cassé la tête durant un moment sur ce problème de date
    J'ai règlé le soucis, par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     EnquoteString = "'" & Format(CDate(FValue), "mm/dd/yyyy") & "'" & ", "
    C'est certainement pas bon, mais ca passe

    Sujet clos

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [conception] Base de données sur le football
    Par Kakine dans le forum Modélisation
    Réponses: 25
    Dernier message: 06/01/2007, 03h27
  2. Réponses: 3
    Dernier message: 11/06/2006, 13h09
  3. Avis sur la conception de ma base de données.
    Par perlgirl dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 10/11/2005, 22h47
  4. Besoin d'aide sur la conception d'un base de données
    Par lordgodgiven dans le forum Modélisation
    Réponses: 1
    Dernier message: 01/10/2005, 17h51
  5. Recherche Livre / Conseils sur la conception de Base
    Par Yeuma dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 02/01/2004, 15h25

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