[access]source de controle d'un champ

Bonjour,

Je rencontre actuellement un problème sur le développement d'une application sous access qui est le suivant :

Le but est de faire une recherche avancée dans la base de données dans différentes tables.
J'ai créé un formulaire avec un champ qui renseigne sur chaque table associée et j'aimerais créé une reqête dynamiquement à partir de ces informations en vb.
J'arrive à accéder aux données du formulaire pour créer la requête mais je ne sais pas comment l'exécuter.
J'ai essayé de changer la source de contrôle d'un champ pour qu'il affiche le résultat de la requête mais sans succès car je pense que je m'y prend mal ou ce n'est pas la bonne solution.

Si quelqu'un trouve le temps de me répondre avec toutes ces fêtes, je serais ravi.
Je vous souhaite en tout cas à tous une bonne année!

Merci d'avance.

Version access : 2007.
Configuration: Windows XP
Firefox 2.0.0.11

3 réponses

  1. faire un calcul avec access par source controle le generateur d'expession doit contenir un text
    2
    1. Private Sub cboID_ARTICLE_Change()

      Dim db As Object
      Dim rs As Object

      On Error GoTo Err_cboID_ARTICLE_Change

      Set db = DBEngine(0)(0)
      Set rs = db.OpenRecordset("SELECT TOP 1 ID_BRAND FROM Expenses WHERE ID_SHOP = " & Me.cboID_SHOP & " AND ID_ARTICLE = " & Me.cboID_ARTICLE & " GROUP BY ID_BRAND ORDER BY Count(ID_BRAND) DESC")
      Me.cboID_BRAND.DefaultValue = rs(0)

      Exit_cboID_ARTICLE_Change:
      Set rs = Nothing
      Set db = Nothing
      Exit Sub

      Err_cboID_ARTICLE_Change:
      MsgBox Err.Description
      Resume Exit_cboID_ARTICLE_Change

      End Sub
      0
      1. J'ai essayé cette proposition sans succès, il me disait qu'il n'y avait pas d'enregistrement en cours...
        J'ai trouvé une autre solution sui consiste à intégrer un sous formulaire qui est filtré selon les champs saisies

        Private Sub Commande39_Click()
        Dim strcritere As String
        strcritere = ""
        If Not IsNull(Me.cepage) Then
        strcritere = "([nomcepage]='" & Me.cepage & "')"
        End If
        If Not IsNull(Me.pays) Then
        If strcritere <> "" Then strcritere = strcritere & "and"
        strcritere = strcritere & "([codepays]=" & Me.pays & ")"
        End If
        If Not IsNull(Me.terroir) Then
        If strcritere <> "" Then strcritere = strcritere & "and"
        strcritere = strcritere & "([coderegion]=" & Me.terroir & ")"
        End If
        If Not IsNull(Me.vin) Then
        If strcritere <> "" Then strcritere = strcritere & "and"
        strcritere = strcritere & "([nomvin]like'" & Me.vin & "*')"
        End If
        MsgBox strcritere
        Me!resultat.Form.Filter = strcritere
        Me!resultat.Form.FilterOn = True
        End Sub

        etc...
        0