saadatou
Messages postés15Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 août 2006
-
14 août 2006 à 09:11
saadatou
Messages postés15Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 août 2006
-
15 août 2006 à 12:52
Bonjour tout le monde
Voila j'ai écris une requête d'insertion qui quand je saisi les données et que je valide ,m'affiche :type de donnée incompatible.Les données sont de type entier et texte.Quand je saisi par exemple le nombre 1 partout ça marche mais quand j'insers du texte et du numerique ca se complique.J'aimerais avoir une idée de comment contourner ce probleme.
Merci de m'aider.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 14 août 2006 à 09:43
Salut
Difficile de te répondre avec aussi peu d'élément ...
Est-ce une erreur VB ou une erreur SQL ?
Rappel de la norme dans la syntaxe de ta requète SQL :
Si le type de champ (*) est :
- Texte : Il faut encadrer les données avec des guillemets simples : "... Values ('mon texte à insérer')"
- Date : L'encadrement est le dièse : " ... Values (#01/01/2006#)"
- Si est numérique, pas d'encadrement : "... Values(32.57)"
(*) tel que déclaré dans ta DB
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accro
fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 20103 14 août 2006 à 13:14
Salut,
Ton code est assez lourd à lire par contre pour ton problème (cf message de jack) il faut bien prendre en compte la syntaxe d'une requete sql :
Par exemple pour ta requete tu as tout mis entre cote tes valeurs. Par exemple, num_atr et num_crp ne doivent pas être entre cote :
..." & num_crp & ", " & code_id & "
Petit conseil : essaye de respecter les espaces entre les valeurs : valeur1 + virgule + espace + valeur2
Fiko ;-)
Proverbe chinois : Connaître son ignorance est la meilleur part de la connaissance./FONT>
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 14 août 2006 à 13:40
Re
En effet, tu as mis des " ' " partout : Il faut connaitre le type de chaque champ TEL QUE DECLARE DANS TA TABLE (texte, numérique ...) pour déterminer s'il faut ou pas des ' ou des #
- 1ere "With cn" : Il ne sert à rien puisque dans les lignes qui suivent, tu répètes cn.Provider ...
- 2ème "Set rs = New ..." : Inutile, tu l'as déjà fait au dessus
- Fin du code : Après le cn.Close, tu fais un MsgBox avec le code d'erreur.
Dans les meilleurs cas, le code d'erreur sera 0 et ta MsgBox n'affichera rien de bien clair
--> Ajoute un "Exit Sub" après ton "cn.Close"
- Fiko a raison : Ajoute des espaces là où il t'a dit, mais aussi après chaque parenthèse
Exemple : dans ton code, tu fais une coupure VB apèrs Tabcrp et tu enchaines direct avec "(codecrp ..."
Ce qui donne " Insert Into Tabcrp(codecrp..." --> Il se peut que l'interprèteur n'accepte pas --> Espace avant (
Idem avant "Values"
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accro
Vous n’avez pas trouvé la réponse que vous recherchez ?
saadatou
Messages postés15Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 août 2006 14 août 2006 à 17:34
Bonsoir
Merci pour vos conseils je ne suis pas sur mon pc mais dès ce soir je vais m'y mettre je vous donnerais la suite.
Merci beaucoup pour votre aide!
saadatou
Messages postés15Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 août 2006 15 août 2006 à 12:52
Bonjour
c'est enfin moi qui reviens,j'ai essayé ce que vous m'avez dit mais toujour j'ai ce message :type incompatible.
J'ai regardé au niveau de ma base de donnée mais toujours rien.
Merci beaucoup.