[Résolu] " update or insert " selon une condition

" update or insert " selon une condition [Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 18-06-2011 à 21:47:39    

salut,
 
je cherche à faire " update or insert  " selon une condition.
cette condition si le champs nom de la base de données est par exemple "hardware". c'est simple et ce code marche bien.
mais en réalité , cette condition dépend de contenu de champs c ' est à dire si une valeur est déjà existe dans le colonne nom ( on connait pas cette valeur ) donc on fais un seulement "update "si cette valeur n’existe pas dans le colonne on fais un "insert into "    
 
es ce que je fais select avant la condition ? et comment mettre le résultat dans l’instruction (if )  

Code :
  1. Private Sub CommandButton1_Click()
  2. Dim con As New ADODB.Connection
  3. con.ConnectionString = "Dbq= C:\Documents and Settings\Bureau\aplication_2011\essaye\base.accdb;" & "Driver={Microsoft Access Driver (*.mdb, *.accdb)};"
  4. con.Open
  5. If (TextBox1.Value = "hardware" ) Then
  6. con.Execute ("update user set prenom ='" & TextBox2.Text & "' where nom = '" & TextBox1.Text & "' " )
  7. Else:
  8. con.Execute ("insert into user (nom, prenom ) values ( '" & TextBox1.Text & "','" & TextBox2.Text & "') " )
  9. con.Close
  10. Set con = Nothing
  11. End If
  12. End Sub


Message édité par pikamo le 19-06-2011 à 12:51:42
Reply

Marsh Posté le 18-06-2011 à 21:47:39   

Reply

Marsh Posté le 19-06-2011 à 12:51:05    

salut
 
problème résolu  
 
en gors :

Code :
  1. 'Vérif si enregistrement existant
  2. Set rs.ActiveConnection = con
  3. rs.Open " Select  * from table  where champ = valeur ;"
  4. 'Traitement
  5. If rs.EOF Then '(si pas d'enregistrements)
  6. 'insertion
  7. sql = " insert into table .......
  8. con.Execute sql
  9. Else '(au moins un enregistrement)
  10. sql2 = " UPDATE table SET ........
  11. con.Execute sql2
  12. End If
  13. rs.Close
  14. Set rs = Nothing
  15. con.Close
  16. Set con = Nothing

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed