Cormega92
Messages postés39Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention12 mai 2010
-
10 juin 2008 à 16:16
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 2014
-
11 juin 2008 à 13:00
Bonjour,
j'ai un petit probleme sur un projet VB, mon code est le suivant:
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
cnxstr "provider microsoft.jet.oledb.4.0 ; Data Source = C:\Antoine\VB\Une table test\Une_table\GestC.mdb ;"
cnx = New OleDbConnection
cnx.ConnectionString = cnxstr
cnx.Open()
sql = "SELECT Article.Code, Article.Nom, Article.FINSTOCK AS
FinStock, Article.FRN5 AS Frn, Article.DerPa, Article.ReliquatClient AS
CdeClt, Article.ReliquatFseur AS CdeFour, [N -0
Facture].SommeDeQuantite AS 2008, [N-1 FACTURE].SommeDeQuantite AS
2007, [n-2 FACTURE].SommeDeQuantite AS 2006, Article.Coefficient AS
Coef, Article.StockPhyGen AS [St-phy,], MIN(DateDocument) AS
DatePremierAchat, MAX(DateDocument) AS DateDernierAchat FROM
LigneFactureFournisseur INNER JOIN ((([N-1 FACTURE] RIGHT JOIN Article
ON [N-1 FACTURE].CodeArticle = Article.Code) LEFT JOIN [n-2 FACTURE] ON
Article.Code = [n-2 FACTURE].CodeArticle) LEFT JOIN [N -0 Facture] ON
Article.Code = [N -0 Facture].CodeArticle) ON
LigneFactureFournisseur.CodeArticle = Article.Code WHERE ((EnteteFacture.Date) BETWEEN '%" & MaskedDateDebut.text & "%' AND '%" & MaskedDateFin.text & "%')
GROUP BY Article.Code, Article.Nom, Article.FINSTOCK, Article.FRN5,
Article.DerPa, Article.ReliquatClient, Article.ReliquatFseur, [N -0
Facture].SommeDeQuantite, [N-1 FACTURE].SommeDeQuantite, [n-2
FACTURE].SommeDeQuantite, Article.Coefficient, Article.StockPhyGen,
Article.Sommeil HAVING(((Article.Code) Is Null Or (Article.Code) Is Not
Null) And ((Article.Sommeil) = 0)) ORDER BY Article.Code"
'exécution de la commande(cmd),
'du dataadapter (dta),
'du dataset(dts),
'de la datatable (dtt)
'sql=>cmd=>dta
'cnx=>cmd
'dta=>dts=>dtt
dts = New DataSet
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = cnx
cmdb = New OleDbCommandBuilder(dta)
'chargement du DataSet à partir du DataAdapter
dta.Fill(dts, "Article")
'chargement de la DataTable à partir du DataSet
dtt = dts.Tables("Article")
'affichage des données dans le datagrid
myDataGridView.DataSource = dtt
cnx.Close()
C'est un code que j'utilise ailleurs dans mon code ou seul la ligne
en gras est remplacé par une autre condition et qui marche
parfaitement. Le problème est que lorsque je lance ma recherche e
message d'erreur suivant apparait:"L'exception OleDbException n'a pas
été gérée. Le champ spécifié 'EnteteFacture.Date' peut désigner
plusieurs tables listées dans la clause FROM de votre instruction SQL."
Sinon le programme se compile et ne m'affiche aucune erreur.
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 11 juin 2008 à 13:00
Salut, pour commencer je serais toi je ferais une procedure stockée avec des arguments se sera plus simple à lire et tu pourra directement la tester avant de se lancer dans le codage