Pb requete Access / VB

Vincent -  
 Vincent -
Bonjour,

Je cherche actuellement à faire une requete d'insertion (dans une seule table) à partir d'un formulaire access. Cependant, certaines des valeurs que je désire inserer nécessaite l'appel à une autre requete pour récupérer par exemple d'identifiant correspondant a la valeur d'un champ du formulaire (type de fichier dans mon cas).

Comment faire pour executer d'abord mes 2 requetes préalables pour récupérer les valeurs que je veux inserer (donc les stocker : dans une variable en vb ?) puis a partir des valeurs récupérées effectuer l'insertion désirée dans la table.

Merci d'avance,

Vincent

4 réponses

  1. Utilisateur anonyme
     
    Rien de tel qu'un peu de code VBA.
    As-tu des notions de VBA?

    Rien n'est plus dangereux qu'une idée quand on a 
    qu'une idée
      :-)
    0
  2. Vincent
     
    Oui quelques unes (vraiment vite fait), je me suis dit que je pourrais utiliser DoCmd.OpenQuery mais impossible de stocker ca dans une variable, faut-il utiliser des techniques spéciales d'accès aux données avec des objets recordset et tout ce qui va avec ? Sinon, comment je peux ramener les résultat de mes 2 requetes dans 2 variable en utilisant seulement le vb ?

    Merci de ta réponse

    Vincent
    0
  3. Utilisateur anonyme
     
    Aller, un petit exemple:

    Je suppose que le form contien un bouton nommé "Bounton":

    Private Sub Bouton_Click()
      Dim mDb As Database    
      Dim mRs1, mRs2 As RecordSet 
    
      Set mDb = CurrentDb
      Set mRs1 = mDb.Openrecordset("Nom de la table dans laquelle tu insère",dbOpenDynaset, dbSeeChanges, dbPessimistic)
      Set mRs2 = mDb.Openrecordset("Nom de la table dans laquelle tu recherche",dbOpenDynaset, dbSeeChanges, dbPessimistic)
    
      mRs2.FindFirst ("Ton critère de recherche")
      mRs1.AddNew
      mRs1("Champ1") = mRs2("Champ2").Value
      mRs1("Valeur1") = 125
      mRs1.Update
    
      mDb.Close
    End Sub


    Remarque: Quand tu sélectionnes un mot dans le prog (par exemple "FindFirst") et que tu appuyes sur F1, l'aide en ligne te propose des exemples très utilses.

    Rien n'est plus dangereux qu'une idée quand on a 
    qu'une idée
      :-)
    0
  4. Vincent
     
    Ok merci, j'ai compris le principe, si je potasse un peu je devrais trouver comment executer une requete par le OpenRecordset pour inserer tout d'un coup (avec une requete d'insertion sql construite à partir des résultat des autres requetes)

    Merci encore
    0