vb6 aide à une debutante au bord du gouffre

vb6 aide à une debutante au bord du gouffre - Programmation

Marsh Posté le 17-04-2001 à 11:35:43    

La procedure suivante est cencée recupérer dans plusieurs tables des données et de me les affichées dans une grille tant que les numeros de bl correspondent avec celui qui est affiche ailleurs dans la page.
Je n'arrive pas à la faire marcher il me dit qu'il attend une fin d'instruction après :
 
rc.Open " SELECT TB_ART_TRAVAUX.*, TB_ARTICLES.*, TB_BL.*, TB_CLI.*, TB_TRAVAUX.*"
From TB_ART_TRAVAUX, TB_ARTICLES, TB_BL, TB_CLI, TB_TRAVAUX
WHERE TB_ART_TRAVAUX.IDX_TRAV=TB_TRAVAUX.ID_TRAVAUX And TB_ART_TRAVAUX.REFX_ART=TB_ARTICLES.REF_ART And TB_BL.ID_BL=TB_TRAVAUX.IDX_BL_TRAV And TB_BL.IDX_CLI_BL=TB_CLI.ID_CLI", ct, adOpenDynamic
 
Voici donc la procedure merci d'avance :
 
Private Sub Form_Activate()
Dim ct As ADODB.Connection
Dim rc As ADODB.Recordset
Dim nombase As String
Dim i As Integer, lignes
Set ct = New ADODB.Connection
ct.Provider = "microsoft.jet.oledb.4.0"
nombase = "c:\mes documents\grilli97.mdb"
ct.ConnectionString = nombase
ct.Open
Set rc = New ADODB.Recordset
rc.Open " SELECT TB_ART_TRAVAUX.*, TB_ARTICLES.*, TB_BL.*, TB_CLI.*, TB_TRAVAUX.*"
From TB_ART_TRAVAUX, TB_ARTICLES, TB_BL, TB_CLI, TB_TRAVAUX
WHERE TB_ART_TRAVAUX.IDX_TRAV=TB_TRAVAUX.ID_TRAVAUX And TB_ART_TRAVAUX.REFX_ART=TB_ARTICLES.REF_ART And TB_BL.ID_BL=TB_TRAVAUX.IDX_BL_TRAV And TB_BL.IDX_CLI_BL=TB_CLI.ID_CLI", ct, adOpenDynamic
'je memorise le nombre de lignes renvoyées par le recordset
lignes = rc.Properties.Count
'je place le pointeur au début du recorsetrc.MoveFirst
'nombre de colonnes pour la grilleMSFlexGrid1.Cols = 6
'je modifie la taille des colonnes
MSFlexGrid1.AllowUserResizing = flexResizeColumns
'pas d'entete de lignesMSFlexGrid1.FixedRows = 1
'nombre de lignesMSFlexGrid1.Rows = 10
 
'titre de la permiere colonne
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "Référence"
'titre de la 2eme colone
MSFlexGrid1.Col = 1
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "Désignation"
'titre de la colonne 3
MSFlexGrid1.Col = 2
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "N° lot"
'titre de la colone 4
MSFlexGrid1.Col = 3
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "tarif"
'titre de la colonne 5
MSFlexGrid1.Col = 4
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "Quantité"
'titre de la colonne 6
MSFlexGrid1.Col = 5
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "Remise"
 
'je repete jqa la fin du recordset
Do While rc.EOF Or rc!nobl <> txtFields.DataField
'pour chaque ligne
MSFlexGrid1.Row = i + 1
'pour la première colone
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = rc!Référence
'pour la colonne 2
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = rc!designation
'pour la colonne 3
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = rc!nolot
'pour la colonne 4
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = rc!tarif
'pour la colonne 5
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = rc!quantite
'pour la colonne 6
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = rc!remise
'je passe à l'enregistrement suivant
rc.MoveNext
'j'incremente le pointeur de lignes
i = i + 1
'retour au debut de la boucle
Loop
End Sub

Reply

Marsh Posté le 17-04-2001 à 11:35:43   

Reply

Marsh Posté le 17-04-2001 à 11:42:00    

Je te conseille de vérifier les guillemets qui me paraissent tout à fait bizarre au niveau de l'emplacement (notamment pour la partie écrite en bleue qui me semble être la clé du problème...


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

Marsh Posté le 17-04-2001 à 11:43:10    

a l'aide mon projet n'avance pas
j'ai vraiment besoin l'aide d'un pro

Reply

Marsh Posté le 17-04-2001 à 11:44:06    

