Merci d'avoir repondu mai sca marche toujours pas!!
Est ce que tu peut ma faire un coller du code modifié par ce que il me semble que je me trompe!!
Merci
Version imprimable
Merci d'avoir repondu mai sca marche toujours pas!!
Est ce que tu peut ma faire un coller du code modifié par ce que il me semble que je me trompe!!
Merci
RemplacesparCode:If rsligne_fact_four.RecordCount = 0 Then
je me demande comment vous arrivez à vous y retrouver dans cette discution ;)Code:If rsligne_fact_four.EOF = True Then
Salut ProgElecT,
j'ai essayé mais ca marche pas encore!!
Merci
Salut,
Voici ce que je pense que tu devrai avoir comme code :
Je pense que ça devrai marché....Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 Dim rsfact_four As ADODB.Recordset Dim rsligne_fact_four As ADODB.Recordset Dim cn As ADODB.Connection Dim i As Integer g.FixedRows = 1 g.Rows = 2 Set cn = New ADODB.Connection cn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Documents and Settings\Administrateur.INTERNET\Bureau\ma_base.MDB;" cn.Open Set rsligne_fact_four = New ADODB.Recordset Call rsligne_fact_four.Open("Select * from ligne_facture_four where code_article='" & Combo1.Text & "'", cn, 1, 2) If rsligne_fact_four.RecordCount = 0 Then MsgBox "pas de facture contenant cet article!!" Exit Sub Else rsligne_fact_four.MoveFirst While rsligne_fact_four.EOF = False Set rsfact_four = New ADODB.Recordset Call rsfact_four.Open(" select * from Facture_four where Facture_four.N°facture= " & rsligne_fact_four("code_article"), cn, 1, 2) '***Ajout Coin**** If not rsfact_four.MoveFirst.EOF then '***Fin Ajout Coin**** '********************* l'erreur ce produit ICI ************** rsfact_four.MoveFirst '********************************************************** While rsfact_four.EOF = False With g i = .Rows - 1 .Rows = .Rows + 1 .TextMatrix(i, 0) = rsligne_fact_four.Fields(0) .TextMatrix(i, 1) = rsligne_fact_four.Fields(1) .TextMatrix(i, 2) = rsfact_four.Fields(1) .TextMatrix(i, 3) = rsfact_four.Fields(2) .TextMatrix(i, 4) = rsligne_fact_four.Fields(4) .TextMatrix(i, 5) = rsligne_fact_four.Fields(5) End With rsfact_four.MoveNext Wend '***Ajout Coin**** END IF '***Fin Ajout Coin* rsligne_fact_four.MoveNext Wend g.Refresh cn.Close End If End Sub
J'ai fait 2 ajouts de lignes (entre les balises ***Ajout Coin***).
COin.
Salut COin,
j'ai essayé mais cette fois ci j'ai recu une nouvelle erreur:
Function ou variable attendue.
L'erreur arrive sur If Not rsfact_four.MoveFirst.EOF Then
Merci
:oops:
Erreur d'un copier collé : Remplace la ligne en erreur par :
Désolé j'avais laissé le MoveFirst dans le iF....Code:If not rsfact_four.EOF then
Coin.
Salut Coin,
Je pense que ton code est trés proche car je ne recois plus de message d'ereur, mais rien ne s'affiche non plus:oops:!!
Merci
ça aussi je crois que c'est moyen:
à remplacer par :Code:Call rsfact_four.Open(" select * from Facture_four where Facture_four.N°facture= " & rsligne_fact_four("code_article"), cn, 1, 2)
Par contre je ne sais pas si ça faire avancer le problème.Code:Call rsfact_four.Open(" select * from Facture_four where Facture_four.N°facture= " & rsligne_fact_four.fields("code_article"), cn, 1, 2)
Coin.
non malheureusement ca avance pas!!
Avec cette ligne
Tu demandes toutes les lignes de factures dont le code article est egal au combo1.Code:"Select * from ligne_facture_four where code_article='" & Combo1.Text & "' "
Avec celle ci
Tu demandes toutes les entetes de factures dont le numéro de facture est egale au Code Article trouvé dans la requete précédenteCode:" select * from Facture_four where Facture_four.N°facture= " & rsligne_fact_four("code_article")
Je trouve çà particulièrement bizare. Tu n'aurais pas , dans ta table des lignes de facture, un champs qui correspondrait au numéro de la facture ?
Si c'est le cas, il est possible avec une requete sql, de demander toutes les factures dont les lignes ont un code article précis.
Code:
1
2
3
4 Sql = "Select * from facture_four " & _ "Inner Join ligne_facture_four " _ " On facture_four.[N°facture] = ligne_facture_four.N°facture " & _ "Where ligne_facture_four.code_article='" & Combo1.Text & "' "
Salut Delbeke ,
Oui tu as raison!! mais cette requete SQL est ce que je dois pas l'associer à l'evénement Open d'un Recordset des deux, sinon comment dois_je afficher les donnees dans la grille?
Merci
Salut,
J'ai mis le code suivant :
Mais je ne sais pas pourquoi je recois l'erreur d'execution suivante:Code:
1
2
3
4 rslin_bn_benif.Open "Select * from ligne_bncmmde_bnif " & _ "Inner Join Bon_commde_benif " & _ "On ligne_bncmmde_bnif.numeroBC = " & rsbn_benif!numeroBC & " " & _ "Where ligne_bncmmde_bnif.code_article='" & Combo1.Text & "' ", cn, 1, 2
Expression de jointure non supportée!!
Un petit :f1: sur inner join te fera le plus grand bien
Bah c'est la meme chose que ce qui est indiqué!! Pourtant j'ai pas pu détecter la cause de l'erreur:oops:!!
un inner join n'est pas une clause where mais une instruction liant deux tables.
Les deux tables ont un champs commun, c'est ce champs qui sert de jointure.
Le nom des champs doit apparaitre dans la clause inner join
Code:
1
2
3
4 Sql ="Select * from ligne_bncmmde_bnif " & _ "Inner Join Bon_commde_benif " & _ "On ligne_bncmmde_bnif.numeroBC = Bon_commde_benif.numeroBC " & _ "Where ligne_bncmmde_bnif.code_article='" & Combo1.Text & "'
Salut,
il se peut que je me trompe, mais je pense comme ca il m'affichera tout les bon de commande et non pas seulement ceux de la premiére requete(sur lesquels la condition 1 est vraie)??
merci
Heu, pas besoin d'une première requete.
Cette requette renvoie tous les bons de bommandes qui ont au moins un article Combo1.Text dans leur corps.
Cette requete ne renvoie pas les lignes articles dont on a que faire.
Salut Delbeke,
Ce que je cherche par cette requete c'est d'afficher les bons de commande contenant un article précis pendant une période précise, c-à-d que deux conditions doivent etre appliquée (chacune sur un Recordset des deux sachant que la date existe unique dans le premier recordset!!)
Voila le code que j'ai utilisé moi:
En utilisant la requete que tu m'a proposé , je pense que la conndition de la date ne sera pas appliquée!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Set rsbn_benif = New ADODB.Recordset rsbn_benif.Open "Select * from Bon_commde_benif where Bon_commde_benif.date >=#" & DTPicker1(0).Value & " #AND " & _ "Bon_commde_benif.date <=#" & DTPicker1(1).Value & "#", cn, 1, 2 If rsbn_benif.RecordCount = 0 Then MsgBox "pas de commande saisie entre ces dates" Exit Sub Else rsbn_benif.MoveFirst While rsbn_benif.EOF = False Set rslin_bn_benif = New ADODB.Recordset Call rslin_bn_benif.Open("SELECT * FROM ligne_bncmmde_bnif " & _ "WHERE ligne_bncmmde_bnif.numeroBC = " & rsbn_benif!numeroBC & " " & _ '"AND ligne_bncmmde_bnif.code_article = '" & Combo1.Text & "'", cn, 1, 2)
Merci
Ce que je pense, moi, c'est que tu cherches un code à coller dans ton source, sans même chercher à comprendre. Ca marche ou pas, c'est ton seul critère semble t'il. Ici on essaye plutot à te faire comprendre commebnt çà marche. Une fois que tu as compris, libre à toi d'adapter l'info à ton cas.
Tiens , je suis bon prince
Code:
1
2
3
4
5
6
7 Sql ="Select * from ligne_bncmmde_bnif " & _ "Inner Join Bon_commde_benif " & _ "On ligne_bncmmde_bnif.numeroBC = Bon_commde_benif.numeroBC " & _ "Where ligne_bncmmde_bnif.code_article='" & Combo1.Text & "' And " & _ "Bon_commde_benif " & _ "between #" & format(DTPicker1(0).Value,"mm/dd/yyyy") & "# " & _ " and #" & format(DTPicker1(1).Value,"mm/dd/yyyy") & "#"
je t'assure que tu te trompe!!! et que cela fait un mois que je suis entrain de chercher une solution!