L
Lou
Bonjour,
Dieu merci il y a ce forum!! Est-ce que quelqu'un aurait la gentillesse de
regarder au code suivant?
J'ai téléchargé un exemple de formulaire multi-recherche et j'ai essayé de
l'adapter à ma table. Le problème est que je reçois l'erreur suivante et je
ne trouve pas l'erreur.
Le nom de ma table est "TableMatiere"
Mes champs sont : No_ecole, nom, prenom, matiere, NoEmploy, Diplome, Majeur,
Mineur, EcoleBase.
Dans mon formulaire il y a 3 cases à cocher pour activer les critères de
recherches. Donc si je coche la première case, la liste déroulante
"No_école" est affichée et je peux sélectionner un numéro d'école. Dans ma
zone de liste je reçoit toutes les écoles avec ce numéro. Par la suite je
coche la case "Majeur" et dans ma zone de liste un autre tri s'applique selon
la majeur que j'ai sélectionnée et la même chose pour un troisième critère
qui est "Mineur". Deplus, il y a un compte des enregistrements qui s'affiche
ex : 33/128.
Dès que je coche ma première case voici le message d'erreur que je reçois :
Erreur d'exécution 2428
Vous avez entré un argument non valide dans une fonction de domaine.
Merci beaucoup pour votre aide!!
Voici le code :
Option Compare Database
Private Sub ChkNo_ecole_Click()
If Me.ChkNo_ecole Then
Me.CmbNo_ecole.Visible = False
Else
Me.CmbNo_ecole.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkMajeur_Click()
If Me.ChkMajeur Then
Me.CmbMajeur.Visible = False
Else
Me.CmbMajeur.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkMineur_Click()
If Me.ChkMineur Then
Me.CmbMineur.Visible = False
Else
Me.CmbMineur.Visible = True
End If
RefreshQuery
End Sub
Private Sub CmbMajeur_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub Form_Load()
Dim ctl As Control
For Each ctl In Me.Controls
Select Case Left(ctl.Name, 3)
Case "chk"
ctl.Value = -1
Case "lbl"
ctl.Caption = "- * - * -"
Case "txt"
ctl.Visible = False
ctl.Value = ""
Case "cmb"
ctl.Visible = False
End Select
Next ctl
Me.lstResults.RowSource = "SELECT No_ecole, Nom, Prenom, Matiere, NoEmploy,
Diplome, Majeur, Mineur, EcoleBase FROM TableMatiere;"
Me.lstResults.Requery
End Sub
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT No_ecole, Nom, Prenom, Matiere, NoEmploy, Diplome, Majeur,
Mineur, FROM TableMatiere Where TableMatiere!No_Ecole<>0"
If Not Me.ChkNo_ecole Then
SQL = SQL & "And TableMatiere!No_Ecole = '" & Me.CmbNo_ecole & "' "
End If
If Not Me.ChkMajeur Then
SQL = SQL & "And Tablematiere!Majeur = '" & Me.CmbMajeur & "' "
End If
If Not Me.ChkMineur Then
SQL = SQL & "And TableMatiere!Mineur = '" & Me.CmbMineur & "' "
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") +
1))
SQL = SQL & ";"
Me.lblStats.Caption = DCount(Nom, "TableMatiere", SQLWhere) & " / " &
DCount(Nom, "TableMatiere")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Private Sub CmbNo_ecole_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub CmbMineur_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Dieu merci il y a ce forum!! Est-ce que quelqu'un aurait la gentillesse de
regarder au code suivant?
J'ai téléchargé un exemple de formulaire multi-recherche et j'ai essayé de
l'adapter à ma table. Le problème est que je reçois l'erreur suivante et je
ne trouve pas l'erreur.
Le nom de ma table est "TableMatiere"
Mes champs sont : No_ecole, nom, prenom, matiere, NoEmploy, Diplome, Majeur,
Mineur, EcoleBase.
Dans mon formulaire il y a 3 cases à cocher pour activer les critères de
recherches. Donc si je coche la première case, la liste déroulante
"No_école" est affichée et je peux sélectionner un numéro d'école. Dans ma
zone de liste je reçoit toutes les écoles avec ce numéro. Par la suite je
coche la case "Majeur" et dans ma zone de liste un autre tri s'applique selon
la majeur que j'ai sélectionnée et la même chose pour un troisième critère
qui est "Mineur". Deplus, il y a un compte des enregistrements qui s'affiche
ex : 33/128.
Dès que je coche ma première case voici le message d'erreur que je reçois :
Erreur d'exécution 2428
Vous avez entré un argument non valide dans une fonction de domaine.
Merci beaucoup pour votre aide!!
Voici le code :
Option Compare Database
Private Sub ChkNo_ecole_Click()
If Me.ChkNo_ecole Then
Me.CmbNo_ecole.Visible = False
Else
Me.CmbNo_ecole.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkMajeur_Click()
If Me.ChkMajeur Then
Me.CmbMajeur.Visible = False
Else
Me.CmbMajeur.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkMineur_Click()
If Me.ChkMineur Then
Me.CmbMineur.Visible = False
Else
Me.CmbMineur.Visible = True
End If
RefreshQuery
End Sub
Private Sub CmbMajeur_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub Form_Load()
Dim ctl As Control
For Each ctl In Me.Controls
Select Case Left(ctl.Name, 3)
Case "chk"
ctl.Value = -1
Case "lbl"
ctl.Caption = "- * - * -"
Case "txt"
ctl.Visible = False
ctl.Value = ""
Case "cmb"
ctl.Visible = False
End Select
Next ctl
Me.lstResults.RowSource = "SELECT No_ecole, Nom, Prenom, Matiere, NoEmploy,
Diplome, Majeur, Mineur, EcoleBase FROM TableMatiere;"
Me.lstResults.Requery
End Sub
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT No_ecole, Nom, Prenom, Matiere, NoEmploy, Diplome, Majeur,
Mineur, FROM TableMatiere Where TableMatiere!No_Ecole<>0"
If Not Me.ChkNo_ecole Then
SQL = SQL & "And TableMatiere!No_Ecole = '" & Me.CmbNo_ecole & "' "
End If
If Not Me.ChkMajeur Then
SQL = SQL & "And Tablematiere!Majeur = '" & Me.CmbMajeur & "' "
End If
If Not Me.ChkMineur Then
SQL = SQL & "And TableMatiere!Mineur = '" & Me.CmbMineur & "' "
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") +
1))
SQL = SQL & ";"
Me.lblStats.Caption = DCount(Nom, "TableMatiere", SQLWhere) & " / " &
DCount(Nom, "TableMatiere")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Private Sub CmbNo_ecole_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub CmbMineur_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub