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 :

impossible de faire des "insert into" depuis quelques jours


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    504
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 504
    Points : 125
    Points
    125
    Par défaut impossible de faire des "insert into" depuis quelques jours
    Bonjour
    je suis dans une grosse panade!

    Je viens de m’apercevoir que mes requêtes "insert into" ne fonctionnaient plus comme j'avais mis "DoCmd.SetWarnings" à False je ne voyais pas les messages d'erreur.
    après de nombreux test infructueux je suis retourné sur des vieilles bases et j'ai le même problème alors que les bases ont fonctionné jusqu'à il y a une quinzaine de jours.

    voici le message d'erreur, vous me direz cet évident c'est marqué de dans, mais je ne trouve aucune raison!:
    0 enregistrement ajouté suite à la violation de clé
    0 enregistrement ajouté suite à la violation de verrou
    0 enregistrement ajouté suite à la violation de règle de validité

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Ce n'est pas possible de t'aider si tu ne postes pas le code et expliques le contexte.
    Normalement, il faut prendre le code VBA et essayer de débugger individuellement chaque requête => Créer une requête et coller dessus le code SQL et l'exécuter.


    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut
    Les explications des différents msg d'erreur sont ici.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  4. #4
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    504
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 504
    Points : 125
    Points
    125
    Par défaut
    J'ai repris une requête.
    j'ai remplacé toutes les valeur de champ en dur.
    ça fonctionne.
    puis champ par champ remis les variables.
    je suis arrivé à un champ date (identique à d'autres champ date dans la table, avec les mêmes propriétés valeur null interdit à non, donc la valeur peut être vide.
    et là ça bloque impossible d'enregistrer avec une date vide.
    c'est bien dans la table que je dois avoir un problème

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Effectivement, insérer une valeur NULL par code SQL n'est pas trivial.
    On peut voir le code s'il te plait.

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 756
    Points : 14 789
    Points
    14 789
    Par défaut
    bonjour,
    je suis arrivé à un champ date (identique à d'autres champ date dans la table, avec les mêmes propriétés valeur null interdit à non, donc la valeur peut être vide.
    et là ça bloque impossible d'enregistrer avec une date vide.
    comme l'a déjà dit mandresy:
    Ce n'est pas possible de t'aider si tu ne postes pas le code et expliques le contexte.
    donc, merci d'afficher le code qui fabrique la requête
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    504
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 504
    Points : 125
    Points
    125
    Par défaut
    bonsoir

    je vous remercie pour l'intérêt que vous me portez.

    voici la ligne de code qui me portait préjudice
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                DoCmd.RunSQL "INSERT INTO Adherents ( id,date_modification,titulaire_cheque, commentaire, date_adhesion, nom, prenom, naissance, adresse, code_postal, ville,date_certificat_medical, sexe, portable, mail, fixe, nom_prenom )VALUES(" & ID & ",'" & Now() & "','" & [NOM].Value & "', '" & [commentaire] & "','" & [ADHESION].Value & "','" & [NOM].Value & "','" & [PRENOM].Value & "','" & [Naissance].Value & "','" & [ADRESSE].Value & "','" & [Code_postal].Value & "','" & [VILLE].Value & "','" & [date_certificat_medical].Value & "','" & SEXE & "','" & [Portable].Value & "','" & [MAIL].Value & "','" & [Fixe].Value & "','" & [NOM].Value & " " & [PRENOM].Value & "')"
    il y a 3 champs date dans la requête [naissance] obligatoirement renseigné, [adhesion] remplit automatiquement par formule now() et [ date certificat médical ] qui lui pouvait être vide avant d'avoir ce problème j'ai contourné ce problème en mettant une date bidon qui n'influe pas le raisonnement.

    le problème est que la base fonctionnait correctement avec un champ date vide et maintenant plus pourquoi ?

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 756
    Points : 14 789
    Points
    14 789
    Par défaut
    bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    & "','" & [date_certificat_medical].Value & "','" &
    si la date est vide, les 2 apostrophes restent et le problème est que '' ce n'est pas égal à Null
    il serait préférable de faire comme ceci (sans les apostrophes en littéral):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    & "'," & IIf(IsNull([date_certificat_medical].Value), "Null", Chr(39) & [date_certificat_medical].Value & Chr(39)) & ",'" &
    comme cela, le code renverra: ,Null, au lieu de ,'', si la date est vide et ,'01/10/2020', (par exemple) si la date est renseignée.
    Chr(39) correspond au caractère apostrophe (') on aurait pu aussi écrire : "'"
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. Impossible de faire des insert dans la base h2 console à l'aide d'une Query et EntityManager
    Par informatica1989 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 15/11/2012, 22h45
  2. Réponses: 1
    Dernier message: 13/05/2008, 14h44
  3. impossible de faire une commande INSERT
    Par nirolioben dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/11/2006, 16h14
  4. [EasyPHP] impossible de faire des URLS avec variable
    Par SandraG dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 30/03/2006, 17h38

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