Sympa pour moi :(


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

Marsh Posté le 17-04-2001 à 11:47:07    

rc.Open c'est pas un appel de fct ?
Y a pas besoins de parentheses ?
rc.Open(" Bla bla SQL WHERE bibule AND machin chouette", ct, adOpenDynamic)
m'fin moi, vb,...

Reply

Marsh Posté le 17-04-2001 à 11:48:54    

pourtant ils sont comme çà dans le bouquin où j'ai trouver une procedure similaire
j'ai deplacer les derniers en les mettant à la fin  
toujours la meme reponse

Reply

Marsh Posté le 17-04-2001 à 11:48:56    

J'ai rien dit : les appels de fonctions nécessitent des parenthèses uniquement quand les fonctions rendent qch, ce qui n'est pas le cas ici !

 

[edit]--Message édité par Kekman--[/edit]


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

Marsh Posté le 17-04-2001 à 11:51:54    

J'ai trouvé ton pb :
 
rc.Open " SELECT TB_ART_TRAVAUX.*, TB_ARTICLES.*, TB_BL.*, TB_CLI.*, TB_TRAVAUX.* <= pas de guillemets ici !
From TB_ART_TRAVAUX, TB_ARTICLES, TB_BL, TB_CLI, TB_TRAVAUX  
WHERE TB_ART_TRAVAUX.IDX_TRAV=TB_TRAVAUX.ID_TRAVAUX And TB_ART_TRAVAUX.REFX_ART=TB_ARTICLES.REF_ART And TB_BL.ID_BL=TB_TRAVAUX.IDX_BL_TRAV And TB_BL.IDX_CLI_BL=TB_CLI.ID_CLI", ct, adOpenDynamic


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

Marsh Posté le 17-04-2001 à 11:52:11    

Essaye ceci :
 
rc.Open "SELECT TB_ART_TRAVAUX.*, TB_ARTICLES.*, TB_BL.*, TB_CLI.*, TB_TRAVAUX.*"  
From TB_ART_TRAVAUX, TB_ARTICLES, TB_BL, TB_CLI, TB_TRAVAUX  
WHERE TB_ART_TRAVAUX.IDX_TRAV=TB_TRAVAUX.ID_TRAVAUX And TB_ART_TRAVAUX.REFX_ART=TB_ARTICLES.REF_ART And TB_BL.ID_BL=TB_TRAVAUX.IDX_BL_TRAV And TB_BL.IDX_CLI_BL=TB_CLI.ID_CLI", ct, adOpenDynamic, adLockOptimistic, adCmdText

Reply

Marsh Posté le 17-04-2001 à 11:52:25    

Comme dirait la ptite musique des "Chiffres et des lettres", le compte est bon !


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

Marsh Posté le 17-04-2001 à 11:52:25   

Reply

Marsh Posté le 17-04-2001 à 11:53:17    

Je confirme mon hypothèse moa ! Le guillemet est le pb !


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

Marsh Posté le 17-04-2001 à 11:58:38    

en effet le guillemet doit etre le probleme  
vb me rajoute automatiquement le guillemet avant le from rien a faire pour l'enlever

Reply

Marsh Posté le 17-04-2001 à 11:58:53    

Oui, Kekman c clair ke les " sont de trop

Reply

Marsh Posté le 17-04-2001 à 12:00:46    

Si tu veux écrire ta clause sur plusieurs ligne c comme ça :
 
rc.Open "SELECT TB_ART_TRAVAUX.*, TB_ARTICLES.*, TB_BL.*, TB_CLI.*, TB_TRAVAUX.*" & _  
"From TB_ART_TRAVAUX, TB_ARTICLES, TB_BL, TB_CLI, TB_TRAVAUX  
WHERE TB_ART_TRAVAUX.IDX_TRAV=TB_TRAVAUX.ID_TRAVAUX And TB_ART_TRAVAUX.REFX_ART=TB_ARTICLES.REF_ART And TB_BL.ID_BL=TB_TRAVAUX.IDX_BL_TRAV And TB_BL.IDX_CLI_BL=TB_CLI.ID_CLI", ct, adOpenDynamic, adLockOptimistic, adCmdText

Reply

Marsh Posté le 17-04-2001 à 12:04:21    

Yep : tout à fait d'accord avec toi Bendes...


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

Marsh Posté le 17-04-2001 à 12:04:28    

Le coup du "&" semblait pas mal mais ne marche pas

Reply

Marsh Posté le 17-04-2001 à 12:07:53    

"phrase1[espace]"[espace]_
& "phrase2[espace]"[espace]_
& "phrase3"

Reply

Marsh Posté le 17-04-2001 à 12:12:40    

non n' y arrive toujours pas tant pis je vais chercher un fusil!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Reply

Marsh Posté le 17-04-2001 à 12:17:47    

sinon par quel autre moyen je pourrais réussir à faire ce que je voulais faire au début c'est à dire :
afficher des donner dans une grille tant que les numeros de bl sont identiques

Reply

Sujets relatifs:

Leave a Replay

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