Bonjour,

j'essaie depuis qq jours de trouver une solution a mon pb, mais rien....

je veux recuperer les donnees d'une base access dans un dataset et une datagrid. jusque la pas de probleme.
voir code a la fin

Mais ce que je veux, c 'est afficher des requetes variables a la demande, pouvoir modifier les donnees dans le datagrid, et mettre a jour avec un update la base access.

Créer la requete de l'update n 'est pas un probleme, la question est comment gérer l'update, c'est a dire la descente d'infos de la datagrid vers le dataset et le data adapter ?

Je sais que Visual Studio génere automatiquement le codage, mais les requetes sont fixes, ou paramétrées. Moi, je vais effectuer des requetes dynamiques, c 'est a dire que les parametres peuvent passer de 1 a plusieurs

ex requete 1
SELECT date, nom, valeur FROM table WHERE (valeur => '100')
j affiche, je modifie, j envoie dans la base
puis dans la userform, je mets de nouveaux parametres
SELECT date, nom, valeur, type FROM table WHERE (valeur <> '100') AND (type = 'A')
j affiche le resultat dans le meme datagrid, puis je modifie, j'envoie dans la base.......et ainsi de suite





Code : 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim cn As Odbc.OdbcConnection
 
        Dim connectionString As String = "Dsn=mydatabase;dbq=C:\mabase.mdb;driverid=25;fil=MS Access;maxbuffersize=2048;pagetimeout=5;uid=admin"
 
 
        cn = New Odbc.OdbcConnection(connectionString)
 
        cn.Open()
 
        Dim cmd As New Odbc.OdbcCommand("select * from matable", cn)
 
        Me.dataAdapter = New Odbc.OdbcDataAdapter(cmd)
 
        ' With dataGridView1.ColumnHeadersDefaultCellStyle
 
        With DataGridView1
 
            .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
 
            .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
 
            .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
 
        End With
 
        Dim commandBuilder As New Odbc.OdbcCommandBuilder(Me.dataAdapter)
 
        Dim table As New DataTable()
 
        table.Locale = System.Globalization.CultureInfo.InvariantCulture
 
        Me.dataAdapter.Fill(table)
 
        Me.bindingSource1.DataSource = table
 
        Me.DataGridView1.DataSource = Me.bindingSource1
 
        Me.DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Aqua
 
        Me.DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
 
        Dim data As New DataSet()
 
        data.Locale = System.Globalization.CultureInfo.InvariantCulture
 
    End Sub