[VB6] DataGrid et DataList

DataGrid et DataList [VB6] - Programmation

Marsh Posté le 12-04-2001 à 10:04:46    

Bonjour
j'essai de faire l'exercice :
Creation d'un controle DataGrid lie a un controle DataList
 
et ca marche pas
 
voici le code
Private Sub Datalist1_Click()
 
Dim strQ As String
strQ= "Select * From Produits WHERE N fournisseur = "& _ Datalist1.BoundText
 
With adoProducts
 .RecordSource = strQ
 .Refresh
End With
 
With DataGrid1
 .ClearFields
 .ReBind
End With
End Sub
 
Lorsque je lance le prog j'ai droit a :"Aucune valeur donnee pour un ou plusieurs des parametres requis
 
si je remplace DataList1.BoundText par une valeur, la ca marche !
la cmd devient donc :
strQ= "Select * From Produits WHERE N fournisseur = '5'"
 
Je comprends pas d'ou vient l'erreur  
Merci pour votre aide

Reply

Marsh Posté le 12-04-2001 à 10:04:46   

Reply

Marsh Posté le 12-04-2001 à 15:07:09    

Au secours !

Reply

Marsh Posté le 13-04-2001 à 07:51:45    

A l'aide
je suis bloque pour mon projet !

Reply

Marsh Posté le 13-04-2001 à 09:26:50    

Pour pouvoir t'aider j'ai plusieurs questions...
 
- N fournisseur ?? c'est un champs texte ou numérique
- Que veux-tu que la propriété "BoundText" te renvoi ??

Reply

Marsh Posté le 13-04-2001 à 09:33:49    

Je fait l'exercice  
Creation d'un controle DataGrid lie a un controle DataList  
avec la BDD Nwind livre avec Vb
 
N fournisseur : champs numerique sur la BDD
BoundText renvoi la valeur N fournisseur

Reply

Marsh Posté le 13-04-2001 à 09:49:58    

Voila ce que je te propose :
 
Private Sub Form_Load()
' Ceci tu le faire directement lors du design dans les propriétés de la DataList
DataList1.BoundText = "N fournisseur"
EndSub
 
Private Sub Datalist1_Click()  
With ado_Lié_à_ta_DataGrid
.RecordSource = "Select * From Produits WHERE N fournisseur = " & Datalist1.BoundText  
.Refresh  
End With

Reply

Marsh Posté le 13-04-2001 à 09:56:25    

Je vais essayer et je te tient au courant
 
Tu ne connaitrais pas un bon bouquin tRaitant de vb et des ADO?
 
Merci

Reply

Marsh Posté le 17-04-2001 à 09:13:46    

Bon bein ca marche pas , j'ai droit a :
 
Erreur de syntaxe dans l'expression 'N fournisseur =19'
 
A l'aide

Reply

Marsh Posté le 17-04-2001 à 09:24:19    

A part l'erreur de syntaxe, dans l'ensemble c'est ce à quoi tu voulais arriver ??
 
L'erreur de syntaxe n'est qu'une question de vérification...

Reply

Marsh Posté le 17-04-2001 à 09:51:19    

Ca y 'est pour les donnees numeriques il faut ecrire
 
"Select * From Produits Where [Produits]![N fournisseur]="& Datalist1.BoundText
 
Par contre si je fait une recherche avec du texte je n'ai pas trouver la syntaxe

Reply

Marsh Posté le 17-04-2001 à 09:51:19   

Reply

Marsh Posté le 17-04-2001 à 09:54:55    

Numérique : Select * From Produits Where [N fournisseur]="& Datalist1.BoundText
 
Alphanumérique : Select * From Produits Where [N fournisseur]='"& Datalist1.BoundText&"'" (tu rajoute des simples quotes...)

Reply

Marsh Posté le 17-04-2001 à 10:07:09    

Pour l'alphanumerique si j'ecrit :
 
"Select * From Produits Where [N fournisseur]='"&Datalist1.BoundText&"'"
 
il me met Erreur de compilation Attendu Fin d'instruction !

Reply

Marsh Posté le 17-04-2001 à 10:26:32    

A p.... d'espace il faut ecrire :
 
"Select * From Produits Where [N fournisseur]='" & Datalist1.BoundText & "'"
 
Merci Bendes je vais pouvoir un peu avancer dans mon projet !
 
Tu as une info pour un bon bouquin ?

Reply

Marsh Posté le 17-04-2001 à 10:41:59    

Excuse pour les espaces CT logique, j'pensais ke tu savais et normalement l'éditeur doit le faire de lui-même ou du moins te prévenir...
 
Je n'ai jamais utilisé de bouquin tj l'aide en line -> je n'ai pas de référence

Reply

Marsh Posté le 17-04-2001 à 10:48:50    

Bein pour les espaces je debute alors...
et l'editeur et un peu flou en plus l'aide en ligne a des erreurs
comme indique en haut du topic...
 
strQ= "Select * From Produits WHERE N fournisseur = "&  Datalist1.BoundText
 
il proposes un espace apres  = alors qu'il n'en faut pas ...
 
En tout cas je te remercie pour ton aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed