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

ASP Discussion :

Doublons dans base Access


Sujet :

ASP

  1. #1
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut Doublons dans base Access
    bonjour

    j'ai une table retourForm dans une base de donnée access
    je veut y inserer des elements.
    je selectionne le plus grand numero d'index dans la table et j'attribue a l'element que je veut inserer ce numero + 1.

    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
    SQLREQ = "SELECT Max(numero_commentaire) as valeur FROM [RetourForm]"
    Set RSNUMRETOUR = Server.Createobject("ADODB.Recordset")
    RSNUMRETOUR.Open SQLREQ,Conn , 3, 3
     
    'insertion du commentaire'
    SQLREQ = "INSERT into RetourForm (numero_commentaire,texte,numero_demandeur)"
    SQLREQ = SQLREQ & " VALUES('"& Cint(RSNUMRETOUR("valeur") + 1) &"','"& texte &"','"& numero_demandeur &"')"
    Set RECSET = Server.Createobject("ADODB.Recordset")
     
    RSNUMRETOUR.close
    RECSET.Open SQLREQ,Conn , 3, 3
     
    Conn.execute(SQLREQ) // ligne 30
     
    RECSET.close
    or quand je lance la requete j'ai ça :
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][Pilote ODBC Microsoft Access] Modifications non effectuées: risque de doublons dans champs index, clé principale ou relation interdisant les doublons. Modifiez les données des champs contenant les doublons, enlevez ou redéfinissez l'index pour permettre les doublons et recommencez.

    /V4/envoiRetour.asp, line 30
    je fait deja cette manipulation plusieurs fois et ça ne m'a jamais posé soucis, je ne comprend pas
    J'mangerais plus jamais de chili... OUH !!!! DU CHILI !!!!

  2. #2
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    J'ai pas tout lu, mais quand tu as ça, cela veut dire que tu essaye de remplir manuellement la clé primaire qui comme tu sais n'admet pas les doublons donc à toi de trouver un champ qui pourrait écrire la même ligne sauf modifier la clé primaire.

    Par exemple
    tu as les champs id, nom, prenom sachant que l'on met id en clé primaire et que tu ne modifie pas manuellement car autoincrementé ainsi tu autorise les doublons (homonyme)
    De ce fait tu pourras avoir :
    1 toto riri
    2 toto riri

    j'espère que sa pourra t'aider

    ++
    Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

    FAQ ASP

  3. #3
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    je n'avais jamais fait d'access avant, j'avais surtout fait du mysql, ou lo'n ne remplit pas la clé primaire dans les insert puisqu'elle s'autoincrémente

    là c'est un projet que je reprend, ou il y a une base access
    et des qu'il y a une insertion dans la base, la clé primaire est rensignée
    alors je trouve ça bizarre, mais apparement ça fonctionne

    d'apres toi je devrais faire ma requete comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQLREQ = "INSERT into RetourForm (texte,numero_demandeur)"
    SQLREQ = SQLREQ & " VALUES('"& texte &"','"& numero_demandeur &"')"
    j'ai essayé mais j'ai exactement la meme erreur.

    edit : nan pas exactement en fait
    avant ça m'inserais quand meme dans la base malrgé le message d'erreur
    alors que là ça ne m'insere qu'une fois (la 1ere fois) avec comme id "0" et apres ça n'insere plus
    J'mangerais plus jamais de chili... OUH !!!! DU CHILI !!!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    et si tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'insertion du commentaire'
    SQLREQ = "INSERT into RetourForm (numero_commentaire,texte,numero_demandeur)"
    SQLREQ = SQLREQ & " VALUES('"& Cint(RSNUMRETOUR("valeur")) + 1 &"','"& texte &"','"& numero_demandeur &"')"
    Set RECSET = Server.Createobject("ADODB.Recordset")
    ?

    [EDIT]
    Autant pour moi, ça change rien...
    la prochaine fois je testerai avant de poster :/

    et oui en ASP, la concaténation se fait avec &, et non avec +, donc le cast se fait bien
    [/EDIT]

  5. #5
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    Tu trouve pas ça un peu bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%
    ...VALUES('"& Cint(RSNUMRETOUR("valeur") + 1) &"',...
    %>
    Si ton champ et en numérique inutile de mettre les ', de plus si tu as un calcul à faire fait le avant de l'insérer dans la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%
    Num_ret=Cint(RSNUMERETOUR("valeur"))+1
    %>
    ta requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%
    ... VALUES("& Num_ret &",..)
    %>
    ++
    Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

    FAQ ASP

  6. #6
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    Citation Envoyé par kaiser59
    Salut,

    Tu trouve pas ça un peu bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%
    ...VALUES('"& Cint(RSNUMRETOUR("valeur") + 1) &"',...
    %>
    si justement je trouve ça bizarre
    mais comme je l'ai dit plus haut, c'est un projet que je reprend, et tous les INSERT avant se faisaient comment ça, alors moi j'ai fait pareil
    mais au final ça n'a pas l'air de fonctionner.
    dans les table j'avais remarqué aussi que la clé primaire n'etais pas en autoincrément , alors pour la table que j'utilise là je l'ai mise en autoincrémente et ça fonctionne
    mais je ne comprend pas pourquoi ça fonctionne les fois d'avant

    merci
    J'mangerais plus jamais de chili... OUH !!!! DU CHILI !!!!

  7. #7
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    Tu es sûr que sa fonctionné auparavant ?? Tu l'avais vue fonctionner ?

    ++
    Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

    FAQ ASP

  8. #8
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    oui oui je suis sur
    je l'ai meme refait, j'ai fait un INSERT sur une des table qui etais presente avant, en renseignant la clé primaire, et ça fonctionne
    la clé primaire n'est pas en autoincrement

    va comprendre...
    J'mangerais plus jamais de chili... OUH !!!! DU CHILI !!!!

  9. #9
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    C'est claire que c'est à rien comprendre

    ++
    Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

    FAQ ASP

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

Discussions similaires

  1. [LabView] Export de Labview dans base Access
    Par SlySylvain dans le forum LabVIEW
    Réponses: 3
    Dernier message: 22/05/2009, 16h09
  2. Eviter doublon dans Requete Access 2000
    Par Soulama dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/02/2007, 10h13
  3. Importer fichier texte dans base Access
    Par Mymi dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/08/2006, 20h21
  4. recherche par mots-clés dans base access
    Par syber72 dans le forum Access
    Réponses: 2
    Dernier message: 07/03/2006, 13h53
  5. Recherche dans base access
    Par VARACH dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/01/2006, 08h17

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