Bonsoir,
Ci dessous mon bout de code.
J'utilise Visual Studio 2010 Express et .net Framework 4.0
=> Le datagrid s'affiche correctement sans filtre :
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part DtgDonnees.DataSource = DtsBase.Tables("D")
=> Par contre, impossible de l'afficher avec un Select
Il n'affiche qu'une ligne : mes champs sont vides ; il ajoute les champs "RowError" : Vide ; "RowState" contient Unchanged ; "Table" : vide ; "HasErrors" : case à cocher non cochée
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part DtgDonnees.DataSource = DtsBase.Tables("D").Select("NoDonnee=1")
* Vu avec Access : la table contient bien un champ pour "NoDonnee=1"
Il ne va pas à la routine d'erreur.
*J'ai essayé avec des filtres sur d'autres champs, l'ajout d'une clé primaire, ... toujours pareil
* J'ai essayé ("[NoDonnee]=1")
*Les données sont bien sélectionnées : la routine suivante me donne les bonnes données :
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 'Dim FoundRows As DataRow() 'FoundRows = DtsBase.Tables("D").Select("NoDonnee=1) 'For i As Integer = 0 To FoundRows.Length - 1 'MsgBox(FoundRows(i)(3)) 'Next
Je ne sais plus quoi faire...
Merci pour votre aide
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 =========================================== Dim StSql As String 'Ouverture de la connection CnxStr = "provider = microsoft.jet.oledb.4.0 ; data source = " & My.Settings.BddChemin & My.Settings.BddNom & ";" Cnx = New OleDbConnection(CnxStr) Cnx.Open() 'Créer le dataset (copie des données en local) DtsBase = New DataSet("Base") '==============Créer la table "Donnees" DtsBase.Tables.Add("D") 'Créer le dataadapter, lien entre la base et le dataset, table "Donnees" StSql = "SELECT Donnee.NoDonnee, Donnee.DateDonnee, Donnee.ConcerneDonnee, Donnee.TexteDonnee, Salarie.NomSalarie FROM Salarie INNER JOIN Donnee ON Salarie.NoSalarie = Donnee.CreateurDonnees;" DtaBase = New OleDbDataAdapter(StSql, Cnx) 'Remplir le dataset Donnees DtaBase.Fill(DtsBase.Tables("D")) 'Remplir le datagrid Donnees avec les données de la table Donnees On Error GoTo truc DtgDonnees.DataSource = DtsBase.Tables("D").Select("NoDonnee=1") .../...
truc:
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox(Err.Description)
Partager