jmberriot
Messages postés19Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention11 avril 2008
-
13 mai 2006 à 10:45
cs_amita
Messages postés151Date d'inscriptionsamedi 17 juillet 2004StatutMembreDernière intervention11 mai 2012
-
21 mai 2008 à 20:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_amita
Messages postés151Date d'inscriptionsamedi 17 juillet 2004StatutMembreDernière intervention11 mai 2012 21 mai 2008 à 20:49
merci jack c'est r?solu
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 21 mai 2008 à 19:04
Dans ton cas, si tu avais voulu entrer tout ton texte dans le dictionnaire (impossible), il aurait fallu entrer la commande :
Call DB_AjouterMot(rtbTexte.Text)
car l'objet qui contient le texte DANS le UC est la RichTextBox, pas le UC lui même qui est un ensemble de composants.
Par contre, depuis ta forme hôte qui héberge un exemplaire du UC, il n'existera que le ucRTBCorrecteur1 et ses fonctions.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 21 mai 2008 à 19:00
Mais pourquoi veux-tu à tout prix lui transmettre le texte entier ?
Il s'agit d'ajouter un mot, pas plus.
Si tu travailles DANS le UC, il ne faut pas y faire référence.
Exemple d'utilisation du menu en question :
Private Sub mnuAjouterMot_Click()
Dim Texte As String
Texte = InputBox("Quel mot voulez-vous ajouter au dictionnaire ?", _
"Ajout de mot au dico", "")
If Texte = "" Then Exit Sub
DB_AjouterMot (Texte)
End Sub
cs_amita
Messages postés151Date d'inscriptionsamedi 17 juillet 2004StatutMembreDernière intervention11 mai 2012 21 mai 2008 à 17:01
j'ai cr?e le menu
Private Sub mnuAjouterMot_Click
ucRTBCorrecteur.DB_AjouterMot rtbTexte.Text
End Sub
dans le control lui m?me le probl?me
c'est que ucRTBCorrecteur ne reconnais pas DB_AjouterMot
il me signale l'erreur ucRTBCorrecteur variable non d?finie
merci
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 20 mai 2008 à 19:34
"ucRTBCorrecteur1" est bien le nom du composant sur ta forme hôte ?
Appelles-tu cette fonction depuis le code de ta forme hôte ou bien depuis le code du UserControl (UC) ? Dans ce cas, bien sûr, il faut utiliser le nom de la RTB dans le UC !
Dans l'exemple, là, tu passes le texte entier de la RTB !
Il faut récupérer le seul et unique mot à insérer (à faire en t'inspirant du découpage de texte déjà présent dans le code).
Quelle erreur as-tu ?
Quel est le comportement du programme ?
La fonction accepte une chaine 'String'
cs_amita
Messages postés151Date d'inscriptionsamedi 17 juillet 2004StatutMembreDernière intervention11 mai 2012 20 mai 2008 à 18:09
le problème se pose quand je met
If ucRTBCorrecteur1.DB_AjouterMot(ucRTBCorrecteur1.text) Then
Status.Panels(1).Text = "Mot """ & ucRTBCorrecteur1.text & """ ajouté au dictionnaire."
Else
' Pas la peine d'écrire un message, le composant s'occupe d'envoyer un
' RaiseEvent pour donner la cause du refus
End If
cad que ucRTBCorrecteur1.text est une variable de text
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 20 mai 2008 à 15:15
Salut Amita
En effet, cette fonction n'est appelée par personne.
Encore un 'truc' que j'avais prévu et que je n'ai pas utilisé.
A priori, la fonction devrait fonctionner.
Suffirait d'ajouter un menu contextuel (*) qui sélectionnerait le mot sous le curseur et qui enverrait ce mot dans la function :
(*) Menu contextuel : Voir la commande PopupMenu + l'aide + les sources de vbfrance
If ucRTBCorrecteur1.DB_AjouterMot(leMot) Then
Status.Panels(1).Text = "Mot """ & leMot & """ ajouté au dictionnaire."
Else
' Pas la peine d'écrire un message, le composant s'occupe d'envoyer un
' RaiseEvent pour donner la cause du refus
End If
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 mai 2008 à 08:36
pardon ?
cs_amita
Messages postés151Date d'inscriptionsamedi 17 juillet 2004StatutMembreDernière intervention11 mai 2012 19 mai 2008 à 20:17
comment ajouter un mot ? liste par la fonction DB_AjouterMot
avec un menu contextuelle
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 8 mai 2007 à 15:45
Salut à toi aussi Hajyahia
Il te faut cliquer sur "Télécharger le Zip", les sources sont dedans.
HAJYAHIA
Messages postés1Date d'inscriptionmardi 19 août 2003StatutMembreDernière intervention 8 mai 2007 8 mai 2007 à 15:32
ou est le code source ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 15 mai 2006 à 18:51
lol, merci Renfield
Encore une correction que je n'ai pas faite après ma modif organisationnelle.
Je corrige le zip dans la foulée.
Mikaels35
Messages postés146Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention17 novembre 20092 15 mai 2006 à 16:54
Merci beaucoup Renfield, ça marche impec !
@++
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 15 mai 2006 à 13:27
remplace simplement :
'SQL = "Delete * From Mots"
par :
Dim nDeleteCount As Long
For ff = 65 To 90
SQL = "Delete From [Mots_" & Chr$(ff) & "]"
maDB.Execute SQL, Nb
nDeleteCount = nDeleteCount + Nb
Next ff
Mikaels35
Messages postés146Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention17 novembre 20092 15 mai 2006 à 08:45
Salut Jack
J'essaie de tester ton programme, mais jobtiens cette erreur quand je fais la conversion TXT->MDB !
"-2157217865- Le moteur de base de données Microsoft Jet ne peut pas trouver la table ou la requête source 'Mots'.
Asssurez-vous qu'elle existe et qu'elle est correctement orthographiée."
Que dois-je faire pour pouvoir mener à bien cette conversion ?
Merci d'avance
@+
jmberriot
Messages postés19Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention11 avril 2008 13 mai 2006 à 18:23
Non c'est impec
Maitrisant mal les bases de données je craignais des données perdues, déplacées ou écrasées j'ai eu des déboires dans un prog perso où des blocs de dizaines de données se trouvaient déplacées à l'ouverture sans raison apparente ; problème jamais résolu alors je manipule les données dans fichier txt mais il devient trop gros ........ en attendant merci pour la reponse
JMB
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 13 mai 2006 à 17:16
Exact, JM, je n'avais pas corrigé cette requète.
En fait, au début, tous les mots se trouvaient dans une seule table et j'ai modifié la structure après, pensant que ça rendrait plus rapide les recherches. Ca n'a pas changé grand chose. Je mets à jour le Zip.
Une fois cette correction faite, tout fonctionne. Tu as encore une erreur ?
jmberriot
Messages postés19Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention11 avril 2008 13 mai 2006 à 10:45
Trés interessant
J'ai rajouté 2 menus contextuels (Supprimer mot et Ajouter mot)
mais >>>>
dans la Function DB_AjouterMot
>>>>>>>>>>>Signale Erreur : "Mots" non trouvé
'---------------- Ok, on l'insère
SQL = "Insert Into Mots (Mot, Soundex) " & "Values ('" & Texte & "', '" & xDB_SoundEX(Texte) & "')"
>>>>>>>>>>>> Remplacé par
'---------------- Ok, on l'insère
SQL = "Insert Into Mots_" & sLettre & " Values ('" & Texte & "', '" & xDB_SoundEX(Texte) & "')"
>>>>>>>>>> et ça marche.....
Pas assez doué sur les bases alors d'ou vient l'erreur , si tu as une idée à l'occasion
21 mai 2008 à 20:49
21 mai 2008 à 19:04
Call DB_AjouterMot(rtbTexte.Text)
car l'objet qui contient le texte DANS le UC est la RichTextBox, pas le UC lui même qui est un ensemble de composants.
Par contre, depuis ta forme hôte qui héberge un exemplaire du UC, il n'existera que le ucRTBCorrecteur1 et ses fonctions.
21 mai 2008 à 19:00
Il s'agit d'ajouter un mot, pas plus.
Si tu travailles DANS le UC, il ne faut pas y faire référence.
Exemple d'utilisation du menu en question :
Private Sub mnuAjouterMot_Click()
Dim Texte As String
Texte = InputBox("Quel mot voulez-vous ajouter au dictionnaire ?", _
"Ajout de mot au dico", "")
If Texte = "" Then Exit Sub
DB_AjouterMot (Texte)
End Sub
21 mai 2008 à 17:01
Private Sub mnuAjouterMot_Click
ucRTBCorrecteur.DB_AjouterMot rtbTexte.Text
End Sub
dans le control lui m?me le probl?me
c'est que ucRTBCorrecteur ne reconnais pas DB_AjouterMot
il me signale l'erreur ucRTBCorrecteur variable non d?finie
merci
20 mai 2008 à 19:34
Appelles-tu cette fonction depuis le code de ta forme hôte ou bien depuis le code du UserControl (UC) ? Dans ce cas, bien sûr, il faut utiliser le nom de la RTB dans le UC !
Dans l'exemple, là, tu passes le texte entier de la RTB !
Il faut récupérer le seul et unique mot à insérer (à faire en t'inspirant du découpage de texte déjà présent dans le code).
Quelle erreur as-tu ?
Quel est le comportement du programme ?
La fonction accepte une chaine 'String'
20 mai 2008 à 18:09
If ucRTBCorrecteur1.DB_AjouterMot(ucRTBCorrecteur1.text) Then
Status.Panels(1).Text = "Mot """ & ucRTBCorrecteur1.text & """ ajouté au dictionnaire."
Else
' Pas la peine d'écrire un message, le composant s'occupe d'envoyer un
' RaiseEvent pour donner la cause du refus
End If
cad que ucRTBCorrecteur1.text est une variable de text
20 mai 2008 à 15:15
En effet, cette fonction n'est appelée par personne.
Encore un 'truc' que j'avais prévu et que je n'ai pas utilisé.
A priori, la fonction devrait fonctionner.
Suffirait d'ajouter un menu contextuel (*) qui sélectionnerait le mot sous le curseur et qui enverrait ce mot dans la function :
(*) Menu contextuel : Voir la commande PopupMenu + l'aide + les sources de vbfrance
If ucRTBCorrecteur1.DB_AjouterMot(leMot) Then
Status.Panels(1).Text = "Mot """ & leMot & """ ajouté au dictionnaire."
Else
' Pas la peine d'écrire un message, le composant s'occupe d'envoyer un
' RaiseEvent pour donner la cause du refus
End If
20 mai 2008 à 08:36
19 mai 2008 à 20:17
avec un menu contextuelle
8 mai 2007 à 15:45
Il te faut cliquer sur "Télécharger le Zip", les sources sont dedans.
8 mai 2007 à 15:32
15 mai 2006 à 18:51
Encore une correction que je n'ai pas faite après ma modif organisationnelle.
Je corrige le zip dans la foulée.
15 mai 2006 à 16:54
@++
15 mai 2006 à 13:27
'SQL = "Delete * From Mots"
par :
Dim nDeleteCount As Long
For ff = 65 To 90
SQL = "Delete From [Mots_" & Chr$(ff) & "]"
maDB.Execute SQL, Nb
nDeleteCount = nDeleteCount + Nb
Next ff
15 mai 2006 à 08:45
J'essaie de tester ton programme, mais jobtiens cette erreur quand je fais la conversion TXT->MDB !
"-2157217865- Le moteur de base de données Microsoft Jet ne peut pas trouver la table ou la requête source 'Mots'.
Asssurez-vous qu'elle existe et qu'elle est correctement orthographiée."
Que dois-je faire pour pouvoir mener à bien cette conversion ?
Merci d'avance
@+
13 mai 2006 à 18:23
Maitrisant mal les bases de données je craignais des données perdues, déplacées ou écrasées j'ai eu des déboires dans un prog perso où des blocs de dizaines de données se trouvaient déplacées à l'ouverture sans raison apparente ; problème jamais résolu alors je manipule les données dans fichier txt mais il devient trop gros ........ en attendant merci pour la reponse
JMB
13 mai 2006 à 17:16
En fait, au début, tous les mots se trouvaient dans une seule table et j'ai modifié la structure après, pensant que ça rendrait plus rapide les recherches. Ca n'a pas changé grand chose. Je mets à jour le Zip.
Une fois cette correction faite, tout fonctionne. Tu as encore une erreur ?
13 mai 2006 à 10:45
J'ai rajouté 2 menus contextuels (Supprimer mot et Ajouter mot)
mais >>>>
dans la Function DB_AjouterMot
>>>>>>>>>>>Signale Erreur : "Mots" non trouvé
'---------------- Ok, on l'insère
SQL = "Insert Into Mots (Mot, Soundex) " & "Values ('" & Texte & "', '" & xDB_SoundEX(Texte) & "')"
>>>>>>>>>>>> Remplacé par
'---------------- Ok, on l'insère
SQL = "Insert Into Mots_" & sLettre & " Values ('" & Texte & "', '" & xDB_SoundEX(Texte) & "')"
>>>>>>>>>> et ça marche.....
Pas assez doué sur les bases alors d'ou vient l'erreur , si tu as une idée à l'occasion
JMB Bonne programmation