none
Impossible d'inserer des données sur une base MS Access en ODBC Visual Web developer RRS feed

  • Question

  • L'accès sur une base de Données en tant que SqlDataSource avec une connection ODBC fonctionne bien en lecture ou mdification via un FormView, DetailView ou Gridview mais en cas d'un d'insertion d'un nouvel enregistrement on obient le message d'erreur

     

    ERROR [23000] [Microsoft][Pilote ODBC Microsoft Access] Vous avez essayé d'affecter la valeur Null à une variable qui n'est pas du type de données Variant.

     

    La même base fonctionne sans erreur en accès par un projet Windows !

     

    merci

     

    samedi 5 juillet 2008 14:52

Réponses

  • J'ai enfin trouvé, la réponse est simple (!), j'accédais à une base dans laquelle se triuve un champs d'index en numérotation automatique. Il était bien sur null avant la requête.

    Il faut donc la numérotation dans la page WEB et mettre une règle pour contourner l'accès sans passer par le WEB.

     

     

    mardi 8 juillet 2008 09:50

Toutes les réponses

  • Bonjour,

     

    Ce problème provient très certainement du fait que vous insérez une valeur null (le plus souvent un champ non rempli) dans une colonne de votre base de données Access qui n'autorise pas la valeur NULL.

     

    Cordialement

    dimanche 6 juillet 2008 17:05
    Modérateur
  • Bonjour,

     

    J'ai bien compris l'origine; dans la base les valeurs par défaut sont initialisées à blanc mais cela ne sert que pour une mise à jour Access.

     

    Si je construit ma requete par programme je peux faire une boucle qui initialise tout, mais si je suis en mode design avec Visual Web Developer où est-cd que j'initialise mes valeurs par defaut, ou bien faut-il une boucle qui initialise les valeurs par défaut avant de traiter l'insertion ?

     

    Merci cordialement.

     

    lundi 7 juillet 2008 07:52
  • Bonjour,

     

    Dans Visual Developper, lorsque vous éditez la propriété InsertQuery, vous avez une liste de paramètre.

    Pour charque paramètre, spécifiez la valeur DefaultValue.

     

    Cordialement

    lundi 7 juillet 2008 20:13
    Modérateur
  • J'ai enfin trouvé, la réponse est simple (!), j'accédais à une base dans laquelle se triuve un champs d'index en numérotation automatique. Il était bien sur null avant la requête.

    Il faut donc la numérotation dans la page WEB et mettre une règle pour contourner l'accès sans passer par le WEB.

     

     

    mardi 8 juillet 2008 09:50