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 :

problème d'enregistrement de textarea dans bdAccess


Sujet :

ASP

  1. #1
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut problème d'enregistrement de textarea dans bdAccess
    Bonjour, j'ai demandé sur le forum HTMl mais il pense que çà vient de ASP.

    Voici mon problème:

    J'ai un bug avec mon text area.
    Quand je remplis dedans et que j'arrive en bout de cadre il passe automatiquement à la ligne, seulement quand je fais envoyer il me mets une erreur et ne l'enregistre pas dans ma base de données.

    Quand je vois que je vais arriver en bout de cadre et que je fais entrée le il n'y a pas de problème.

    Quelqu'un connaît ce problème?

    voici le code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <tr><td><b> Analyse:</b><TEXTAREA NAME="Analyse" ROWS="5" COLS="50"></TEXTAREA></td></tr>
    <TR><td><b>Décisions:</B><TEXTAREA NAME="Decision" ROWS="5" COLS="50"></TEXTAREA></TD></TR>
    </Table>
    <br><br><br><br><br><br><br><br><br><br><br>
    </br></br></br></br></br></br></br></br></br></br></br>
    <center>
    <INPUT type="submit" value="Enregistrer" name="btnSubmit">
    <INPUT type="reset" value="Effacer" name="btnreset">
    <Input type="button" value="Retour" name="btnReturn" onclick="window.location.href='essaidonnee.html'">
    </center>
    </FORM>

    et le Post:


    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
    strMiseajourAnalyse="UPDATE Achat SET Analyse='"&analyse&"' WHERE (Mois='"&mois&"' AND Année='"&annee&"')"
    				strMiseajourDecision="UPDATE Achat SET Décision='"&decision&"' WHERE (Mois='"&mois&"' AND Année='"&annee&"')"
     
    				'Créer la connection à la base de données'
     
    				set cnBD =Server.CreateObject("ADODB.Connection")
     
    				'Ouvrir la connexion'
     
    				Set objRs = Server.CreateObject("ADODB.Recordset")
     
    				cnBD.Open str
    				objRs.Open "SELECT Mois,Année From Achat", cnBD
    				Do While (test = 0 And Not objRs.EOF)
    								        If mois= objRs("Mois") Then
    								            If annee = objRs("Année") Then
    								                test = 1
    								            End If
    								        End If
    								        objRs.movenext
        			Loop
     
        			if test = 1 Then
        					if data1<>"" then
    				cnBD.Execute(strMiseajourData1)
    						End If
    						if data2<>"" then
    				cnBD.Execute(strMiseajourData2)
    						End if
    						if data3<>"" then
    				cnBD.Execute(strMiseajourData3)
    						End if
    						if data4<>"" then
    				cnBD.Execute(strMiseajourData4)
    						End if
    						if analyse<>"" then
    				cnBD.Execute(strMiseajourAnalyse)
    						End if
    						if decision<>"" then
    				cnBD.Execute(strMiseajourDecision)
    						End if
        			else
        				cnBD.Execute (strInsere)
    				End if
     
    				objRs.Close
    				set objRs=nothing
    				cnBD.Close
    				set cnBD=nothing

    Merci d'avance.

  2. #2
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut
    Il te met koi comme erreur et a kelle ligne.. merci

    D'après-moi, le problème doit etre dans l'insertion..

  3. #3
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    Là il me plus d'erreur cette semaine, seulement il ne prends pas tout ce que j'écris


    si je fais pas des entrées il me prends que la 1ére ligne!

    Sinon il me prends tout sauf la dernière?

    C'est peut-être au niveau d'Access.

    Je l'ai déclaré de type Texte avec taille du champ 50 ( c'est peut-être pas assez) Null interdit à non, Chaîne vide autorisée à oui, Indexé à non et compression unicode à oui.

  4. #4
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut
    c'est vrai ke c'est assez bizarre.. mais si t'as mis a 50 et ke tu rentre + il devrait te mettre une erreur. donc c'est pas ca je pense..

    Mais la, je sais vraiment pas désolé.. Je persiste que c'est au niveau de l'insertion.. mais je ne suis pas sur..

    ++

  5. #5
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    Qu'entends-tu par insertion? Dans la requète SQL?

    Sinon à l'affichage je fais çà, çà pose peut-être problème?

    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
    <tr><td colspan=15><B><u>3-Analyse</u></B><br></br>
     
    <% Set rs = Server.CreateObject("ADODB.Recordset")' en créer un nouveau sinon Bug. Il garde l ancien en mémoire'
       rs.Open strInsere,cnBD
     
    		  If rs("Année")=annee Then
     
    		             Do While (test=0 AND Not rs.EOF)
    		                        if rs("Mois")=mois then
                                            response.write replace(rs("Analyse"), vbcrlf, "<br>")
                                            test=1
                                    End if
     
                        rs.moveNext
     
                         Loop
     
              End if
       rs.Close
       set rs=nothing
       test=0
    %>
    </td></tr>

  6. #6
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut
    Mais c'est a l'affichage qu'il affiche que la 1ere ligne ??? et dans ta base de donnée elle meme.. le champs contient que la première ligne ou tout ??

  7. #7
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    là j'ai testé en écrivant sans faire de entrée il ne prend que la première ligne dans la base de données et il n'affiche donc que cette ligne.
    Par contre quand je fais entrée avant d'arriver en fin de ligne il m'a pris en compte mais 3 lignes aussi bien à l'affichage que dans Access mais il n'a pas enregistrer dans Access mais 2 dernières lettres. j'ai du dépassé les 50.

    En gros je crois que le retour à la ligne auto Access n'aime pas trop.

  8. #8
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    là il me refait une erreur là voilà:


    Type d'erreur :
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''Faire un becnchmark avec le groupe pour l'analyse des risques liés aux contrats de fournitures critiques. Commandes passées sosu SAP VMOGF: CB Valide bilan de ce qui se fait hors SAP et propose règles pour tendre ' WHERE (Mois='Nov' AND Année='2004')'.
    /Test d'interface/enregistrerModifAchat.asp, line 80
    et voici la ligne

    cnBD.Execute(strMiseajourDecision)


    et la requète est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strMiseajourDecision="UPDATE Achat SET Décision='"&decision&"' WHERE (Mois='"&mois&"' AND Année='"&annee&"')"

  9. #9
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    ce qui est étrange c'est que pour l'analyse il l'a bien enregistrée et pour décision, qui est configuré pareille, il me mets l'erreur.
    Dans Access il n'a pris en compte que la première ligne

    J'ai du mal à comprendre le délire!!

  10. #10
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    J'ai trouvé pourquoi il n'enregistre pas.

    Il ne prends pas l'apostrophe.

    Alors là c'est le délire!!

    Il faut faire un contrôle en javascript pour lui indiquer su'il s'agit d'un caractère et non d'un mot clé?

  11. #11
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut
    mais nan pas besoin de javascript !! il faut pas ke tu fasse un update set, mais autrement, comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	set rst = Server.CreateObject("ADODB.RecordSet")
    	rst.open "TaTable", TaConnexion, 2, 3, 2
    	rst.find "champs = " & request.querystring("variable")
    	rst("NomChamps") = NouvelleValeur
    	rst.update
    	rst.close
    Le rst.find il faut mettre le champs auquel tu te rapporte pour choissir le bon enregistrement de ta table, et la, pas de problème d'apostrophe..

  12. #12
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    dans variable il faut mettre quoi?

    voici ce que j'ai fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    objRs.find "Analyse" = request.querystring("variable")
        	 objRs("Analyse") =analyse
      	objRs.update
    Analyse c'est le champ dans Access et analyse la variable qui contient le textarea.

  13. #13
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut
    Ben il faut ke tu mette le meme contenu que ton WHERE dans ton Update set dans ton premier poste c-a-d :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mois='"&mois&"' AND Année='"&annee&"'
    A tester, car moi j'ai jamais fait avec 2 variable différente, mais ca devrait marché

  14. #14
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    il me met l'erreur suivante
    Type d'erreur :
    ADODB.Recordset (0x800A0BB9)
    Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.
    /Test d'interface/enregistrerModifAchat.asp, line 78
    et le code est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objRs.find "Analyse" = request.querystring("Mois='"&mois&"' AND Année='"&annee&"'")
    mais avant je fais çà.

    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
    Set objRs = Server.CreateObject("ADODB.Recordset")
     
    				cnBD.Open str
    				objRs.Open "SELECT Mois,Année From Achat", cnBD
    				Do While (test = 0 And Not objRs.EOF)
    								        If mois= objRs("Mois") Then
    								            If annee = objRs("Année") Then
    								                test = 1
    								            End If
    								        End If
    								        objRs.movenext
        			Loop
     
        			if test = 1 Then
     
    						if analyse<>"" then
     
    				objRs.find "Analyse" = request.querystring("Mois='"&mois&"' AND Année='"&annee&"'")
        			objRs("Analyse") =analyse
      				objRs.update
    Peut-être que le loop embête après?

  15. #15
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objRs.find "Mois='"&mois&"' AND Année='"&annee&"'"

  16. #16
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    il met la même erreur.

    J'ai essayé avec mois seulement et là il me dit

    # Type d'erreur :
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E29)
    L'ensemble de lignes ne prend pas en charge le défilement arrière.
    /Test d'interface/enregistrerModifAchat.asp, line 78

    # Type de navigateur :

  17. #17
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    quand je tape '' il me prends qu'une apostrophe mais c'est pas très rigoureux .

    Les utilisateurs vont pas s'amuser à taper 2 apostophes au lieu d'une!

  18. #18
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut
    Est-ce que tu utilise déja ce recordset + haut et tu le passe dans le do while... ? si oui fait un moveFirst a la fin de la boucle, pour revenir au premier enregistrement !!

    Bon sinon tu fait un replace !!!

  19. #19
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    je suis bon pour le replace.

    Par contre je galère à l'écrire surtout que j'en ai déjà un.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if rs("Mois")=mois then
                                            response.write replace(rs("Analyse"), vbcrlf, "<br>")
                                            test=1
                                    End if
    çà serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.write replace(rs("Analyse"), " ' "," '' ")
    : : :

  20. #20
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    au fait on peut pas forcer la taille d'un champs Access à plus de 255 caractères.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème d'enregistrement de données dans une BD
    Par Yasiño dans le forum Langage
    Réponses: 4
    Dernier message: 21/08/2013, 20h22
  2. Problème d'enregistrement des champs dans une base
    Par abdoulfall dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 06/02/2012, 18h15
  3. Réponses: 4
    Dernier message: 14/02/2007, 11h44
  4. Réponses: 1
    Dernier message: 30/07/2006, 20h02
  5. Probléme d'enregistrement dans un fichier ini
    Par jv2759 dans le forum Delphi
    Réponses: 2
    Dernier message: 19/05/2006, 15h30

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