Problème d'auto incrémentation sous VB - Access - SQL/NoSQL - Programmation
Marsh Posté le 03-06-2003 à 20:43:23
max(...) + 1
et met le sosu select entre ()
et le lib entre quotes
et le desc aussi
et sinon, pour les chaînes à ralonge, il vaut mieu faire :
SQL = "bla blab lbabla blab lbabla blab lbabla blab " &_ |
1) C'est plus lisible
2) C'est plus rapide à l'éxécution, car la concaténation est faite au moment de la compilation et non lors de l'éxécution.
Marsh Posté le 04-06-2003 à 10:10:52
Hmm.
SQL = "bla blab lbabla blab lbabla blab lbabla blab " &_
"lbabla blab lbabla blab lbabla blab lbabla blab"
Alors ca il apprécie trop pas ("erreur de compilation Charactère incorrect" )
J'ai changé ma chaine SQL pour :
SQL = "INSERT INTO PRODUIT (PROD_ID, PROD_LIB, PROD_PRIX, PROD_DESC) "
SQL = SQL & "VALUES ((SELECT MAX(PROD_ID + 1) FROM PRODUIT), '" & Lib & "', '" & prix & "', '" & desc & "');"
Mais ca deconne toujours ("Erreur non reconnue" ).
Sérieux j'vais péter un cable :]
Marsh Posté le 04-06-2003 à 11:45:44
il fo un espace entre & _
bonne chance pour ton pb
essai deja de mettre tout sur une ligne si ca se trouve c une erreur bidon.
Qd ca marche sur une ligne tu le met en plusieurs c tjs comme ca que je fait.
Marsh Posté le 04-06-2003 à 13:50:05
Trancy a écrit : il fo un espace entre & _ |
+1
Et puis je dirais meme plus, si ca marche sur une ligne, tu le laisses sur une ligne
Marsh Posté le 04-06-2003 à 15:08:45
Yoyo@ a écrit : |
En meme temps c vrai pkoi se casser la tete qd c pour toi tu fait ce que tu veux, mais si jamais y a qqun qui est amener a lire ton code fo absolument faire sur plusieurs ligne c illisible sinon
C cool que ca marche now
Marsh Posté le 04-06-2003 à 18:20:28
dzt a écrit : Hmm. |
max(...) + 1 (le + 1 en dehors)
Marsh Posté le 04-06-2003 à 18:20:47
Trancy a écrit : il fo un espace entre & _ |
vb c'est d'la merde, en asp y'en a pas besoin
Marsh Posté le 03-06-2003 à 16:35:51
J'ai lu les précédents message du forum liés au problème d'ajout d'enregistrements dans une base ACCESS lorsque l'identifiant de la table concernée est en auto-incrémantation. (problème INSERT INTO sous VB)
La solution pour laquelle j'ai optée est d'écrire une chaine SQL comme suit :
SQL = "INSERT INTO PRODUIT (PROD_ID, PROD_LIB, PROD_PRIX, PROD_DESC) VALUES ("
SQL = SQL + "SELECT MAX(PROD_ID) FROM PRODUIT, " & Lib & ", " & prix & " ," & desc & " );"
Mais il semblerait que la syntaxe soit mauvaise. Quelqu'un pourrait il m'aider et rectifier le code (je rappelle que je suis sous VB) ? Je bloque dessus depuis pas mal de temps, et ca me soulagerait beaucoup de regler ce problème au plus vite
Merci d'avance.
Message édité par dzt le 03-06-2003 à 18:33:48