Probleme VB, ACCESS, SQL

Cormega92 Messages postés 39 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 mai 2010 - 10 juin 2008 à 16:16
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Derniè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.

1 réponse

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
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

Chris...
Web : Firstruner
0
Rejoignez-nous