Bonjour à tous,

Je sollicite votre aide car je suis total débutant sur la gestion de base de donnée avec C#. Je développe un application qui travaillera avec une DB .accdb

Dans ma forme j'ai un datagridview (dataGridView1) qui je veux alimenter à partir des infos de ma DB. Cette derniere à cette structure (voir fichier joint)

Nom : Capture.PNG
Affichages : 385
Taille : 21,9 Ko

Pour m'y connecter j'utilise le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
static readonly string AppPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
static readonly string DbPath = Path.Combine(AppPath, "IndikoCB.accdb");
static readonly string DbConnString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + DbPath + "';Persist Security Info=False;";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
OleDbConnection con = new OleDbConnection(DbConnString);
Mon souci est je souhaiterai récupérer dans mon dataset des infos provenant des différentes tables et sous conditions:
- récupérer les noms de paramètres de la table TblParam.ParamName ayant le TblParam.Enable de coché (checkbox).
- pour ces noms, récupérer du la table TblSerial les champs .LotNumber, .ExpiryDate, .Sequence et .CreatingDate

De plus sur cette form, en plus du dataGridView1, j'ai deux combobox (Combobox1 et Combobox2) que je souhaiterai utiliser en cascade pour filtrer l'affichage dans le datagridviw1.

la combobox1 permettrait de selectionner le ParamName, et la combobox2 permettrait de de sélectionner le LotNumber en fonction de la sélection de la combobox1.

Et ça je ne sais pas comment faire....

Dans un premier temps j'ai testé çà pour remplir mon dataset:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
OleDbConnection con = new OleDbConnection(DbConnString);
            OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM TblParam INNER JOIN ParamName ON (TblParam.Id=TblSerial.Param_ID)" , con);
            DataSet dtSet = new DataSet();
            con.Open();
            da.Fill(dtSet, "Serial");
            con.Close();  
 
            dataGridView1.DataSource = dtSet.Tables["Serial"];
mais j'ai une erreur sur la fonction JOIN...

Merci pour votre aide.