Probleme requete VBA

Probleme requete VBA - VB/VBA/VBS - Programmation

Marsh Posté le 11-04-2008 à 14:41:06    

Un formulaire : form1
 
un groupe d'options : CadreChoix
 
une textbox : critereUpdate
 
 
un bouton de commande : boutonUpdate
 
 
Quand je clique sur le bouton, ma fonction va regarder l'option choisit, et construire une requete en fonction.
 
 
 
Tout d'abord, la fonction qui recupere l'option choisie :
 

Code :
  1. Private Function getChoixUpdate() As String
  2.     Dim var As String
  3.     Select Case Me.CadreChoix.Value
  4.         Case 1
  5.             var = "id"
  6.         Case 2
  7.             var = "nom"
  8.         Case 3
  9.             var = "prenom"
  10.     End Select
  11.    
  12.     getChoixUpdate = var
  13.     MsgBox "" & var
  14.    
  15. End Function


 
Elle marche, pas de soucis.
 
 
 
Je recupere la valeur de ma textbox :

Code :
  1. Private Function getCritereUpdate() As String
  2.     Dim var As String
  3.     var = Me.CritereUpdate
  4.     getCritereUpdate = var
  5.     MsgBox "" & var
  6. End Function


 
Et enfin, la fonction affectée au bouton de commande.

Code :
  1. Private Sub BoutonUpdate_Click()
  2.    
  3. DoCmd.SetWarnings True
  4. Dim resultat As DAO.Recordset
  5. Dim critere As String
  6. Dim requete As String
  7. Dim nom As String
  8. Dim prenom As String
  9. Dim num As String
  10. choix = getChoixUpdate()
  11. critere = getCritereUpdate()
  12. 'valcrit = getValeurUpdate()
  13. requete = "SELECT * from [personnes] where " & choix & " = " & critere & ""
  14. MsgBox "" & requete
  15. Set resultat = CurrentDb.OpenRecordset(requete)
  16. If Not resultat.EOF Then
  17.    num = resultat.Fields("id" ).Value
  18.    nom = resultat.Fields("nom" ).Value
  19.    prenom = resultat.Fields("prenom" ).Value
  20.  
  21.    MsgBox "1 Personne trouvée :" & vbCrLf & _
  22.    "Id : " & num & vbCrLf & _
  23.    "Nom : " & nom & vbCrLf & _
  24.    "Prenom : " & prenom _
  25.    , vbInformation _
  26.    , "Enregistrement trouvé"
  27.  
  28.      
  29. End If
  30. End Sub


 
 
Quand je prends l'option id (qui est un numero auto en base, donc un chiffre) ca marche niquel.
Ca me retourne l'enregistrement.
 
Par contre, quand je veux selectionner une valeur texte, ca merde :/
La faute à la requete qui va etre :  
 

Code :
  1. Select * from personnes where nom=coucou


 
Et je pense que ca ne marche pas vu qu'il ne met pas les  " autour de la valeur à chercher.
C'est bien ca?  
Donc je me demande comment remédier à cela [:dawa]  
 
Si quelqu'un a des idées :)
 
(et au passage, si vous vous voyez des trucs moches, énormes, à revoir, etc...j'suis preneur)


Message édité par gocho le 11-04-2008 à 14:45:38
Reply

Marsh Posté le 11-04-2008 à 14:41:06   

Reply

Marsh Posté le 11-04-2008 à 15:23:34    

Code :
  1. requete = "SELECT * from [personnes] where " & choix & " = '" & critere & "'"


 
ca marche maintenant [:kiki]
 
j'sais pas comment j'ai fait pour passer à coté de ca [:kiki]


Message édité par gocho le 11-04-2008 à 15:23:54
Reply

Sujets relatifs:

Leave a Replay

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