Requete SQL vb6

cs_zaatout Messages postés 156 Date d'inscription dimanche 19 novembre 2006 Statut Membre Dernière intervention 20 novembre 2013 - 3 juin 2008 à 16:03
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 3 juin 2008 à 16:59
Salut : cette requete me donne l'erreur suivante

 type mismatch in JOIN expression

bdd.Execute "delete from rapp"
 
 bdd.Execute "INSERT INTO rapp " & _
" SELECT stock.date, " & _
"        stock.nbr, " & _
"        stock.mtbr, " & _
"        stock.compte, " & _
"        stock.struct, " & _
"        stock.etat, " & _
"        compta.arr, " & _
"        compta.piece, " & _
"        compta.br, " & _
"        compta.mt, " & _
"        compta.cpte, " & _
"        compta.etat1 " & _
"   FROM stock,compta " & _
"  WHERE stock.nbr = compta.br" & _
"    AND stock.compte = '" & compta.cpte & "'" & _
"    AND stock.mtbr <> compta.mt"

stock.compte = integer
compte.cpte=texte

A+

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
3 juin 2008 à 16:59
Salut
Pourquoi avoir sorti compta.cpte de la syntaxe VB ?
Tout doit se passer dans le monde SQL, pas VB
Mauvaise idée d'avoir mis un champ en numérique alors que son homonyme dans une autre table est en texte (défaut de conception des tables)
   "    AND stock.compte = Convert(varChar, compta.cpte)" & _
Voir dans l'aide de Access "Comparaison des fonctions entre Visual Basic et SQL Server", section "Fonctions de conversion"

Selon la version du moteur que tu utilises, il se peut que ceci fonctionne aussi bien :
   "    AND stock.compte = compta.cpte" & _

Vala
Jack, =fr MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous