[access]source de controle d'un champ

kenny -  
 amadou.14 -
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. amadou.14
     
    faire un calcul avec access par source controle le generateur d'expession doit contenir un text
    2
  2. phil_232 Messages postés 286 Statut Membre 33
     
    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
  3. kenny
     
    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