Hello,
Voilà, je suis en train d'écrire un code qui :
-Créé une table à partir d'une requête,
-Affiche cette table dans un DataGrid
-Créé une table à partir d'une requête qui s'apuie sur la première table
-Affiche cette table dans un DataGrid
......
Entre chaque étape je veux afficher une MsgBox qui demande à l'utilisateur s'il veut continuer.
Mon code fonctionne pour ce qui est des requêtes, mais ne m'affiche pas le contenu du DataGrid entre chaque étape.
Si je mets
MessagePourNiveau_2()
à la suite
dans
PrivateSub AnalyseImpact1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.LoadCreationNiveau1()
AfficheNiveau1()
EndSubAlors je vois mon MsgBox avant de voir le premier contenu de mon DataGrid.
Pouvez-vous m'aider ? Merci.
Voici le code complet pour l'instant :
Imports
SystemImports
System.DataImports
System.Data.OleDbPublic
Class AnalyseImpact1Dim Connexion AsStringDim ConnexionOLE AsNew OleDbConnection()Dim da As OleDbDataAdapterDim db As OleDbDataAdapterDim ds As DataSetDim dv As DataViewDim cb As OleDbCommandBuilderDim param AsStringPrivateSub AnalyseImpact1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.LoadCreationNiveau1()
AfficheNiveau1()
EndSubPublicSub CreationNiveau1()Connexion =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source" & _" =c:\\Adfs\dfs\Partage\Data Manager\ARTICLES\Articles.mdb"ConnexionOLE.ConnectionString = Connexion
Dim param AsStringDim RequeteSQL AsStringparam = InputBox(
"Saisir le code à analyser :" & vbCrLf & "Pour tous les codes, " & _"taper exactement" & vbCrLf & "les quatre caractères suivants : 'or'")RequeteSQL =
"SELECT DISTINCT " & _" ARTICLE.ART_CODE AS CODE_ART_FILS, ARTICLE.ART_INTITULE AS INT_ART_FILS, ARTICLE_1.ART_CODE AS CODE_ART_NIV_1, " & _" ARTICLE_1.ART_INTITULE AS INT_ART_NIV_1 " & _" INTO NIVEAU_1 " & _" FROM " & _" ((((MAP_ARTICLE_GAMME RIGHT OUTER JOIN " & _" HISTORIQUE_NOMENCLATURE ON MAP_ARTICLE_GAMME.MAG_NUMERO_GAMME = " & _" HISTORIQUE_NOMENCLATURE.HN_NUMERO_GAMME AND MAP_ARTICLE_GAMME.MAG_NUMERO_ARTICLE = " & _" HISTORIQUE_NOMENCLATURE.HN_NUMERO_ARTICLE) RIGHT OUTER JOIN NOMENCLATURE_GAMME ON " & _" HISTORIQUE_NOMENCLATURE.HN_NUMERO_GAMME = NOMENCLATURE_GAMME.NO_NUMERO_GAMME AND " & _" HISTORIQUE_NOMENCLATURE.HN_NUMERO_ARTICLE = NOMENCLATURE_GAMME.NO_NUMERO_ARTICLE_PERE AND " & _" HISTORIQUE_NOMENCLATURE.HN_NUMERO = NOMENCLATURE_GAMME.NO_NUMERO_HISTO) RIGHT OUTER JOIN " & _" ARTICLE ON NOMENCLATURE_GAMME.NO_NUMERO_ARTICLE_FILS = ARTICLE.ART_NUMERO) LEFT OUTER JOIN " & _" ARTICLE ARTICLE_1 ON MAP_ARTICLE_GAMME.MAG_NUMERO_ARTICLE = ARTICLE_1.ART_NUMERO) " & _" WHERE " & _" (HISTORIQUE_NOMENCLATURE.HN_ACTIF = 1 OR " & _" HISTORIQUE_NOMENCLATURE.HN_ACTIF IS NULL) AND " & _" (HISTORIQUE_NOMENCLATURE.HN_DATE_DESACTIVATION = #1/1/1900# OR " & _" HISTORIQUE_NOMENCLATURE.HN_DATE_DESACTIVATION IS NULL) AND " & _" (MAP_ARTICLE_GAMME.MAG_DATE_DESACTIVATION = #1/1/1900# OR " & _" MAP_ARTICLE_GAMME.MAG_DATE_DESACTIVATION IS NULL) AND " & _" (NOT (ARTICLE_1.ART_CODE LIKE ARTICLE.ART_CODE) OR " & _" ARTICLE_1.ART_CODE IS NULL) AND (ARTICLE.ART_CODE = '" & param & "') " & _" ORDER BY " & _" ARTICLE.ART_CODE, ARTICLE_1.ART_CODE"da =
New OleDbDataAdapter(RequeteSQL, ConnexionOLE)ds =
New DataSet()da.Fill(ds,
"mytable")EndSubPublicSub AfficheNiveau1()Connexion =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source" & _" =c:\\Adfs\dfs\Partage\Data Manager\ARTICLES\Articles.mdb"ConnexionOLE.ConnectionString = Connexion
Dim RequeteSQL AsStringRequeteSQL =
"Select * FROM NIVEAU_1"da =
New OleDbDataAdapter(RequeteSQL, ConnexionOLE)ds =
New DataSet()da.Fill(ds,
"mytable")dv = ds.Tables(
"mytable").DefaultViewDataGridView1.DataSource = dv
dv.AllowEdit =
TrueDataGridView1.Visible =
TrueEndSubPrivateSub MessagePourNiveau_2()Dim msg AsStringDim title AsStringDim style As MsgBoxStyleDim response As MsgBoxResultmsg =
"ajouter un niveau ?"style = MsgBoxStyle.DefaultButton2
Or _MsgBoxStyle.Question
Or MsgBoxStyle.YesNotitle =
"Continuer"response = MsgBox(msg, style, title)
If response = MsgBoxResult.Yes ThenCreationNiveau2()
Else : AfficheNiveau1()EndIfEndSubPublicSub CreationNiveau2()Connexion =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source" & _" =c:\\Adfs\dfs\Partage\Data Manager\ARTICLES\Articles.mdb"ConnexionOLE.ConnectionString = Connexion
Dim RequeteSQL AsStringRequeteSQL =
"SELECT DISTINCT " & _" NIVEAU_1.CODE_ART_FILS, NIVEAU_1.INT_ART_FILS, NIVEAU_1.CODE_ART_NIV_1, " & _" NIVEAU_1.INT_ART_NIV_1, ARTICLE_1.ART_CODE, ARTICLE_1.ART_INTITULE " & _" INTO NIVEAU_2 " & _"FROM " & _" (((NIVEAU_1 INNER JOIN " & _" ARTICLE ON NIVEAU_1.CODE_ART_NIV_1 = ARTICLE.ART_CODE) LEFT OUTER JOIN " & _" ((MAP_ARTICLE_GAMME RIGHT OUTER JOIN HISTORIQUE_NOMENCLATURE ON " & _" MAP_ARTICLE_GAMME.MAG_NUMERO_GAMME = HISTORIQUE_NOMENCLATURE.HN_NUMERO_GAMME AND " & _" MAP_ARTICLE_GAMME.MAG_NUMERO_ARTICLE = HISTORIQUE_NOMENCLATURE.HN_NUMERO_ARTICLE) " & _" RIGHT OUTER JOIN NOMENCLATURE_GAMME ON HISTORIQUE_NOMENCLATURE.HN_NUMERO_GAMME = " & _" NOMENCLATURE_GAMME.NO_NUMERO_GAMME AND HISTORIQUE_NOMENCLATURE.HN_NUMERO_ARTICLE = " & _" NOMENCLATURE_GAMME.NO_NUMERO_ARTICLE_PERE AND HISTORIQUE_NOMENCLATURE.HN_NUMERO = " & _" NOMENCLATURE_GAMME.NO_NUMERO_HISTO) ON ARTICLE.ART_NUMERO = " & _" NOMENCLATURE_GAMME.NO_NUMERO_ARTICLE_FILS) LEFT OUTER JOIN ARTICLE ARTICLE_1 " & _" ON MAP_ARTICLE_GAMME.MAG_NUMERO_ARTICLE = ARTICLE_1.ART_NUMERO) " & _" WHERE " & _" (HISTORIQUE_NOMENCLATURE.HN_DATE_DESACTIVATION = #1/1/1900# OR " & _" HISTORIQUE_NOMENCLATURE.HN_DATE_DESACTIVATION IS NULL) AND " & _" (HISTORIQUE_NOMENCLATURE.HN_ACTIF = 1 OR HISTORIQUE_NOMENCLATURE.HN_ACTIF IS NULL) " & _" AND (MAP_ARTICLE_GAMME.MAG_DATE_DESACTIVATION = #1/1/1900# OR " & _" MAP_ARTICLE_GAMME.MAG_DATE_DESACTIVATION IS NULL) AND " & _" (NOT (ARTICLE_1.ART_CODE LIKE NIVEAU_1.CODE_ART_NIV_1) OR " & _" ARTICLE_1.ART_CODE IS NULL)"da =
New OleDbDataAdapter(RequeteSQL, ConnexionOLE)ds =
New DataSet()da.Fill(ds,
"mytable")EndSubEnd
ClassMerci.
Guillaume.