jefftokyo
Messages postés2Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention 5 février 2008
-
4 févr. 2008 à 14:37
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 2012
-
5 févr. 2008 à 15:05
Bonjour. Je me lance dans VB 2005, je suis debutant. Desole si la question est triviale.
Je souhaite effectuer une recherche dans une base de donnees Access.
Je voudrais parametrer le nom de colonne de la table (variable Mode) et la chaine a rechercher dans cette colonne (variable Contenu). J ai cree une fonction pour generer la synthaxe de recherche SQL (MaRecherche).
J ai pense affecter le contenu d un textbox a ma variable Contenu et combobox a ma variable Mode.
Comme je clique sur un bouton "recherche" pour lancer la recherche, dans la subroutine recherchetoolstipbutton, je mets a jour Mode, Contenu et la syntaxe de recherche.
Dans le code du dataset j ai remplace le code de recherche par ma variable form.MaRecherche
Ce qui fonctionne:
- aucun message d erreur
- la table access est bien visualisee
Ce qui ne fonctionne pas
- si je clique sur le bouton recherche, la table est rafraichie avec mode ="chanson" et contenu="petit"
- ca signifie que le programme ne prend en compte que les valeurs initiales de mes variables
- pourtant le msgbox ajoute dans la routine recherchetoolstipbutton indique que ces variables ont bien change et sont egales aux contenus de textbox et combobox
J en conclus que je dois placer la variable MaRecherche (chaine SQL) a un autre endroit.
Mais mon probleme est, a quel endroit?
Merci.
Voici le code de mon formulaire:
Public
Class Playlist
Public Mode
As
String =
"Chanson"
Public Contenu
As
String =
"petit"
Public MaRecherche
As
String = TraductionSQL(Mode, Contenu)
Function TraductionSQL(
ByRef par1
As
String,
ByRef par2
As
String)
Private
Sub RechercheKaraokeToolStripButton_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles RechercheKaraokeToolStripButton.ClickMode = CBRecherche.Text
Catch ex
As System.ExceptionSystem.Windows.Forms.MessageBox.Show(ex.Message)
End
Try
End
Sub
Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs) Handles Retour.ClickTBRecherche.Text "texte à rechercher"CBRecherche.Text
"chanson"
End
Sub
Private
Sub TBRecherche_Click(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles TBRecherche.ClickTBRecherche.Text =
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 5 févr. 2008 à 15:05
Salut,
il ne fallait pas valider ma réponse si ton
problème n' est pas résolu.
En tout cas, si par1 est le nom du champ dans
le quel tu effectues la recherche, mets plutôt ceci:
... & "WHERE Repertoire.Fields(" & par1 &
")" & _
" LIKE '%" & par2 &
"%'"
<hr />
... Il y' en a même qui m' ont vu voler.
<hr />