Bonjour,
En vue de créer un outil de terminologie qui me ferait gagner du temps, j'ai
créé une banque de données Access.
Elle comporte une table principale de 4 champs ; DE, FR, Source et N°Au to
(clé primaire), et une table secondaire de 1 champ référençant le s sources.
J'ai crée un formulaire d'entrée des données mais il me faudrait au ssi un
formulaire de recherche dans la table principale, qui contiendra environ
100.000 expressions minimum et ne peut donc être consultée facilement ....
Je cherche une solution pour créer un formulaire où je pourrais entre r une
suite de caractères et effectuer une recherche dans la table de ces m êmes
caractères, avec un affichage consécutif des résultats.
1. Cela est-il possible sous Access ?
2. si oui, pourriez-vous me dire comment je peux le faire ?
Merci d'avance pour votre aide...
Yuna
Bonjour,
En vue de créer un outil de terminologie qui me ferait gagner du temps, j'ai
créé une banque de données Access.
Elle comporte une table principale de 4 champs ; DE, FR, Source et N°Au to
(clé primaire), et une table secondaire de 1 champ référençant le s sources.
J'ai crée un formulaire d'entrée des données mais il me faudrait au ssi un
formulaire de recherche dans la table principale, qui contiendra environ
100.000 expressions minimum et ne peut donc être consultée facilement ....
Je cherche une solution pour créer un formulaire où je pourrais entre r une
suite de caractères et effectuer une recherche dans la table de ces m êmes
caractères, avec un affichage consécutif des résultats.
1. Cela est-il possible sous Access ?
2. si oui, pourriez-vous me dire comment je peux le faire ?
Merci d'avance pour votre aide...
Yuna
Bonjour,
En vue de créer un outil de terminologie qui me ferait gagner du temps, j'ai
créé une banque de données Access.
Elle comporte une table principale de 4 champs ; DE, FR, Source et N°Au to
(clé primaire), et une table secondaire de 1 champ référençant le s sources.
J'ai crée un formulaire d'entrée des données mais il me faudrait au ssi un
formulaire de recherche dans la table principale, qui contiendra environ
100.000 expressions minimum et ne peut donc être consultée facilement ....
Je cherche une solution pour créer un formulaire où je pourrais entre r une
suite de caractères et effectuer une recherche dans la table de ces m êmes
caractères, avec un affichage consécutif des résultats.
1. Cela est-il possible sous Access ?
2. si oui, pourriez-vous me dire comment je peux le faire ?
Merci d'avance pour votre aide...
Yuna
Tout d'abord, merci booooooooooooooooocoup pour l'aide...
sauf que je n'arrive pas trop à départager les instructions des lignes de
code... hmmm j'ai jamais vraiment mis le nez dans les codes, toujours
utilisé
les fonctions préprogrammées.
est-ce que les commandes en français fonctionnent aussi avec un access en
anglais ? (eh oui, mon ordi est en anglische)
si oui tant mieux
seriez-vous en mesure, si je vous donne les noms des champs de me rédiger
le
code pour que je fasse un copier coller ? je sais, c'est beaucoup demander
:oS
sinon, pourriez-vous me mettre en Italique vos instructions et en gras les
parties à adapter aux noms que j'ai choisis?
mercimille fois en avance
Yuna
"gilles" a écrit :oui c'est possible il tefaut créer
-un formalaire avec un champ critere et un bouton btnrecherche et un
bouton btneffacer avec le code ci dessous:
- un sous-formauliare resultat pour afficher le resultat
Private Sub btnrecherche_Click()
On Error GoTo Err_btnrecherche_Click
' Crée une clause WHERE en utilisant le critère recherche entré
' par l'utilisateur et définit la propriété Source (RecordSource)
' du sous-formulaire Trouver les resulats
Dim monsql As String, moncritère As String, monjeuenreg As String
Dim NbrArg As Integer
Dim Tmp As Variant
' Initialise le compteur d'argument.
NbrArg = 0
' Initialise l'instruction SELECT.
monsql = "SELECT * FROM matable WHERE "
moncritère = ""
' Utilise les valeurs entrées dans les zones de texte de l'en-
tête de fomrulaire
' pour créer les critères de la clause WHERE.
Ajouterà Where [critere], "[nomduchampouonfaitlarecherche]",
moncritère, NbrArg
' Si aucun critère n'est spécifié, renvoie tous les
enregistrements.
If moncritère = "ERREUR" Then
Me![critere].SetFocus
Exit Sub
End If
If moncritère = "" Then
moncritère = "True"
End If
' Crée l'instruction SELECT.
moncritère = UCase(moncritère)
monjeuenreg = monsql & moncritère
' Défini la propriété RecordSource du sous-formulaire .
Me![resultat].Form.RecordSource = monjeuenreg
' Si aucun enregistrement ne correspond aux critères, affiche un
message.
' Active le bouton Effacer.
If Me![resultat].Form.RecordsetClone.RecordCount = 0 Then
MsgBox "Aucun enregistrement ne correspond aux critères
introduits.", 48, "Aucun enregistrements trouvés"
Me!btnEffacer.SetFocus
Else
' Place le point d'insertion dans le sous-formulaire .
Me![resultat].SetFocus
End If
Exit_btnrecherche_Click:
Exit Sub
Err_btnrecherche_Click:
MsgBox Err.description
Resume Exit_btnrecherche_Click
End Sub
Private Sub Ajouterà Where(ValeurChamp As Variant, NomChamp As String,
moncritère As String, NbrArg As Integer)
On Error GoTo Err_Ajouterà Where
' Crée le critère pour la clause WHERE.
If ValeurChamp <> "" Then
' Ajoute "et" si aucun critère existe.
If NbrArg > 0 Then
moncritère = moncritère & " And "
End If
moncritère = moncritère & NomChamp & " Like " & Chr(39) &
ValeurChamp & Chr(42) & Chr(39))
' Augmente le compteur d'argument.
NbrArg = NbrArg + 1
End If
fin:
Exit_Ajouterà Where:
Exit Sub
Err_Ajouterà Where:
MsgBox Err.description
Resume Exit_Ajouterà Where
End Sub
Private Sub btneffacer_Click()
On Error GoTo Err_btneffacer_Click
' Efface les contrôles dans l'en-tête de formulaire et retire les
' enregistrements du sous-formulaire.
'
Dim monsql As String
Dim Tmp As Variant
monsql = "SELECT * FROM ma table WHERE False"
' Clear search text boxes.
Me![critere] = Null
' Réinitialise la propriété RecordSource du sous-formualire pour
retirer les enregistrements.
Me![resultat].Form.RecordSource = monsql
' Place le point d'insertion dans le zone de texte Recherche.
Me![critere].SetFocus
Exit_btneffacer_Click:
Exit Sub
Err_btneffacer_Click:
MsgBox Err.description
Resume Exit_btneffacer_Click
End Sub
si tu a pas tout compris reviens
Yuna a écrit :
> Bonjour,
>
> En vue de créer un outil de terminologie qui me ferait gagner du temps,
> j'ai
> créé une banque de données Access.
> Elle comporte une table principale de 4 champs ; DE, FR, Source et
> N°Auto
> (clé primaire), et une table secondaire de 1 champ référençant les
> sources.
>
> J'ai crée un formulaire d'entrée des données mais il me faudrait aussi
> un
> formulaire de recherche dans la table principale, qui contiendra
> environ
> 100.000 expressions minimum et ne peut donc être consultée
> facilement.....
>
> Je cherche une solution pour créer un formulaire où je pourrais entrer
> une
> suite de caractères et effectuer une recherche dans la table de ces
> mêmes
> caractères, avec un affichage consécutif des résultats.
>
> 1. Cela est-il possible sous Access ?
> 2. si oui, pourriez-vous me dire comment je peux le faire ?
>
> Merci d'avance pour votre aide...
>
> Yuna
Tout d'abord, merci booooooooooooooooocoup pour l'aide...
sauf que je n'arrive pas trop à départager les instructions des lignes de
code... hmmm j'ai jamais vraiment mis le nez dans les codes, toujours
utilisé
les fonctions préprogrammées.
est-ce que les commandes en français fonctionnent aussi avec un access en
anglais ? (eh oui, mon ordi est en anglische)
si oui tant mieux
seriez-vous en mesure, si je vous donne les noms des champs de me rédiger
le
code pour que je fasse un copier coller ? je sais, c'est beaucoup demander
:oS
sinon, pourriez-vous me mettre en Italique vos instructions et en gras les
parties à adapter aux noms que j'ai choisis?
mercimille fois en avance
Yuna
"gilles" a écrit :
oui c'est possible il tefaut créer
-un formalaire avec un champ critere et un bouton btnrecherche et un
bouton btneffacer avec le code ci dessous:
- un sous-formauliare resultat pour afficher le resultat
Private Sub btnrecherche_Click()
On Error GoTo Err_btnrecherche_Click
' Crée une clause WHERE en utilisant le critère recherche entré
' par l'utilisateur et définit la propriété Source (RecordSource)
' du sous-formulaire Trouver les resulats
Dim monsql As String, moncritère As String, monjeuenreg As String
Dim NbrArg As Integer
Dim Tmp As Variant
' Initialise le compteur d'argument.
NbrArg = 0
' Initialise l'instruction SELECT.
monsql = "SELECT * FROM matable WHERE "
moncritère = ""
' Utilise les valeurs entrées dans les zones de texte de l'en-
tête de fomrulaire
' pour créer les critères de la clause WHERE.
Ajouterà Where [critere], "[nomduchampouonfaitlarecherche]",
moncritère, NbrArg
' Si aucun critère n'est spécifié, renvoie tous les
enregistrements.
If moncritère = "ERREUR" Then
Me![critere].SetFocus
Exit Sub
End If
If moncritère = "" Then
moncritère = "True"
End If
' Crée l'instruction SELECT.
moncritère = UCase(moncritère)
monjeuenreg = monsql & moncritère
' Défini la propriété RecordSource du sous-formulaire .
Me![resultat].Form.RecordSource = monjeuenreg
' Si aucun enregistrement ne correspond aux critères, affiche un
message.
' Active le bouton Effacer.
If Me![resultat].Form.RecordsetClone.RecordCount = 0 Then
MsgBox "Aucun enregistrement ne correspond aux critères
introduits.", 48, "Aucun enregistrements trouvés"
Me!btnEffacer.SetFocus
Else
' Place le point d'insertion dans le sous-formulaire .
Me![resultat].SetFocus
End If
Exit_btnrecherche_Click:
Exit Sub
Err_btnrecherche_Click:
MsgBox Err.description
Resume Exit_btnrecherche_Click
End Sub
Private Sub Ajouterà Where(ValeurChamp As Variant, NomChamp As String,
moncritère As String, NbrArg As Integer)
On Error GoTo Err_Ajouterà Where
' Crée le critère pour la clause WHERE.
If ValeurChamp <> "" Then
' Ajoute "et" si aucun critère existe.
If NbrArg > 0 Then
moncritère = moncritère & " And "
End If
moncritère = moncritère & NomChamp & " Like " & Chr(39) &
ValeurChamp & Chr(42) & Chr(39))
' Augmente le compteur d'argument.
NbrArg = NbrArg + 1
End If
fin:
Exit_Ajouterà Where:
Exit Sub
Err_Ajouterà Where:
MsgBox Err.description
Resume Exit_Ajouterà Where
End Sub
Private Sub btneffacer_Click()
On Error GoTo Err_btneffacer_Click
' Efface les contrôles dans l'en-tête de formulaire et retire les
' enregistrements du sous-formulaire.
'
Dim monsql As String
Dim Tmp As Variant
monsql = "SELECT * FROM ma table WHERE False"
' Clear search text boxes.
Me![critere] = Null
' Réinitialise la propriété RecordSource du sous-formualire pour
retirer les enregistrements.
Me![resultat].Form.RecordSource = monsql
' Place le point d'insertion dans le zone de texte Recherche.
Me![critere].SetFocus
Exit_btneffacer_Click:
Exit Sub
Err_btneffacer_Click:
MsgBox Err.description
Resume Exit_btneffacer_Click
End Sub
si tu a pas tout compris reviens
Yuna a écrit :
> Bonjour,
>
> En vue de créer un outil de terminologie qui me ferait gagner du temps,
> j'ai
> créé une banque de données Access.
> Elle comporte une table principale de 4 champs ; DE, FR, Source et
> N°Auto
> (clé primaire), et une table secondaire de 1 champ référençant les
> sources.
>
> J'ai crée un formulaire d'entrée des données mais il me faudrait aussi
> un
> formulaire de recherche dans la table principale, qui contiendra
> environ
> 100.000 expressions minimum et ne peut donc être consultée
> facilement.....
>
> Je cherche une solution pour créer un formulaire où je pourrais entrer
> une
> suite de caractères et effectuer une recherche dans la table de ces
> mêmes
> caractères, avec un affichage consécutif des résultats.
>
> 1. Cela est-il possible sous Access ?
> 2. si oui, pourriez-vous me dire comment je peux le faire ?
>
> Merci d'avance pour votre aide...
>
> Yuna
Tout d'abord, merci booooooooooooooooocoup pour l'aide...
sauf que je n'arrive pas trop à départager les instructions des lignes de
code... hmmm j'ai jamais vraiment mis le nez dans les codes, toujours
utilisé
les fonctions préprogrammées.
est-ce que les commandes en français fonctionnent aussi avec un access en
anglais ? (eh oui, mon ordi est en anglische)
si oui tant mieux
seriez-vous en mesure, si je vous donne les noms des champs de me rédiger
le
code pour que je fasse un copier coller ? je sais, c'est beaucoup demander
:oS
sinon, pourriez-vous me mettre en Italique vos instructions et en gras les
parties à adapter aux noms que j'ai choisis?
mercimille fois en avance
Yuna
"gilles" a écrit :oui c'est possible il tefaut créer
-un formalaire avec un champ critere et un bouton btnrecherche et un
bouton btneffacer avec le code ci dessous:
- un sous-formauliare resultat pour afficher le resultat
Private Sub btnrecherche_Click()
On Error GoTo Err_btnrecherche_Click
' Crée une clause WHERE en utilisant le critère recherche entré
' par l'utilisateur et définit la propriété Source (RecordSource)
' du sous-formulaire Trouver les resulats
Dim monsql As String, moncritère As String, monjeuenreg As String
Dim NbrArg As Integer
Dim Tmp As Variant
' Initialise le compteur d'argument.
NbrArg = 0
' Initialise l'instruction SELECT.
monsql = "SELECT * FROM matable WHERE "
moncritère = ""
' Utilise les valeurs entrées dans les zones de texte de l'en-
tête de fomrulaire
' pour créer les critères de la clause WHERE.
Ajouterà Where [critere], "[nomduchampouonfaitlarecherche]",
moncritère, NbrArg
' Si aucun critère n'est spécifié, renvoie tous les
enregistrements.
If moncritère = "ERREUR" Then
Me![critere].SetFocus
Exit Sub
End If
If moncritère = "" Then
moncritère = "True"
End If
' Crée l'instruction SELECT.
moncritère = UCase(moncritère)
monjeuenreg = monsql & moncritère
' Défini la propriété RecordSource du sous-formulaire .
Me![resultat].Form.RecordSource = monjeuenreg
' Si aucun enregistrement ne correspond aux critères, affiche un
message.
' Active le bouton Effacer.
If Me![resultat].Form.RecordsetClone.RecordCount = 0 Then
MsgBox "Aucun enregistrement ne correspond aux critères
introduits.", 48, "Aucun enregistrements trouvés"
Me!btnEffacer.SetFocus
Else
' Place le point d'insertion dans le sous-formulaire .
Me![resultat].SetFocus
End If
Exit_btnrecherche_Click:
Exit Sub
Err_btnrecherche_Click:
MsgBox Err.description
Resume Exit_btnrecherche_Click
End Sub
Private Sub Ajouterà Where(ValeurChamp As Variant, NomChamp As String,
moncritère As String, NbrArg As Integer)
On Error GoTo Err_Ajouterà Where
' Crée le critère pour la clause WHERE.
If ValeurChamp <> "" Then
' Ajoute "et" si aucun critère existe.
If NbrArg > 0 Then
moncritère = moncritère & " And "
End If
moncritère = moncritère & NomChamp & " Like " & Chr(39) &
ValeurChamp & Chr(42) & Chr(39))
' Augmente le compteur d'argument.
NbrArg = NbrArg + 1
End If
fin:
Exit_Ajouterà Where:
Exit Sub
Err_Ajouterà Where:
MsgBox Err.description
Resume Exit_Ajouterà Where
End Sub
Private Sub btneffacer_Click()
On Error GoTo Err_btneffacer_Click
' Efface les contrôles dans l'en-tête de formulaire et retire les
' enregistrements du sous-formulaire.
'
Dim monsql As String
Dim Tmp As Variant
monsql = "SELECT * FROM ma table WHERE False"
' Clear search text boxes.
Me![critere] = Null
' Réinitialise la propriété RecordSource du sous-formualire pour
retirer les enregistrements.
Me![resultat].Form.RecordSource = monsql
' Place le point d'insertion dans le zone de texte Recherche.
Me![critere].SetFocus
Exit_btneffacer_Click:
Exit Sub
Err_btneffacer_Click:
MsgBox Err.description
Resume Exit_btneffacer_Click
End Sub
si tu a pas tout compris reviens
Yuna a écrit :
> Bonjour,
>
> En vue de créer un outil de terminologie qui me ferait gagner du temps,
> j'ai
> créé une banque de données Access.
> Elle comporte une table principale de 4 champs ; DE, FR, Source et
> N°Auto
> (clé primaire), et une table secondaire de 1 champ référençant les
> sources.
>
> J'ai crée un formulaire d'entrée des données mais il me faudrait aussi
> un
> formulaire de recherche dans la table principale, qui contiendra
> environ
> 100.000 expressions minimum et ne peut donc être consultée
> facilement.....
>
> Je cherche une solution pour créer un formulaire où je pourrais entrer
> une
> suite de caractères et effectuer une recherche dans la table de ces
> mêmes
> caractères, avec un affichage consécutif des résultats.
>
> 1. Cela est-il possible sous Access ?
> 2. si oui, pourriez-vous me dire comment je peux le faire ?
>
> Merci d'avance pour votre aide...
>
> Yuna