Probleme VB Base de Données

Fermé
Cormega92 Messages postés 39 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 mai 2010 - 9 juin 2008 à 16:29
Cormega92 Messages postés 39 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 mai 2010 - 11 juin 2008 à 10:01
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.
A voir également:

10 réponses

Salut

Tu devrai faire un constructeur!!
Et pas tout crée dans ton bouton. voila tour la "gueulante" le prend pas mal.
Dans ce cas il me semble que ce soit une erreur de SQL.
sinon indique nous ton message d'erreur c'est vriment ce qui est important
0
Cormega92 Messages postés 39 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 mai 2010 2
9 juin 2008 à 16:56
Le message d'erreur apparait lorsque j'appuie sur le bouton rechercher il me renvoi sous Visual Studio et m'affiche le message.
Cela vient peut être de ma syntaxe SQL (de la partie écrite en gras) mais j'utilise exactement la même sur un autre bouton ou je fais une recherche sur le nom et l'identifiant des articles avec la meme syntaxe sauf que c'est des textBox alors que la c'est des MaskedTextBox.
0
boris_ Messages postés 56 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 7 août 2008 8
9 juin 2008 à 18:33
Je n'est pas VS sur mon poste en ce moment je testerai demain mais a priori sa doit venir de la chiane de caractere qui doit etre crypte ou un truc comme sa essaye de les remplacer sur par des textbox et sinon je pense que sa c'est la conversion des strings en format date.
0
Cormega92 Messages postés 39 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 mai 2010 2
10 juin 2008 à 14:28
C'est ce que je me disais mais le prbleme c'est que j ai besoin que l'utilisateur rentre obligatoirement des dates de type jj/mm/aaaa car c'est sous cette forme qu'elles sont inscrites dans la BDD et j'ai pas réussi à résoudre cette contrainte avec des textbox.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cormega92 Messages postés 39 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 mai 2010 2
10 juin 2008 à 15:09
Je viens de tester avec des textbox et toujours le meme message, au passage le message pointe sur la ligne:
" 'chargement du DataSet à partir du DataAdapter "
dta.Fill(dts, "Article")
0
Cormega92 Messages postés 39 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 mai 2010 2
10 juin 2008 à 15:37
Je me demande si la raison pour laquelle je ne peut acceder à la table EnteteFacture ne serait pas le fait quelle soit incluse dans les requetes N-0, N-1, N-2 qui sont considérer comme des tables apparemment... mais si tel est le cas comment faire pour y acceder sans devoir modifier toute ma requête (ce n'est pas moi qui ai fait la requête original mais j'ai passé énormément de temps à essayer de l'exploiter pour finalement y arriver dans ma requete de recherche sur les CodeArticle et NomArticle).
0
boris_ Messages postés 56 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 7 août 2008 8
10 juin 2008 à 16:36
Je me demande pourquoi tu n'utiliserai pas des datetimepicker:

Label1.Text = Me.DateTimePicker1.Value.Day & "/" + Me.DateTimePicker1.Value.Month & _
              "/" + Me.DateTimePicker1.Value.Year
0
Cormega92 Messages postés 39 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 mai 2010 2
10 juin 2008 à 16:46
J'ai essayer aussi et ça me fait pareil donc ça vient pas de la maskedtextbox... Je suis en stage et c'est le dernier module à gérer avant de livrer mon projet. Ca fait 3 jours que je suis dessus et je commence à désespérer.... HELP ME PLEASE!!!

Merci à toi Boris de t'occuper de moi.
0
boris_ Messages postés 56 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 7 août 2008 8
10 juin 2008 à 18:31
Si tu veut je peu regarder ton code j'ai un peu de temps ce soir donc donne moi ton @ msn et je le regarde si tu veux
0
Cormega92 Messages postés 39 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 mai 2010 2
11 juin 2008 à 10:01
Désolé je viens seulement d'avoir ton message (je suis rarement connecté après 17h30 pour cause d'Internet qui lag comme pas possible). Voila mon MSN: cor.mega@hotmail.fr. Encore merci.
0