Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1313 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème d'auto incrémentation sous VB - Access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'auto incrémentation sous VB - Access

n°414722
dzt
Posté le 03-06-2003 à 16:35:51  profilanswer
 

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
mood
Publicité
Posté le 03-06-2003 à 16:35:51  profilanswer
 

n°415007
MagicBuzz
Posté le 03-06-2003 à 20:43:23  profilanswer
 

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 " &_
      "lbabla 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.


Message édité par MagicBuzz le 03-06-2003 à 20:43:36
n°415729
dzt
Posté le 04-06-2003 à 10:10:52  profilanswer
 

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" ) :D
 
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 :]

n°415914
Trancy
Posté le 04-06-2003 à 11:45:44  profilanswer
 

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.


Message édité par Trancy le 04-06-2003 à 11:48:04
n°416077
Yoyo@
Posté le 04-06-2003 à 13:50:05  profilanswer
 

Trancy a écrit :

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.


 
+1  
 
Et puis je dirais meme plus, si ca marche sur une ligne, tu le laisses sur une ligne :)

n°416221
dzt
Posté le 04-06-2003 à 14:52:18  profilanswer
 

Merci messieurs, ca marche ;)

n°416267
Trancy
Posté le 04-06-2003 à 15:08:45  profilanswer
 

Yoyo@ a écrit :


Et puis je dirais meme plus, si ca marche sur une ligne, tu le laisses sur une ligne :)


 
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 :ouch:  
 
C cool que ca marche now  :wahoo:

n°416760
MagicBuzz
Posté le 04-06-2003 à 18:20:28  profilanswer
 

dzt a écrit :

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" ) :D
 
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 :]


 
max(...) + 1 (le + 1 en dehors)

n°416761
MagicBuzz
Posté le 04-06-2003 à 18:20:47  profilanswer
 

Trancy a écrit :

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.


vb c'est d'la merde, en asp y'en a pas besoin :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème d'auto incrémentation sous VB - Access

 

Sujets relatifs
[vb]bdd access : assistant feuilles de données et messages d'erreursVB6 &Access 2002
problème épineux[SQL sous ACCESS 97 ] problème de cumul
problème de variables dans fonction PHP[PHP] probleme louche
petit probleme...[VBA - Access] Récupérer une Date à partir d'une Date Time
[Flash 5] Probleme d affichages ... 
Plus de sujets relatifs à : Problème d'auto incrémentation sous VB - Access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR